[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
diff --git a/cmake/caches/Apple.cmake b/cmake/caches/Apple.cmake
new file mode 100644
index 0000000..af4ea2c
--- /dev/null
+++ b/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 "")
diff --git a/utils/ci/macos-backdeployment.sh b/utils/ci/macos-backdeployment.sh
index 0580509..6996af9 100755
--- a/utils/ci/macos-backdeployment.sh
+++ b/utils/ci/macos-backdeployment.sh
@@ -103,10 +103,13 @@
 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 "@@@@@@"
 
diff --git a/utils/ci/macos-trunk.sh b/utils/ci/macos-trunk.sh
index 5f8d499..7a5ee75 100755
--- a/utils/ci/macos-trunk.sh
+++ b/utils/ci/macos-trunk.sh
@@ -101,16 +101,17 @@
 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 "@@@@@@"