tstellar / rpms / llvm

Forked from rpms/llvm 5 years ago
Clone
f07760f
From 8f6917ea11bd1bfbfe07f3577756d1c4abfdb916 Mon Sep 17 00:00:00 2001
f07760f
From: Tom Stellard <tstellar@redhat.com>
f07760f
Date: Fri, 6 Sep 2019 11:03:18 -0700
f07760f
Subject: [PATCH] CMake: Split static library exports into their own export
f07760f
 file
f07760f
f07760f
---
f07760f
 llvm/cmake/modules/AddLLVM.cmake       | 6 +++++-
f07760f
 llvm/cmake/modules/CMakeLists.txt      | 3 +++
f07760f
 llvm/cmake/modules/LLVMConfig.cmake.in | 2 ++
f07760f
 3 files changed, 10 insertions(+), 1 deletion(-)
f07760f
f07760f
diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
f07760f
index 619e986..200fc45 100644
f07760f
--- a/llvm/cmake/modules/AddLLVM.cmake
f07760f
+++ b/llvm/cmake/modules/AddLLVM.cmake
f07760f
@@ -691,7 +691,11 @@ macro(add_llvm_library name)
f07760f
       if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
f07760f
           (in_llvm_libs AND "llvm-libraries" IN_LIST LLVM_DISTRIBUTION_COMPONENTS) OR
f07760f
           NOT LLVM_DISTRIBUTION_COMPONENTS)
f07760f
-        set(export_to_llvmexports EXPORT LLVMExports)
f07760f
+        if (ARG_SHARED)
f07760f
+          set(export_to_llvmexports EXPORT LLVMExports)
f07760f
+        else()
f07760f
+          set(export_to_llvmexports EXPORT LLVMStaticExports)
f07760f
+        endif()
f07760f
         set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True)
f07760f
       endif()
f07760f
 
f07760f
diff --git a/llvm/cmake/modules/CMakeLists.txt b/llvm/cmake/modules/CMakeLists.txt
f07760f
index 9cf22b4..dc982d2 100644
f07760f
--- a/llvm/cmake/modules/CMakeLists.txt
f07760f
+++ b/llvm/cmake/modules/CMakeLists.txt
f07760f
@@ -105,6 +105,7 @@ set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}")
f07760f
 set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin")
f07760f
 set(LLVM_CONFIG_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMExports.cmake")
f07760f
 set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS}")
f07760f
+set(LLVM_CONFIG_STATIC_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMStaticExports.cmake")
f07760f
 configure_file(
f07760f
   LLVMConfig.cmake.in
f07760f
   ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/LLVMConfig.cmake
f07760f
@@ -121,6 +122,8 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
f07760f
   if(llvm_has_exports)
f07760f
     install(EXPORT LLVMExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
f07760f
             COMPONENT cmake-exports)
f07760f
+    install(EXPORT LLVMStaticExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
f07760f
+            COMPONENT cmake-exports)
f07760f
   endif()
f07760f
 
f07760f
   install(FILES
f07760f
diff --git a/llvm/cmake/modules/LLVMConfig.cmake.in b/llvm/cmake/modules/LLVMConfig.cmake.in
f07760f
index 536031f..6ef54a0 100644
f07760f
--- a/llvm/cmake/modules/LLVMConfig.cmake.in
f07760f
+++ b/llvm/cmake/modules/LLVMConfig.cmake.in
f07760f
@@ -89,6 +89,8 @@ if(NOT TARGET LLVMSupport)
f07760f
   set(LLVM_EXPORTED_TARGETS "@LLVM_CONFIG_EXPORTS@")
f07760f
   include("@LLVM_CONFIG_EXPORTS_FILE@")
f07760f
   @llvm_config_include_buildtree_only_exports@
f07760f
+
f07760f
+  include("@LLVM_CONFIG_STATIC_EXPORTS_FILE@" OPTIONAL)
f07760f
 endif()
f07760f
 
f07760f
 # By creating intrinsics_gen here, subprojects that depend on LLVM's
f07760f
-- 
f07760f
1.8.3.1
f07760f