diff options
author | Chris Bieneman <beanz@apple.com> | 2016-06-08 21:19:26 +0000 |
---|---|---|
committer | Chris Bieneman <beanz@apple.com> | 2016-06-08 21:19:26 +0000 |
commit | 2724f145d9b7afc767ddfa693854c52ab2bc253d (patch) | |
tree | 675bd60d3b2dc34d76f0d4f980eea89ec3b75c88 | |
parent | 39293138111e55ea35fc0266684233abb25be69d (diff) | |
download | bcm5719-llvm-2724f145d9b7afc767ddfa693854c52ab2bc253d.tar.gz bcm5719-llvm-2724f145d9b7afc767ddfa693854c52ab2bc253d.zip |
[CMake] Support overriding binary install directory
This patch adds a new option LLVM_TOOLS_INSTALL_DIR which allows customizing the location executables and symlinks get installed to. This adds the functionality provided by autoconf's --bindir flag.
This patch is based on patches from and collaboration with Tony Kelman, and replaces http://reviews.llvm.org/D20934.
llvm-svn: 272200
-rw-r--r-- | llvm/CMakeLists.txt | 3 | ||||
-rw-r--r-- | llvm/cmake/modules/AddLLVM.cmake | 4 | ||||
-rw-r--r-- | llvm/cmake/modules/TableGen.cmake | 2 |
3 files changed, 6 insertions, 3 deletions
diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt index 46ca94423b5..dba5bf9551f 100644 --- a/llvm/CMakeLists.txt +++ b/llvm/CMakeLists.txt @@ -201,6 +201,9 @@ endif() set(LLVM_LIBDIR_SUFFIX "" CACHE STRING "Define suffix of library directory name (32/64)" ) +set(LLVM_TOOLS_INSTALL_DIR "bin" CACHE STRING "Path for binary subdirectory (defaults to 'bin')") +mark_as_advanced(LLVM_TOOLS_INSTALL_DIR) + # They are used as destination of target generators. set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin) set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX}) diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake index cc7445fb2cf..789555aee06 100644 --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake @@ -771,7 +771,7 @@ macro(add_llvm_tool name) if( LLVM_BUILD_TOOLS ) install(TARGETS ${name} EXPORT LLVMExports - RUNTIME DESTINATION bin + RUNTIME DESTINATION ${LLVM_TOOLS_INSTALL_DIR} COMPONENT ${name}) if (NOT CMAKE_CONFIGURATION_TYPES) @@ -1211,7 +1211,7 @@ function(llvm_install_symlink name dest) set(full_dest ${dest}${CMAKE_EXECUTABLE_SUFFIX}) install(SCRIPT ${INSTALL_SYMLINK} - CODE "install_symlink(${full_name} ${full_dest} bin)" + CODE "install_symlink(${full_name} ${full_dest} ${LLVM_TOOLS_INSTALL_DIR})" COMPONENT ${component}) if (NOT CMAKE_CONFIGURATION_TYPES AND NOT ARG_ALWAYS_GENERATE) diff --git a/llvm/cmake/modules/TableGen.cmake b/llvm/cmake/modules/TableGen.cmake index fca7d1bda4b..c88ee3fc196 100644 --- a/llvm/cmake/modules/TableGen.cmake +++ b/llvm/cmake/modules/TableGen.cmake @@ -141,7 +141,7 @@ macro(add_tablegen target project) if (${project} STREQUAL LLVM AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY) install(TARGETS ${target} EXPORT LLVMExports - RUNTIME DESTINATION bin) + RUNTIME DESTINATION ${LLVM_TOOLS_INSTALL_DIR}) endif() set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${target}) endmacro() |