summaryrefslogtreecommitdiff
path: root/llvm/CMakeLists.txt
diff options
context:
space:
mode:
authorTobias Hieta <tobias@hieta.se>2023-02-13 08:42:04 +0100
committerTobias Hieta <tobias@hieta.se>2023-02-13 08:42:38 +0100
commit0fad18c44a14b909a1aa47165021273d4c10a665 (patch)
treea7308b2e2c4564f5ca1df1e0cb72ad8ddf32aa9f /llvm/CMakeLists.txt
parentae55f1cf9c106db00ecdc08ea9148f8835d2c4af (diff)
downloadllvm-0fad18c44a14b909a1aa47165021273d4c10a665.tar.gz
[CMake] Remove custom ccache CMake logic
CMake supports CMAKE_CXX_COMPILER_LAUNCHER since CMake 3.4 so this custom CMake logic we had in LLVM can now be removed. The only downside with this is that we can't set ccache options from LLVM CMake, but it's arguable that this doesn't belong in LLVM but should be done in a script calling the build. This was discussed in the forums here: https://discourse.llvm.org/t/tips-for-incremental-building/67289/4?u=tobiashieta Reviewed By: phosek Differential Revision: https://reviews.llvm.org/D143468
Diffstat (limited to 'llvm/CMakeLists.txt')
-rw-r--r--llvm/CMakeLists.txt38
1 files changed, 4 insertions, 34 deletions
diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt
index 8e6b738efd7e..5aedf28b0435 100644
--- a/llvm/CMakeLists.txt
+++ b/llvm/CMakeLists.txt
@@ -233,38 +233,8 @@ if (LLVM_ENABLE_PROJECTS_USED OR NOT LLVM_ENABLE_PROJECTS STREQUAL "")
endif()
unset(SHOULD_ENABLE_PROJECT)
-# Build llvm with ccache if the package is present
-set(LLVM_CCACHE_BUILD OFF CACHE BOOL "Set to ON for a ccache enabled build")
-if(LLVM_CCACHE_BUILD)
- find_program(CCACHE_PROGRAM ccache)
- if(CCACHE_PROGRAM)
- set(LLVM_CCACHE_MAXSIZE "" CACHE STRING "Size of ccache")
- set(LLVM_CCACHE_DIR "" CACHE STRING "Directory to keep ccached data")
- set(LLVM_CCACHE_PARAMS "CCACHE_CPP2=yes CCACHE_HASHDIR=yes"
- CACHE STRING "Parameters to pass through to ccache")
-
- if(NOT CMAKE_SYSTEM_NAME MATCHES "Windows")
- set(CCACHE_PROGRAM "${LLVM_CCACHE_PARAMS} ${CCACHE_PROGRAM}")
- if (LLVM_CCACHE_MAXSIZE)
- set(CCACHE_PROGRAM "CCACHE_MAXSIZE=${LLVM_CCACHE_MAXSIZE} ${CCACHE_PROGRAM}")
- endif()
- if (LLVM_CCACHE_DIR)
- set(CCACHE_PROGRAM "CCACHE_DIR=${LLVM_CCACHE_DIR} ${CCACHE_PROGRAM}")
- endif()
- set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ${CCACHE_PROGRAM})
- else()
- if(LLVM_CCACHE_MAXSIZE OR LLVM_CCACHE_DIR OR
- NOT LLVM_CCACHE_PARAMS MATCHES "CCACHE_CPP2=yes CCACHE_HASHDIR=yes")
- message(FATAL_ERROR "Ccache configuration through CMake is not supported on Windows. Please use environment variables.")
- endif()
- # RULE_LAUNCH_COMPILE should work with Ninja but currently has issues
- # with cmd.exe and some MSVC tools other than cl.exe
- set(CMAKE_C_COMPILER_LAUNCHER ${CCACHE_PROGRAM})
- set(CMAKE_CXX_COMPILER_LAUNCHER ${CCACHE_PROGRAM})
- endif()
- else()
- message(FATAL_ERROR "Unable to find the program ccache. Set LLVM_CCACHE_BUILD to OFF")
- endif()
+if(DEFINED LLVM_CCACHE_BUILD)
+ message(FATAL_ERROR "-DLLVM_CACHE_BUILD=ON is deprecated! Use to the following options instead:\n-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache")
endif()
set(LLVM_EXTERNAL_PROJECT_BUILD_TOOL_ARGS "" CACHE STRING
@@ -280,8 +250,8 @@ if(LLVM_DEPENDENCY_DEBUGGING)
if(NOT CMAKE_HOST_APPLE)
message(FATAL_ERROR "Dependency debugging is only currently supported on Darwin hosts.")
endif()
- if(LLVM_CCACHE_BUILD)
- message(FATAL_ERROR "Cannot enable dependency debugging while using ccache.")
+ if(DEFINED CMAKE_CXX_COMPILER_LAUNCHER)
+ message(FATAL_ERROR "Cannot enable dependency debugging while using a compiler launcher like ccache.")
endif()
endif()