summaryrefslogtreecommitdiffstats
path: root/cmake/modules/HandleLLVMOptions.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/modules/HandleLLVMOptions.cmake')
-rw-r--r--cmake/modules/HandleLLVMOptions.cmake19
1 files changed, 5 insertions, 14 deletions
diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake
index 8d9051cfdd7c..d776285b80fe 100644
--- a/cmake/modules/HandleLLVMOptions.cmake
+++ b/cmake/modules/HandleLLVMOptions.cmake
@@ -715,20 +715,11 @@ if(uppercase_LLVM_ENABLE_LTO STREQUAL "THIN")
if(NOT LINKER_IS_LLD_LINK)
append("-flto=thin" CMAKE_EXE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
endif()
- # If the linker supports it, enable the lto cache. This improves initial build
- # time a little since we re-link a lot of the same objects, and significantly
- # improves incremental build time.
- # FIXME: We should move all this logic into the clang driver.
- if(APPLE)
- append("-Wl,-cache_path_lto,${PROJECT_BINARY_DIR}/lto.cache"
- CMAKE_EXE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
- elseif(UNIX AND LLVM_USE_LINKER STREQUAL "lld")
- append("-Wl,--thinlto-cache-dir=${PROJECT_BINARY_DIR}/lto.cache"
- CMAKE_EXE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
- elseif(LLVM_USE_LINKER STREQUAL "gold")
- append("-Wl,--plugin-opt,cache-dir=${PROJECT_BINARY_DIR}/lto.cache"
- CMAKE_EXE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
- endif()
+ # On darwin, enable the lto cache. This improves initial build time a little
+ # since we re-link a lot of the same objects, and significantly improves
+ # incremental build time.
+ append_if(APPLE "-Wl,-cache_path_lto,${PROJECT_BINARY_DIR}/lto.cache"
+ CMAKE_EXE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
elseif(uppercase_LLVM_ENABLE_LTO STREQUAL "FULL")
append("-flto=full" CMAKE_CXX_FLAGS CMAKE_C_FLAGS)
if(NOT LINKER_IS_LLD_LINK)