[llvm] r363440 - build: extract LLVM distribution target handling

Saleem Abdulrasool via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 14 11:28:57 PDT 2019


Author: compnerd
Date: Fri Jun 14 11:28:57 2019
New Revision: 363440

URL: http://llvm.org/viewvc/llvm-project?rev=363440&view=rev
Log:
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.

Added:
    llvm/trunk/cmake/modules/LLVMDistributionSupport.cmake
Modified:
    llvm/trunk/CMakeLists.txt

Modified: llvm/trunk/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/CMakeLists.txt?rev=363440&r1=363439&r2=363440&view=diff
==============================================================================
--- llvm/trunk/CMakeLists.txt (original)
+++ llvm/trunk/CMakeLists.txt Fri Jun 14 11:28:57 2019
@@ -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)

Added: llvm/trunk/cmake/modules/LLVMDistributionSupport.cmake
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/LLVMDistributionSupport.cmake?rev=363440&view=auto
==============================================================================
--- llvm/trunk/cmake/modules/LLVMDistributionSupport.cmake (added)
+++ llvm/trunk/cmake/modules/LLVMDistributionSupport.cmake Fri Jun 14 11:28:57 2019
@@ -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()




More information about the llvm-commits mailing list