summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2019-06-14 18:28:57 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2019-06-14 18:28:57 +0000
commit2b9f6caa71f732f2aebb9782916b859dd4ad3614 (patch)
tree8e5aeaa361849c2f821beb73236af64d20928bac
parent0b0851399e31ec583b92ee9f8246960e401659b0 (diff)
downloadbcm5719-llvm-2b9f6caa71f732f2aebb9782916b859dd4ad3614.tar.gz
bcm5719-llvm-2b9f6caa71f732f2aebb9782916b859dd4ad3614.zip
build: extract LLVM distribution target handling
This extracts the LLVM distribution target handling into a support module. Extraction will enable us to restructure the builds to support multiple distribution configurations (e.g. developer and user) to permit us to build the development package and the user package at once. llvm-svn: 363440
-rw-r--r--llvm/CMakeLists.txt32
-rw-r--r--llvm/cmake/modules/LLVMDistributionSupport.cmake36
2 files changed, 38 insertions, 30 deletions
diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt
index c3647ed88bf..041c847fd1a 100644
--- a/llvm/CMakeLists.txt
+++ b/llvm/CMakeLists.txt
@@ -1068,36 +1068,8 @@ endif()
# This must be at the end of the LLVM root CMakeLists file because it must run
# after all targets are created.
-if(LLVM_DISTRIBUTION_COMPONENTS)
- if(LLVM_ENABLE_IDE)
- message(FATAL_ERROR "LLVM_DISTRIBUTION_COMPONENTS cannot be specified with multi-configuration generators (i.e. Xcode or Visual Studio)")
- endif()
-
- add_custom_target(distribution)
- add_custom_target(install-distribution)
- add_custom_target(install-distribution-stripped)
- foreach(target ${LLVM_DISTRIBUTION_COMPONENTS} ${LLVM_RUNTIME_DISTRIBUTION_COMPONENTS})
- if(TARGET ${target})
- add_dependencies(distribution ${target})
- else()
- message(SEND_ERROR "Specified distribution component '${target}' doesn't have a target")
- endif()
-
- if(TARGET install-${target})
- add_dependencies(install-distribution install-${target})
- else()
- message(SEND_ERROR "Specified distribution component '${target}' doesn't have an install target")
- endif()
-
- if(TARGET install-${target}-stripped)
- add_dependencies(install-distribution-stripped install-${target}-stripped)
- else()
- message(SEND_ERROR "Specified distribution component '${target}' doesn't have an install-stripped target."
- " Its installation target creation should be changed to use add_llvm_install_targets,"
- " or you should manually create the 'install-${target}-stripped' target.")
- endif()
- endforeach()
-endif()
+include(LLVMDistributionSupport)
+llvm_distribution_add_targets()
# This allows us to deploy the Universal CRT DLLs by passing -DCMAKE_INSTALL_UCRT_LIBRARIES=ON to CMake
if (MSVC AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows" AND CMAKE_INSTALL_UCRT_LIBRARIES)
diff --git a/llvm/cmake/modules/LLVMDistributionSupport.cmake b/llvm/cmake/modules/LLVMDistributionSupport.cmake
new file mode 100644
index 00000000000..45662333bad
--- /dev/null
+++ b/llvm/cmake/modules/LLVMDistributionSupport.cmake
@@ -0,0 +1,36 @@
+
+if(LLVM_DISTRIBUTION_COMPONENTS)
+ if(LLVM_ENABLE_IDE)
+ message(FATAL_ERROR "LLVM_DISTRIBUTION_COMPONENTS cannot be specified with multi-configuration generators (i.e. Xcode or Visual Studio)")
+ endif()
+endif()
+
+function(llvm_distribution_add_targets)
+ add_custom_target(distribution)
+ add_custom_target(install-distribution)
+ add_custom_target(install-distribution-stripped)
+
+ foreach(target ${LLVM_DISTRIBUTION_COMPONENTS}
+ ${LLVM_RUNTIME_DISTRIBUTION_COMPONENTS})
+ if(TARGET ${target})
+ add_dependencies(distribution ${target})
+ else()
+ message(SEND_ERROR "Specified distribution component '${target}' doesn't have a target")
+ endif()
+
+ if(TARGET install-${target})
+ add_dependencies(install-distribution install-${target})
+ else()
+ message(SEND_ERROR "Specified distribution component '${target}' doesn't have an install target")
+ endif()
+
+ if(TARGET install-${target}-stripped)
+ add_dependencies(install-distribution-stripped install-${target}-stripped)
+ else()
+ message(SEND_ERROR
+ "Specified distribution component '${target}' doesn't have an install-stripped target."
+ " Its installation target creation should be changed to use add_llvm_install_targets,"
+ " or you should manually create the 'install-${target}-stripped' target.")
+ endif()
+ endforeach()
+endfunction()
OpenPOWER on IntegriCloud