]> granicus.if.org Git - llvm/commitdiff
cmake: Add INSTALL_WITH_TOOLCHAIN option to add_*_library macros
authorTom Stellard <tstellar@redhat.com>
Fri, 12 Jul 2019 14:40:18 +0000 (14:40 +0000)
committerTom Stellard <tstellar@redhat.com>
Fri, 12 Jul 2019 14:40:18 +0000 (14:40 +0000)
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

cmake/modules/AddLLVM.cmake
tools/llvm-shlib/CMakeLists.txt
tools/lto/CMakeLists.txt
tools/remarks-shlib/CMakeLists.txt

index d2ba017e3dd01ce22d8f050b94d6a5e3e4818658..619e986b8aa097bd01e684bcae5a922daa053e93 100644 (file)
@@ -657,7 +657,7 @@ endfunction()
 
 macro(add_llvm_library name)
   cmake_parse_arguments(ARG
-    "SHARED;BUILDTREE_ONLY;MODULE"
+    "SHARED;BUILDTREE_ONLY;MODULE;INSTALL_WITH_TOOLCHAIN"
     ""
     ""
     ${ARGN})
@@ -685,11 +685,7 @@ macro(add_llvm_library name)
   elseif(ARG_BUILDTREE_ONLY)
     set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS_BUILDTREE_ONLY ${name})
   else()
-    if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR
-        ${name} STREQUAL "LTO" OR
-        ${name} STREQUAL "LLVM-C" OR
-        ${name} STREQUAL "Remarks" OR
-        (LLVM_LINK_LLVM_DYLIB AND ${name} STREQUAL "LLVM"))
+    if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ARG_INSTALL_WITH_TOOLCHAIN)
 
       set(export_to_llvmexports)
       if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
index 5e491ca1f65ab4c3c9f185bcd0d869388c484d64..4905ed08157fee0980cefc742989531603e38ecb 100644 (file)
@@ -39,7 +39,10 @@ if(LLVM_BUILD_LLVM_DYLIB)
     add_custom_target(libLLVMExports DEPENDS ${LLVM_EXPORTED_SYMBOL_FILE})
   endif()
 
-  add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${SOURCES})
+  if (LLVM_LINK_LLVM_DYLIB)
+    set(INSTALL_WITH_TOOLCHAIN INSTALL_WITH_TOOLCHAIN)
+  endif()
+  add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${INSTALL_WITH_TOOLCHAIN} ${SOURCES})
 
   list(REMOVE_DUPLICATES LIB_NAMES)
   if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") OR (MINGW) OR (HAIKU)
@@ -105,7 +108,7 @@ if(LLVM_BUILD_LLVM_C_DYLIB AND NOT MSVC)
 
   add_custom_target(libLLVMCExports DEPENDS ${LLVM_EXPORTED_SYMBOL_FILE})
 
-  add_llvm_library(LLVM-C SHARED ${SOURCES})
+  add_llvm_library(LLVM-C SHARED ${SOURCES} INSTALL_WITH_TOOLCHAIN)
   
   target_link_libraries(LLVM-C PUBLIC LLVM)
   add_dependencies(LLVM-C libLLVMCExports)
index 20118e029f827a35ae91cc000303806e509234db..b86e4abd01a79d1b0a7bc52657fd75d4a5bd5ee2 100644 (file)
@@ -20,7 +20,7 @@ set(SOURCES
 
 set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/lto.exports)
 
-add_llvm_library(LTO SHARED ${SOURCES} DEPENDS intrinsics_gen)
+add_llvm_library(LTO SHARED INSTALL_WITH_TOOLCHAIN ${SOURCES} DEPENDS intrinsics_gen)
 
 install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/lto.h
   DESTINATION include/llvm-c
index 9408ad70597c8d35621b802110bf3702c1a22761..e948496c603a0ad56f8d62d487ca7bb19ea55d9d 100644 (file)
@@ -8,7 +8,7 @@ set(SOURCES
 
 set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/Remarks.exports)
 
-add_llvm_library(Remarks SHARED ${SOURCES})
+add_llvm_library(Remarks SHARED INSTALL_WITH_TOOLCHAIN ${SOURCES})
 
 install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/Remarks.h
   DESTINATION include/llvm-c