mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 11:42:57 +01:00
0d0cbbbdf4
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
37 lines
1.4 KiB
CMake
37 lines
1.4 KiB
CMake
|
|
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()
|