[llvm-branch-commits] [lld] 319f4b2 - [lld][clang][cmake] Clean up a few things
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon Feb 7 14:33:09 PST 2022
Author: John Ericson
Date: 2022-02-08T01:29:25+03:00
New Revision: 319f4b2d52e31b000db75a0a2484b5f2ab90534a
URL: https://github.com/llvm/llvm-project/commit/319f4b2d52e31b000db75a0a2484b5f2ab90534a
DIFF: https://github.com/llvm/llvm-project/commit/319f4b2d52e31b000db75a0a2484b5f2ab90534a.diff
LOG: [lld][clang][cmake] Clean up a few things
- If not using `llvm-config`, `LLVM_MAIN_SRC_DIR` now has a sane default
- `LLVM_CONFIG_PATH` will continue to work for LLD for back compat.
- More quoting of paths in an abundance of caution.
Reviewed By: nikic
Differential Revision: https://reviews.llvm.org/D118792
(cherry picked from commit e0eeae9a447004cc346d9bf36c0d02f45e276a7c)
Added:
Modified:
clang/CMakeLists.txt
lld/CMakeLists.txt
Removed:
################################################################################
diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt
index 2bb395ffece53..1cc9bacf4e5eb 100644
--- a/clang/CMakeLists.txt
+++ b/clang/CMakeLists.txt
@@ -71,24 +71,26 @@ if(CLANG_BUILT_STANDALONE)
endif()
find_package(LLVM REQUIRED HINTS "${LLVM_CMAKE_DIR}")
- list(APPEND CMAKE_MODULE_PATH ${LLVM_DIR})
+ list(APPEND CMAKE_MODULE_PATH "${LLVM_DIR}")
# We can't check LLVM_CONFIG here, because find_package(LLVM ...) also sets
# LLVM_CONFIG.
if (NOT LLVM_CONFIG_FOUND)
# Pull values from LLVMConfig.cmake. We can drop this once the llvm-config
# path is removed.
- set(MAIN_INCLUDE_DIR ${LLVM_INCLUDE_DIR})
- set(LLVM_OBJ_DIR ${LLVM_BINARY_DIR})
- set(TOOLS_BINARY_DIR ${LLVM_TOOLS_BINARY_DIR})
- set(LIBRARY_DIR ${LLVM_LIBRARY_DIR})
- endif()
-
- set(LLVM_MAIN_INCLUDE_DIR ${MAIN_INCLUDE_DIR} CACHE PATH "Path to llvm/include")
- set(LLVM_BINARY_DIR ${LLVM_OBJ_ROOT} CACHE PATH "Path to LLVM build tree")
- set(LLVM_MAIN_SRC_DIR ${MAIN_SRC_DIR} CACHE PATH "Path to LLVM source tree")
- set(LLVM_TOOLS_BINARY_DIR ${TOOLS_BINARY_DIR} CACHE PATH "Path to llvm/bin")
- set(LLVM_LIBRARY_DIR ${LIBRARY_DIR} CACHE PATH "Path to llvm/lib")
+ set(MAIN_INCLUDE_DIR "${LLVM_INCLUDE_DIR}")
+ set(LLVM_OBJ_DIR "${LLVM_BINARY_DIR}")
+ # N.B. this is just a default value, the CACHE PATHs below can be overriden.
+ set(MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm")
+ set(TOOLS_BINARY_DIR "${LLVM_TOOLS_BINARY_DIR}")
+ set(LIBRARY_DIR "${LLVM_LIBRARY_DIR}")
+ endif()
+
+ set(LLVM_MAIN_INCLUDE_DIR "${MAIN_INCLUDE_DIR}" CACHE PATH "Path to llvm/include")
+ set(LLVM_BINARY_DIR "${LLVM_OBJ_ROOT}" CACHE PATH "Path to LLVM build tree")
+ set(LLVM_MAIN_SRC_DIR "${MAIN_SRC_DIR}" CACHE PATH "Path to LLVM source tree")
+ set(LLVM_TOOLS_BINARY_DIR "${TOOLS_BINARY_DIR}" CACHE PATH "Path to llvm/bin")
+ set(LLVM_LIBRARY_DIR "${LIBRARY_DIR}" CACHE PATH "Path to llvm/lib")
find_program(LLVM_TABLEGEN_EXE "llvm-tblgen" ${LLVM_TOOLS_BINARY_DIR}
NO_DEFAULT_PATH)
diff --git a/lld/CMakeLists.txt b/lld/CMakeLists.txt
index 1a53c5bf47a8d..9bcc135665d02 100644
--- a/lld/CMakeLists.txt
+++ b/lld/CMakeLists.txt
@@ -15,6 +15,10 @@ if(LLD_BUILT_STANDALONE)
# Rely on llvm-config.
set(LLVM_CONFIG_OUTPUT)
+ if(NOT LLVM_CONFIG)
+ # back compat
+ set(LLVM_CONFIG "${LLVM_CONFIG_PATH}")
+ endif()
if(LLVM_CONFIG)
set (LLVM_CONFIG_FOUND 1)
message(STATUS "Found LLVM_CONFIG as ${LLVM_CONFIG}")
@@ -55,20 +59,22 @@ if(LLD_BUILT_STANDALONE)
endif()
find_package(LLVM REQUIRED HINTS "${LLVM_CMAKE_DIR}")
- list(APPEND CMAKE_MODULE_PATH ${LLVM_DIR})
+ list(APPEND CMAKE_MODULE_PATH "${LLVM_DIR}")
# We can't check LLVM_CONFIG here, because find_package(LLVM ...) also sets
# LLVM_CONFIG.
if (NOT LLVM_CONFIG_FOUND)
# Pull values from LLVMConfig.cmake. We can drop this once the llvm-config
# path is removed.
- set(MAIN_INCLUDE_DIR ${LLVM_INCLUDE_DIR})
- set(LLVM_OBJ_DIR ${LLVM_BINARY_DIR})
+ set(MAIN_INCLUDE_DIR "${LLVM_INCLUDE_DIR}")
+ set(LLVM_OBJ_DIR "${LLVM_BINARY_DIR}")
+ # N.B. this is just a default value, the CACHE PATHs below can be overriden.
+ set(MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm")
endif()
- set(LLVM_MAIN_INCLUDE_DIR ${MAIN_INCLUDE_DIR} CACHE PATH "Path to llvm/include")
- set(LLVM_BINARY_DIR ${LLVM_OBJ_ROOT} CACHE PATH "Path to LLVM build tree")
- set(LLVM_MAIN_SRC_DIR ${MAIN_SRC_DIR} CACHE PATH "Path to LLVM source tree")
+ set(LLVM_MAIN_INCLUDE_DIR "${MAIN_INCLUDE_DIR}" CACHE PATH "Path to llvm/include")
+ set(LLVM_BINARY_DIR "${LLVM_OBJ_ROOT}" CACHE PATH "Path to LLVM build tree")
+ set(LLVM_MAIN_SRC_DIR "${MAIN_SRC_DIR}" CACHE PATH "Path to LLVM source tree")
find_program(LLVM_TABLEGEN_EXE "llvm-tblgen" ${LLVM_TOOLS_BINARY_DIR}
NO_DEFAULT_PATH)
More information about the llvm-branch-commits
mailing list