[llvm] r332631 - [CMake] Support runtimes in distributions
Chris Bieneman via llvm-commits
llvm-commits at lists.llvm.org
Thu May 17 09:58:44 PDT 2018
Author: cbieneman
Date: Thu May 17 09:58:44 2018
New Revision: 332631
URL: http://llvm.org/viewvc/llvm-project?rev=332631&view=rev
Log:
[CMake] Support runtimes in distributions
Summary:
This patch adds a new internal variable
LLVM_RUNTIME_DISTRIBUTION_COMPONENTS which specifies distribution
components that are part of runtime projects, and thus should be exposed
from runtime configuraitons up into the top-level CMake configurations.
This is required for allowing runtime components to be included in
LLVM_DISTRIBUTION_COMPONENTS because we verify that the build and
install targets exist for every component specified for the
distribution.
Without this patch runtimes and builtins can only be included in
distributions in whole, not by component.
Reviewers: phosek
Reviewed By: phosek
Subscribers: mgorny, llvm-commits
Differential Revision: https://reviews.llvm.org/D46705
Modified:
llvm/trunk/CMakeLists.txt
llvm/trunk/runtimes/CMakeLists.txt
Modified: llvm/trunk/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/CMakeLists.txt?rev=332631&r1=332630&r2=332631&view=diff
==============================================================================
--- llvm/trunk/CMakeLists.txt (original)
+++ llvm/trunk/CMakeLists.txt Thu May 17 09:58:44 2018
@@ -998,7 +998,7 @@ if(LLVM_DISTRIBUTION_COMPONENTS)
add_custom_target(distribution)
add_custom_target(install-distribution)
add_custom_target(install-distribution-stripped)
- foreach(target ${LLVM_DISTRIBUTION_COMPONENTS})
+ foreach(target ${LLVM_DISTRIBUTION_COMPONENTS} ${LLVM_RUNTIME_DISTRIBUTION_COMPONENTS})
if(TARGET ${target})
add_dependencies(distribution ${target})
else()
Modified: llvm/trunk/runtimes/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/runtimes/CMakeLists.txt?rev=332631&r1=332630&r2=332631&view=diff
==============================================================================
--- llvm/trunk/runtimes/CMakeLists.txt (original)
+++ llvm/trunk/runtimes/CMakeLists.txt Thu May 17 09:58:44 2018
@@ -352,6 +352,11 @@ else() # if this is included from LLVM's
list(APPEND test_targets check-${runtime_name})
endif()
endforeach()
+ foreach(component ${LLVM_RUNTIME_DISTRIBUTION_COMPONENTS})
+ if(NOT ${component} IN_LIST SUB_COMPONENTS)
+ list(APPEND extra_targets ${component} install-${component} install-${component}-stripped)
+ endif()
+ endforeach()
if(LLVM_INCLUDE_TESTS)
list(APPEND test_targets runtimes-test-depends check-runtimes)
@@ -407,6 +412,14 @@ else() # if this is included from LLVM's
list(APPEND ${name}_extra_targets "${target_name}:${target_name}-${name}")
endforeach()
+ foreach(component ${LLVM_RUNTIME_DISTRIBUTION_COMPONENTS})
+ if(NOT "${target_name}:${target_name}-${component}" IN_LIST extra_targets)
+ list(APPEND ${name}_extra_targets
+ "${target_name}:${target_name}-${component}"
+ "${target_name}:${target_name}-install-${component}")
+ endif()
+ endforeach()
+
if(LLVM_INCLUDE_TESTS)
list(APPEND ${name}_test_targets
"runtimes-test-depends:runtimes-test-depends-${name}"
@@ -478,6 +491,12 @@ else() # if this is included from LLVM's
add_custom_target(runtimes-test-depends)
set(test_targets "")
endif()
+ if(LLVM_RUNTIME_DISTRIBUTION_COMPONENTS)
+ foreach(component ${LLVM_RUNTIME_DISTRIBUTION_COMPONENTS})
+ add_custom_target(${component})
+ add_custom_target(install-${component})
+ endforeach()
+ endif()
endif()
foreach(name ${LLVM_RUNTIME_TARGETS})
More information about the llvm-commits
mailing list