[CMake] [Xcode] Improving Xcode toolchain generation to support distribution targets

This adds a new target `install-distribution-toolchain` which will install an Xcode toolchain featuring just the LLVM components specified in LLVM_DISTRIBUTION_COMPONENTS.

llvm-svn: 268125
This commit is contained in:
Chris Bieneman 2016-04-29 22:19:35 +00:00
parent 4497e3a1e6
commit aa8dfe9fb3
1 changed files with 20 additions and 0 deletions

View File

@ -70,3 +70,23 @@ add_custom_target(install-xcode-toolchain
-DCMAKE_INSTALL_PREFIX=${LLVMToolchainDir}/usr/
-P "${CMAKE_BINARY_DIR}/cmake_install.cmake"
${cmake_3_2_USES_TERMINAL})
if(LLVM_DISTRIBUTION_COMPONENTS)
if(CMAKE_CONFIGURATION_TYPES)
message(FATAL_ERROR "LLVM_DISTRIBUTION_COMPONENTS cannot be specified with multi-configuration generators (i.e. Xcode or Visual Studio)")
endif()
add_custom_target(install-distribution-toolchain
DEPENDS ${LLVMToolchainDir}/ToolchainInfo.plist distribution)
foreach(target ${LLVM_DISTRIBUTION_COMPONENTS})
add_custom_target(install-distribution-${target}
DEPENDS ${target}
COMMAND "${CMAKE_COMMAND}"
-DCMAKE_INSTALL_COMPONENT=${target}
-DCMAKE_INSTALL_PREFIX=${LLVMToolchainDir}/usr/
-P "${CMAKE_BINARY_DIR}/cmake_install.cmake"
${cmake_3_2_USES_TERMINAL})
add_dependencies(install-distribution-toolchain install-distribution-${target})
endforeach()
endif()