From 949bbd0a689286d0b2f73ae4f212673bc0bd688c Mon Sep 17 00:00:00 2001 From: John Ericson Date: Sat, 1 Jan 2022 07:03:31 +0000 Subject: [PATCH] [CMake] Use `LLVM_COMMON_CMAKE_UTILS` in runtimes just for clarity In D116472 we created conditionally defined variables for the tools to unbreak the legacy build where they are in `llvm/tools`. The runtimes are not tools, so that flexibility doesn't matter. Still, it might be nice to define (unconditionally) and use the variable for the runtimes simply to make the code a bit clearer and document what is going on. Also, consistently put project dirs at the beginning, not end of `CMAKE_MODULE_PATH`. This ensures they will properly shadow similarly named stuff that happens to be later on the path. Reviewed By: mstorsjo, #libunwind, #libc, #libc_abi, ldionne Differential Revision: https://reviews.llvm.org/D116477 --- compiler-rt/CMakeLists.txt | 6 ++++-- compiler-rt/lib/builtins/CMakeLists.txt | 16 ++++++++++++---- libcxx/CMakeLists.txt | 9 +++++---- libcxxabi/CMakeLists.txt | 9 +++++---- libunwind/CMakeLists.txt | 9 +++++---- runtimes/CMakeLists.txt | 6 ++++-- 6 files changed, 35 insertions(+), 20 deletions(-) diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt index bcab7e0061084..1e721a046a2f0 100644 --- a/compiler-rt/CMakeLists.txt +++ b/compiler-rt/CMakeLists.txt @@ -12,12 +12,14 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR COMPILER_RT_STANDALONE set_property(GLOBAL PROPERTY USE_FOLDERS ON) endif() +set(LLVM_COMMON_CMAKE_UTILS "${CMAKE_CURRENT_SOURCE_DIR}/../cmake") + # Add path for custom compiler-rt modules. list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_CURRENT_SOURCE_DIR}/cmake" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules" - "${CMAKE_CURRENT_SOURCE_DIR}/../cmake" - "${CMAKE_CURRENT_SOURCE_DIR}/../cmake/Modules" + "${LLVM_COMMON_CMAKE_UTILS}" + "${LLVM_COMMON_CMAKE_UTILS}/Modules" ) if(CMAKE_CONFIGURATION_TYPES) diff --git a/compiler-rt/lib/builtins/CMakeLists.txt b/compiler-rt/lib/builtins/CMakeLists.txt index 2c0477f892355..e2489f1a3ed09 100644 --- a/compiler-rt/lib/builtins/CMakeLists.txt +++ b/compiler-rt/lib/builtins/CMakeLists.txt @@ -9,11 +9,19 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) project(CompilerRTBuiltins C ASM) set(COMPILER_RT_STANDALONE_BUILD TRUE) set(COMPILER_RT_BUILTINS_STANDALONE_BUILD TRUE) + + set(COMPILER_RT_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../..") + + set(LLVM_COMMON_CMAKE_UTILS "${COMPILER_RT_SOURCE_DIR}/../cmake") + + # Add path for custom modules list(INSERT CMAKE_MODULE_PATH 0 - "${CMAKE_SOURCE_DIR}/../../cmake" - "${CMAKE_SOURCE_DIR}/../../cmake/Modules" - "${CMAKE_SOURCE_DIR}/../../../cmake" - "${CMAKE_SOURCE_DIR}/../../../cmake/Modules") + "${COMPILER_RT_SOURCE_DIR}/cmake" + "${COMPILER_RT_SOURCE_DIR}/cmake/Modules" + "${LLVM_COMMON_CMAKE_UTILS}" + "${LLVM_COMMON_CMAKE_UTILS}/Modules" + ) + include(base-config-ix) include(CompilerRTUtils) diff --git a/libcxx/CMakeLists.txt b/libcxx/CMakeLists.txt index 03a6a0781b5af..b0569a4a54caf 100644 --- a/libcxx/CMakeLists.txt +++ b/libcxx/CMakeLists.txt @@ -10,13 +10,14 @@ endif() #=============================================================================== cmake_minimum_required(VERSION 3.13.4) +set(LLVM_COMMON_CMAKE_UTILS "${CMAKE_CURRENT_SOURCE_DIR}/../cmake") + # Add path for custom modules -set(CMAKE_MODULE_PATH +list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_CURRENT_SOURCE_DIR}/cmake" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules" - "${CMAKE_CURRENT_SOURCE_DIR}/../cmake" - "${CMAKE_CURRENT_SOURCE_DIR}/../cmake/Modules" - ${CMAKE_MODULE_PATH} + "${LLVM_COMMON_CMAKE_UTILS}" + "${LLVM_COMMON_CMAKE_UTILS}/Modules" ) set(CMAKE_FOLDER "libc++") diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt index 12bcd2eee0996..858f5d5cfd7f6 100644 --- a/libcxxabi/CMakeLists.txt +++ b/libcxxabi/CMakeLists.txt @@ -10,13 +10,14 @@ endif() cmake_minimum_required(VERSION 3.13.4) +set(LLVM_COMMON_CMAKE_UTILS "${CMAKE_CURRENT_SOURCE_DIR}/../cmake") + # Add path for custom modules -set(CMAKE_MODULE_PATH +list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_CURRENT_SOURCE_DIR}/cmake" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules" - "${CMAKE_CURRENT_SOURCE_DIR}/../cmake" - "${CMAKE_CURRENT_SOURCE_DIR}/../cmake/Modules" - ${CMAKE_MODULE_PATH} + "${LLVM_COMMON_CMAKE_UTILS}" + "${LLVM_COMMON_CMAKE_UTILS}/Modules" ) set(CMAKE_FOLDER "libc++") diff --git a/libunwind/CMakeLists.txt b/libunwind/CMakeLists.txt index eb478e4e7730c..e3cc66dd22267 100644 --- a/libunwind/CMakeLists.txt +++ b/libunwind/CMakeLists.txt @@ -8,13 +8,14 @@ endif() cmake_minimum_required(VERSION 3.13.4) +set(LLVM_COMMON_CMAKE_UTILS "${CMAKE_CURRENT_SOURCE_DIR}/../cmake") + # Add path for custom modules -set(CMAKE_MODULE_PATH +list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_CURRENT_SOURCE_DIR}/cmake" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules" - "${CMAKE_CURRENT_SOURCE_DIR}/../cmake" - "${CMAKE_CURRENT_SOURCE_DIR}/../cmake/Modules" - ${CMAKE_MODULE_PATH} + "${LLVM_COMMON_CMAKE_UTILS}" + "${LLVM_COMMON_CMAKE_UTILS}/Modules" ) set(LIBUNWIND_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/runtimes/CMakeLists.txt b/runtimes/CMakeLists.txt index 8f37d0e59feb2..cedce7b3541e5 100644 --- a/runtimes/CMakeLists.txt +++ b/runtimes/CMakeLists.txt @@ -28,12 +28,14 @@ endfunction() find_package(LLVM PATHS "${LLVM_BINARY_DIR}" NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) find_package(Clang PATHS "${LLVM_BINARY_DIR}" NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) +set(LLVM_COMMON_CMAKE_UTILS "${CMAKE_CURRENT_SOURCE_DIR}/../cmake") + # Add path for custom and the LLVM build's modules to the CMake module path. list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_CURRENT_SOURCE_DIR}/cmake" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules" - "${CMAKE_CURRENT_SOURCE_DIR}/../cmake" - "${CMAKE_CURRENT_SOURCE_DIR}/../cmake/Modules" + "${LLVM_COMMON_CMAKE_UTILS}" + "${LLVM_COMMON_CMAKE_UTILS}/Modules" "${CMAKE_CURRENT_SOURCE_DIR}/../llvm/cmake" "${CMAKE_CURRENT_SOURCE_DIR}/../llvm/cmake/modules" )