Skip to content

Commit 712477f

Browse files
committed
cmake: Add INSTALL_WITH_TOOLCHAIN option to add_*_library macros
Summary: This will simplify the macros by allowing us to remove the hard-coded list of libraries that should be installed when LLVM_INSTALL_TOOLCHAIN_ONLY is enabled. Reviewers: beanz, smeenai Reviewed By: beanz Subscribers: aheejin, mehdi_amini, mgorny, steven_wu, dexonsmith, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D64580 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365902 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent 0895359 commit 712477f

File tree

4 files changed

+9
-10
lines changed

4 files changed

+9
-10
lines changed

cmake/modules/AddLLVM.cmake

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -657,7 +657,7 @@ endfunction()
657657

658658
macro(add_llvm_library name)
659659
cmake_parse_arguments(ARG
660-
"SHARED;BUILDTREE_ONLY;MODULE"
660+
"SHARED;BUILDTREE_ONLY;MODULE;INSTALL_WITH_TOOLCHAIN"
661661
""
662662
""
663663
${ARGN})
@@ -685,11 +685,7 @@ macro(add_llvm_library name)
685685
elseif(ARG_BUILDTREE_ONLY)
686686
set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS_BUILDTREE_ONLY ${name})
687687
else()
688-
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR
689-
${name} STREQUAL "LTO" OR
690-
${name} STREQUAL "LLVM-C" OR
691-
${name} STREQUAL "Remarks" OR
692-
(LLVM_LINK_LLVM_DYLIB AND ${name} STREQUAL "LLVM"))
688+
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ARG_INSTALL_WITH_TOOLCHAIN)
693689

694690
set(export_to_llvmexports)
695691
if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR

tools/llvm-shlib/CMakeLists.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,10 @@ if(LLVM_BUILD_LLVM_DYLIB)
3939
add_custom_target(libLLVMExports DEPENDS ${LLVM_EXPORTED_SYMBOL_FILE})
4040
endif()
4141

42-
add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${SOURCES})
42+
if (LLVM_LINK_LLVM_DYLIB)
43+
set(INSTALL_WITH_TOOLCHAIN INSTALL_WITH_TOOLCHAIN)
44+
endif()
45+
add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${INSTALL_WITH_TOOLCHAIN} ${SOURCES})
4346

4447
list(REMOVE_DUPLICATES LIB_NAMES)
4548
if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") OR (MINGW) OR (HAIKU)
@@ -105,7 +108,7 @@ if(LLVM_BUILD_LLVM_C_DYLIB AND NOT MSVC)
105108

106109
add_custom_target(libLLVMCExports DEPENDS ${LLVM_EXPORTED_SYMBOL_FILE})
107110

108-
add_llvm_library(LLVM-C SHARED ${SOURCES})
111+
add_llvm_library(LLVM-C SHARED ${SOURCES} INSTALL_WITH_TOOLCHAIN)
109112

110113
target_link_libraries(LLVM-C PUBLIC LLVM)
111114
add_dependencies(LLVM-C libLLVMCExports)

tools/lto/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ set(SOURCES
2020

2121
set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/lto.exports)
2222

23-
add_llvm_library(LTO SHARED ${SOURCES} DEPENDS intrinsics_gen)
23+
add_llvm_library(LTO SHARED INSTALL_WITH_TOOLCHAIN ${SOURCES} DEPENDS intrinsics_gen)
2424

2525
install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/lto.h
2626
DESTINATION include/llvm-c

tools/remarks-shlib/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ set(SOURCES
88

99
set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/Remarks.exports)
1010

11-
add_llvm_library(Remarks SHARED ${SOURCES})
11+
add_llvm_library(Remarks SHARED INSTALL_WITH_TOOLCHAIN ${SOURCES})
1212

1313
install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/Remarks.h
1414
DESTINATION include/llvm-c

0 commit comments

Comments
 (0)