mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
[CMake] Provide an option to disable runtimes build
This could be used to either disable the runtimes build altogether or avoid building them but still generate the build targets. Differential Revision: https://reviews.llvm.org/D31060 llvm-svn: 298653
This commit is contained in:
parent
112c58a796
commit
c7a150fa81
@ -483,6 +483,10 @@ option(LLVM_INCLUDE_UTILS "Generate build targets for the LLVM utils." ON)
|
|||||||
option(LLVM_BUILD_UTILS
|
option(LLVM_BUILD_UTILS
|
||||||
"Build LLVM utility binaries. If OFF, just generate build targets." ON)
|
"Build LLVM utility binaries. If OFF, just generate build targets." ON)
|
||||||
|
|
||||||
|
option(LLVM_INCLUDE_RUNTIMES "Generate build targets for the LLVM runtimes." ON)
|
||||||
|
option(LLVM_BUILD_RUNTIMES
|
||||||
|
"Build the LLVM runtimes. If OFF, just generate build targets." ON)
|
||||||
|
|
||||||
option(LLVM_BUILD_RUNTIME
|
option(LLVM_BUILD_RUNTIME
|
||||||
"Build the LLVM runtime libraries." ON)
|
"Build the LLVM runtime libraries." ON)
|
||||||
option(LLVM_BUILD_EXAMPLES
|
option(LLVM_BUILD_EXAMPLES
|
||||||
@ -862,7 +866,9 @@ if( LLVM_INCLUDE_TOOLS )
|
|||||||
add_subdirectory(tools)
|
add_subdirectory(tools)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_subdirectory(runtimes)
|
if( LLVM_INCLUDE_RUNTIMES )
|
||||||
|
add_subdirectory(runtimes)
|
||||||
|
endif()
|
||||||
|
|
||||||
if( LLVM_INCLUDE_EXAMPLES )
|
if( LLVM_INCLUDE_EXAMPLES )
|
||||||
add_subdirectory(examples)
|
add_subdirectory(examples)
|
||||||
|
@ -145,6 +145,10 @@ else() # if this is included from LLVM's CMake
|
|||||||
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${LLVM_BINARY_DIR}/runtimes/Components.cmake)
|
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${LLVM_BINARY_DIR}/runtimes/Components.cmake)
|
||||||
include(LLVMExternalProjectUtils)
|
include(LLVMExternalProjectUtils)
|
||||||
|
|
||||||
|
if(NOT LLVM_BUILD_RUNTIMES)
|
||||||
|
set(EXTRA_ARGS EXCLUDE_FROM_ALL)
|
||||||
|
endif()
|
||||||
|
|
||||||
# If compiler-rt is present we need to build the builtin libraries first. This
|
# If compiler-rt is present we need to build the builtin libraries first. This
|
||||||
# is required because the other runtimes need the builtin libraries present
|
# is required because the other runtimes need the builtin libraries present
|
||||||
# before the just-built compiler can pass the configuration tests.
|
# before the just-built compiler can pass the configuration tests.
|
||||||
@ -157,7 +161,8 @@ else() # if this is included from LLVM's CMake
|
|||||||
-DCMAKE_C_COMPILER_TARGET=${TARGET_TRIPLE}
|
-DCMAKE_C_COMPILER_TARGET=${TARGET_TRIPLE}
|
||||||
-DCMAKE_ASM_COMPILER_TARGET=${TARGET_TRIPLE}
|
-DCMAKE_ASM_COMPILER_TARGET=${TARGET_TRIPLE}
|
||||||
PASSTHROUGH_PREFIXES COMPILER_RT
|
PASSTHROUGH_PREFIXES COMPILER_RT
|
||||||
USE_TOOLCHAIN)
|
USE_TOOLCHAIN
|
||||||
|
${EXTRA_ARGS})
|
||||||
else()
|
else()
|
||||||
get_cmake_property(variableNames VARIABLES)
|
get_cmake_property(variableNames VARIABLES)
|
||||||
add_custom_target(builtins)
|
add_custom_target(builtins)
|
||||||
@ -179,7 +184,8 @@ else() # if this is included from LLVM's CMake
|
|||||||
-DCOMPILER_RT_DEFAULT_TARGET_ONLY=On
|
-DCOMPILER_RT_DEFAULT_TARGET_ONLY=On
|
||||||
${${target}_extra_args}
|
${${target}_extra_args}
|
||||||
PASSTHROUGH_PREFIXES COMPILER_RT
|
PASSTHROUGH_PREFIXES COMPILER_RT
|
||||||
USE_TOOLCHAIN)
|
USE_TOOLCHAIN
|
||||||
|
${EXTRA_ARGS})
|
||||||
add_dependencies(builtins builtins-${target})
|
add_dependencies(builtins builtins-${target})
|
||||||
endforeach()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
@ -238,7 +244,8 @@ else() # if this is included from LLVM's CMake
|
|||||||
${SUB_COMPONENTS}
|
${SUB_COMPONENTS}
|
||||||
${SUB_COMPONENT_CHECK_TARGETS}
|
${SUB_COMPONENT_CHECK_TARGETS}
|
||||||
${SUB_INSTALL_TARGETS}
|
${SUB_INSTALL_TARGETS}
|
||||||
USE_TOOLCHAIN)
|
USE_TOOLCHAIN
|
||||||
|
${EXTRA_ARGS})
|
||||||
|
|
||||||
# TODO: This is a hack needed because the libcxx headers are copied into the
|
# TODO: This is a hack needed because the libcxx headers are copied into the
|
||||||
# build directory during configuration. Without that step the clang in the
|
# build directory during configuration. Without that step the clang in the
|
||||||
|
Loading…
Reference in New Issue
Block a user