From: Petr Hosek Date: Thu, 23 Mar 2017 22:40:10 +0000 (+0000) Subject: [CMake] Provide an option to disable runtimes build X-Git-Tag: llvmorg-5.0.0-rc1~9296 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2705226a2b8225ef1b7297848390b67f44629471;p=platform%2Fupstream%2Fllvm.git [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 --- diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt index 47bd35c..b51bc42 100644 --- a/llvm/CMakeLists.txt +++ b/llvm/CMakeLists.txt @@ -483,6 +483,10 @@ option(LLVM_INCLUDE_UTILS "Generate build targets for the LLVM utils." ON) option(LLVM_BUILD_UTILS "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 "Build the LLVM runtime libraries." ON) option(LLVM_BUILD_EXAMPLES @@ -862,7 +866,9 @@ if( LLVM_INCLUDE_TOOLS ) add_subdirectory(tools) endif() -add_subdirectory(runtimes) +if( LLVM_INCLUDE_RUNTIMES ) + add_subdirectory(runtimes) +endif() if( LLVM_INCLUDE_EXAMPLES ) add_subdirectory(examples) diff --git a/llvm/runtimes/CMakeLists.txt b/llvm/runtimes/CMakeLists.txt index f5d1695..24b7e04 100644 --- a/llvm/runtimes/CMakeLists.txt +++ b/llvm/runtimes/CMakeLists.txt @@ -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) 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 # is required because the other runtimes need the builtin libraries present # 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_ASM_COMPILER_TARGET=${TARGET_TRIPLE} PASSTHROUGH_PREFIXES COMPILER_RT - USE_TOOLCHAIN) + USE_TOOLCHAIN + ${EXTRA_ARGS}) else() get_cmake_property(variableNames VARIABLES) add_custom_target(builtins) @@ -179,7 +184,8 @@ else() # if this is included from LLVM's CMake -DCOMPILER_RT_DEFAULT_TARGET_ONLY=On ${${target}_extra_args} PASSTHROUGH_PREFIXES COMPILER_RT - USE_TOOLCHAIN) + USE_TOOLCHAIN + ${EXTRA_ARGS}) add_dependencies(builtins builtins-${target}) endforeach() endif() @@ -238,7 +244,8 @@ else() # if this is included from LLVM's CMake ${SUB_COMPONENTS} ${SUB_COMPONENT_CHECK_TARGETS} ${SUB_INSTALL_TARGETS} - USE_TOOLCHAIN) + USE_TOOLCHAIN + ${EXTRA_ARGS}) # 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