[llvm] 2ac7b14 - [llvm] [cmake] Skip driver-related code unless LLVM_TOOL_LLVM_DRIVER_BUILD
Michał Górny via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 20 13:18:19 PDT 2022
Author: Michał Górny
Date: 2022-07-20T22:17:48+02:00
New Revision: 2ac7b142b12f66ce91c98177f8d7d942ed4cc94c
URL: https://github.com/llvm/llvm-project/commit/2ac7b142b12f66ce91c98177f8d7d942ed4cc94c
DIFF: https://github.com/llvm/llvm-project/commit/2ac7b142b12f66ce91c98177f8d7d942ed4cc94c.diff
LOG: [llvm] [cmake] Skip driver-related code unless LLVM_TOOL_LLVM_DRIVER_BUILD
Disable the code responsible for preparing object libraries
for the driver and filling LLVM_DRIVER_* properties
if LLVM_TOOL_LLVM_DRIVER_BUILD is disabled. These properties are
consumed only by tools/llvm-driver, and so they are not used at all
if LLVM_TOOL_LLVM_DRIVER_BUILD is not enabled. At the same time,
the related code breaks standalone clang builds against LLVM built
with LLVM_LINK_LLVM_DYLIB.
Differential Revision: https://reviews.llvm.org/D130158
Added:
Modified:
llvm/cmake/modules/AddLLVM.cmake
Removed:
################################################################################
diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
index 6a8e13032bdea..dc0d74e360fde 100644
--- a/llvm/cmake/modules/AddLLVM.cmake
+++ b/llvm/cmake/modules/AddLLVM.cmake
@@ -871,7 +871,7 @@ macro(generate_llvm_objects name)
list(APPEND LLVM_COMMON_DEPENDS ${ARG_DEPENDS})
# Generate objlib
- if(LLVM_ENABLE_OBJLIB OR ARG_GENERATE_DRIVER)
+ if(LLVM_ENABLE_OBJLIB OR (ARG_GENERATE_DRIVER AND LLVM_TOOL_LLVM_DRIVER_BUILD))
# Generate an obj library for both targets.
set(obj_name "obj.${name}")
add_library(${obj_name} OBJECT EXCLUDE_FROM_ALL
@@ -899,13 +899,15 @@ macro(generate_llvm_objects name)
list(APPEND ALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${name}-driver.cpp)
- set_property(GLOBAL APPEND PROPERTY LLVM_DRIVER_COMPONENTS ${LLVM_LINK_COMPONENTS})
- set_property(GLOBAL APPEND PROPERTY LLVM_DRIVER_DEPS ${ARG_DEPENDS} ${LLVM_COMMON_DEPENDS})
- set_property(GLOBAL APPEND PROPERTY LLVM_DRIVER_OBJLIBS "${obj_name}")
-
- set_property(GLOBAL APPEND PROPERTY LLVM_DRIVER_TOOLS ${name})
- target_link_libraries(${obj_name} ${LLVM_PTHREAD_LIB})
- llvm_config(${obj_name} ${USE_SHARED} ${LLVM_LINK_COMPONENTS} )
+ if (LLVM_TOOL_LLVM_DRIVER_BUILD)
+ set_property(GLOBAL APPEND PROPERTY LLVM_DRIVER_COMPONENTS ${LLVM_LINK_COMPONENTS})
+ set_property(GLOBAL APPEND PROPERTY LLVM_DRIVER_DEPS ${ARG_DEPENDS} ${LLVM_COMMON_DEPENDS})
+ set_property(GLOBAL APPEND PROPERTY LLVM_DRIVER_OBJLIBS "${obj_name}")
+
+ set_property(GLOBAL APPEND PROPERTY LLVM_DRIVER_TOOLS ${name})
+ target_link_libraries(${obj_name} ${LLVM_PTHREAD_LIB})
+ llvm_config(${obj_name} ${USE_SHARED} ${LLVM_LINK_COMPONENTS} )
+ endif()
endif()
endmacro()
More information about the llvm-commits
mailing list