--- /dev/null
+set(CMAKE_BUILD_TYPE MinSizeRel CACHE STRING "")
+set(CMAKE_POSITION_INDEPENDENT_CODE OFF CACHE BOOL "")
+
+set(LIBCXX_USE_COMPILER_RT ON CACHE BOOL "")
+set(LIBCXX_ENABLE_ASSERTIONS ON CACHE BOOL "")
+
+set(LIBCXX_ABI_VERSION "1" CACHE STRING "")
+
+set(LIBCXX_ENABLE_EXPERIMENTAL_LIBRARY OFF CACHE BOOL "")
+set(LIBCXX_ENABLE_STATIC OFF CACHE BOOL "")
+
+set(LIBCXX_ENABLE_NEW_DELETE_DEFINITIONS OFF CACHE BOOL "")
+set(LIBCXXABI_ENABLE_NEW_DELETE_DEFINITIONS ON CACHE BOOL "")
+
+set(LIBCXX_HIDE_FROM_ABI_PER_TU_BY_DEFAULT ON CACHE BOOL "")
echo "@@@ Configuring CMake @@@"
mkdir -p "${LLVM_BUILD_DIR}"
(cd "${LLVM_BUILD_DIR}" &&
- xcrun cmake "${MONOREPO_ROOT}/llvm" -GNinja \
+ xcrun cmake \
+ -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Apple.cmake" \
+ -GNinja \
-DCMAKE_INSTALL_PREFIX="${LLVM_INSTALL_DIR}" \
-DLLVM_ENABLE_PROJECTS="libcxx;libcxxabi" \
- -DCMAKE_OSX_ARCHITECTURES="${CMAKE_ARCH_STRING}"
+ -DCMAKE_OSX_ARCHITECTURES="${CMAKE_ARCH_STRING}" \
+ "${MONOREPO_ROOT}/llvm"
)
echo "@@@@@@"
echo "@@@ Configuring CMake @@@"
mkdir -p "${LLVM_BUILD_DIR}"
(cd "${LLVM_BUILD_DIR}" &&
- xcrun cmake "${MONOREPO_ROOT}/llvm" -GNinja \
+ xcrun cmake \
+ -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Apple.cmake" \
+ -GNinja \
-DCMAKE_INSTALL_PREFIX="${LLVM_INSTALL_DIR}" \
-DLIBCXX_ENABLE_EXCEPTIONS="${LIBCXX_EXCEPTIONS}" \
- -DLIBCXX_ENABLE_NEW_DELETE_DEFINITIONS=OFF \
-DLIBCXXABI_ENABLE_EXCEPTIONS=ON \
- -DLIBCXXABI_ENABLE_NEW_DELETE_DEFINITIONS=ON \
${ADDITIONAL_CMAKE_ARGS} \
-DLLVM_LIT_ARGS="${LIT_FLAGS}" \
-DLLVM_ENABLE_PROJECTS="libcxx;libcxxabi" \
- -DCMAKE_OSX_ARCHITECTURES="i386;x86_64" # Build a universal dylib
+ -DCMAKE_OSX_ARCHITECTURES="i386;x86_64" \
+ "${MONOREPO_ROOT}/llvm"
)
echo "@@@@@@"