Skip to content

Commit 16d8eff

Browse files
Streamline CMake cache for x64
1 parent 573fb3f commit 16d8eff

File tree

1 file changed

+28
-30
lines changed

1 file changed

+28
-30
lines changed

cmake/caches/Windows-x86_64.cmake

Lines changed: 28 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -27,49 +27,52 @@ set(LLVM_APPEND_VC_REV NO CACHE BOOL "")
2727
set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR YES CACHE BOOL "")
2828
set(LLVM_ENABLE_PYTHON YES CACHE BOOL "")
2929

30-
set(default_targets
31-
x86_64-unknown-windows-msvc
32-
aarch64-unknown-windows-msvc
33-
i686-unknown-windows-msvc)
34-
set(LLVM_RUNTIME_TARGETS ${default_targets} CACHE STRING "")
35-
36-
# Build the android builtins if NDK path is provided.
37-
if(NOT "$ENV{NDKPATH}" STREQUAL "")
38-
list(APPEND default_targets
39-
aarch64-unknown-linux-android
40-
x86_64-unknown-linux-android
41-
i686-unknown-linux-android
42-
armv7-unknown-linux-androideabi)
30+
if("$ENV{NDKPATH}" STREQUAL "")
31+
set(LLVM_RUNTIME_TARGETS
32+
x86_64-unknown-windows-msvc
33+
aarch64-unknown-windows-msvc
34+
i686-unknown-windows-msvc
35+
CACHE STRING "")
36+
else()
37+
# Keep API level in sync with build.ps1
38+
set(CMAKE_ANDROID_API 28 CACHE BOOL "")
39+
set(LLVM_RUNTIME_TARGETS
40+
x86_64-unknown-windows-msvc
41+
aarch64-unknown-windows-msvc
42+
i686-unknown-windows-msvc
43+
x86_64-unknown-linux-android
44+
aarch64-unknown-linux-android
45+
i686-unknown-linux-android
46+
armv7-unknown-linux-androideabi
47+
CACHE STRING "")
4348
endif()
4449

45-
set(LLVM_BUILTIN_TARGETS ${default_targets} CACHE STRING "")
46-
4750
foreach(target ${LLVM_RUNTIME_TARGETS})
48-
set(RUNTIMES_${target}_LLVM_ENABLE_RUNTIMES
49-
compiler-rt
50-
CACHE STRING "")
51+
# We configure all runtimes, but don't build them yet. build.ps1 has a
52+
# separate step for it, because we need a different shell for each target.
5153
set(RUNTIMES_${target}_CMAKE_MT mt CACHE STRING "")
5254
set(RUNTIMES_${target}_CMAKE_SYSTEM_NAME Windows CACHE STRING "")
5355
set(RUNTIMES_${target}_CMAKE_BUILD_TYPE Release CACHE STRING "")
54-
set(RUNTIMES_${target}_COMPILER_RT_BUILD_BUILTINS NO CACHE BOOL "")
5556
set(RUNTIMES_${target}_COMPILER_RT_BUILD_CRT NO CACHE BOOL "")
5657
set(RUNTIMES_${target}_COMPILER_RT_BUILD_LIBFUZZER NO CACHE BOOL "")
5758
set(RUNTIMES_${target}_COMPILER_RT_BUILD_ORC NO CACHE BOOL "")
58-
set(RUNTIMES_${target}_COMPILER_RT_BUILD_PROFILE NO CACHE BOOL "")
5959
set(RUNTIMES_${target}_COMPILER_RT_BUILD_XRAY NO CACHE BOOL "")
60-
# Sanitizers will be configured, but not built. We have separate build
61-
# steps for that, because we need a different shell for each target.
60+
set(RUNTIMES_${target}_COMPILER_RT_BUILD_PROFILE NO CACHE BOOL "")
6261
set(RUNTIMES_${target}_COMPILER_RT_BUILD_SANITIZERS NO CACHE BOOL "")
63-
endforeach()
6462

65-
foreach(target ${LLVM_BUILTIN_TARGETS})
63+
# Configure and build builtins for all targets
6664
set(BUILTINS_${target}_CMAKE_MT mt CACHE STRING "")
65+
set(BUILTINS_${target}_CMAKE_BUILD_TYPE Release CACHE STRING "")
6766
if(${target} MATCHES windows-msvc)
6867
set(BUILTINS_${target}_CMAKE_SYSTEM_NAME Windows CACHE STRING "")
6968
elseif(${target} MATCHES linux-android)
69+
set(BUILTINS_${target}_CMAKE_SYSTEM_NAME Android CACHE STRING "")
70+
set(BUILTINS_${target}_CMAKE_ANDROID_API ${CMAKE_ANDROID_API} CACHE STRING "")
71+
set(BUILTINS_${target}_CMAKE_C_COMPILER_TARGET "${target}${CMAKE_ANDROID_API}" CACHE STRING "")
72+
set(BUILTINS_${target}_CMAKE_CXX_COMPILER_TARGET "${target}${CMAKE_ANDROID_API}" CACHE STRING "")
73+
set(BUILTINS_${target}_CMAKE_ANDROID_NDK $ENV{NDKPATH} CACHE PATH "")
7074
# Use a single 'linux' directory and arch-based lib names on Android.
7175
set(BUILTINS_${target}_LLVM_ENABLE_PER_TARGET_RUNTIME_DIR NO CACHE BOOL "")
72-
set(BUILTINS_${target}_CMAKE_SYSTEM_NAME Android CACHE STRING "")
7376
if(${target} MATCHES aarch64)
7477
set(BUILTINS_${target}_CMAKE_ANDROID_ARCH_ABI arm64-v8a CACHE STRING "")
7578
elseif(${target} MATCHES armv7)
@@ -79,12 +82,7 @@ foreach(target ${LLVM_BUILTIN_TARGETS})
7982
else()
8083
set(BUILTINS_${target}_CMAKE_ANDROID_ARCH_ABI x86_64 CACHE STRING "")
8184
endif()
82-
set(BUILTINS_${target}_CMAKE_ANDROID_NDK $ENV{NDKPATH} CACHE PATH "")
83-
set(BUILTINS_${target}_CMAKE_ANDROID_API 21 CACHE STRING "")
84-
set(BUILTINS_${target}_CMAKE_C_COMPILER_TARGET "${target}21" CACHE STRING "")
85-
set(BUILTINS_${target}_CMAKE_CXX_COMPILER_TARGET "${target}21" CACHE STRING "")
8685
endif()
87-
set(BUILTINS_${target}_CMAKE_BUILD_TYPE Release CACHE STRING "")
8886
endforeach()
8987

9088
set(LLVM_TARGETS_TO_BUILD AArch64 ARM WebAssembly X86 CACHE STRING "")

0 commit comments

Comments
 (0)