Просмотр исходного кода

[libc++] Add a CMake cache for Apple-specific configuration options

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@371638 91177308-0d34-0410-b5e6-96231b3b80d8
Louis Dionne 6 лет назад
Родитель
Сommit
2c8cda3ad5
3 измененных файлов с 25 добавлено и 6 удалено
  1. 15 0
      cmake/caches/Apple.cmake
  2. 5 2
      utils/ci/macos-backdeployment.sh
  3. 5 4
      utils/ci/macos-trunk.sh

+ 15 - 0
cmake/caches/Apple.cmake

@@ -0,0 +1,15 @@
+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 "")

+ 5 - 2
utils/ci/macos-backdeployment.sh

@@ -103,10 +103,13 @@ 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}" \
     -DLLVM_ENABLE_PROJECTS="libcxx;libcxxabi" \
-    -DCMAKE_OSX_ARCHITECTURES="${CMAKE_ARCH_STRING}"
+    -DCMAKE_OSX_ARCHITECTURES="${CMAKE_ARCH_STRING}" \
+    "${MONOREPO_ROOT}/llvm"
 )
 echo "@@@@@@"
 

+ 5 - 4
utils/ci/macos-trunk.sh

@@ -101,16 +101,17 @@ 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 "@@@@@@"