Skip to content

Commit

Permalink
[cmake] Use GNUInstallDirs to support custom installation dirs.
Browse files Browse the repository at this point in the history
This is the original patch in my GNUInstallDirs series, now last to merge as the final piece!

It arose as a new draft of D28234. I initially did the unorthodox thing of pushing to that when I wasn't the original author, but since I ended up

 - Using `GNUInstallDirs`, rather than mimicking it, as the original author was hesitant to do but others requested.

 - Converting all the packages, not just LLVM, effecting many more projects than LLVM itself.

I figured it was time to make a new revision.

I have used this patch series (and many back-ports) as the basis of NixOS/nixpkgs#111487 for my distro (NixOS), which was merged last spring (2021). It looked like people were generally on board in D28234, but I make note of this here in case extra motivation is useful.

---

As pointed out in the original issue, a central tension is that LLVM already has some partial support for these sorts of things. Variables like `COMPILER_RT_INSTALL_PATH` have already been dealt with. Variables like `LLVM_LIBDIR_SUFFIX` however, will require further work, so that we may use `CMAKE_INSTALL_LIBDIR`.

These remaining items will be addressed in further patches. What is here is now rote and so we should get it out of the way before dealing more intricately with the remainder.

Reviewed By: #libunwind, #libc, #libc_abi, compnerd

Differential Revision: https://reviews.llvm.org/D99484
  • Loading branch information
Ericson2314 authored and memfrob committed Oct 4, 2022
1 parent c552a7f commit 88c239a
Show file tree
Hide file tree
Showing 36 changed files with 96 additions and 68 deletions.
1 change: 1 addition & 0 deletions clang-tools-extra/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
include(CMakeDependentOption)
include(GNUInstallDirs)

option(CLANG_TIDY_ENABLE_STATIC_ANALYZER
"Include static analyzer checks in clang-tidy" ON)
Expand Down
4 changes: 2 additions & 2 deletions clang-tools-extra/clang-doc/tool/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ target_link_libraries(clang-doc
)

install(FILES ../assets/clang-doc-default-stylesheet.css
DESTINATION share/clang
DESTINATION "${CMAKE_INSTALL_DATADIR}/clang"
COMPONENT clang-doc)

install(FILES ../assets/index.js
DESTINATION share/clang
DESTINATION "${CMAKE_INSTALL_DATADIR}/clang"
COMPONENT clang-doc)
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,5 @@ target_link_libraries(find-all-symbols
)

install(PROGRAMS run-find-all-symbols.py
DESTINATION share/clang
DESTINATION "${CMAKE_INSTALL_DATADIR}/clang"
COMPONENT find-all-symbols)
4 changes: 2 additions & 2 deletions clang-tools-extra/clang-include-fixer/tool/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ target_link_libraries(clang-include-fixer
)

install(PROGRAMS clang-include-fixer.el
DESTINATION share/clang
DESTINATION "${CMAKE_INSTALL_DATADIR}/clang"
COMPONENT clang-include-fixer)
install(PROGRAMS clang-include-fixer.py
DESTINATION share/clang
DESTINATION "${CMAKE_INSTALL_DATADIR}/clang"
COMPONENT clang-include-fixer)
2 changes: 1 addition & 1 deletion clang-tools-extra/clang-tidy/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ add_subdirectory(utils)

if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
install(DIRECTORY .
DESTINATION include/clang-tidy
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/clang-tidy"
COMPONENT clang-tidy-headers
FILES_MATCHING
PATTERN "*.h"
Expand Down
4 changes: 2 additions & 2 deletions clang-tools-extra/clang-tidy/tool/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,9 @@ target_link_libraries(clang-tidy


install(PROGRAMS clang-tidy-diff.py
DESTINATION share/clang
DESTINATION "${CMAKE_INSTALL_DATADIR}/clang"
COMPONENT clang-tidy)
install(PROGRAMS run-clang-tidy.py
DESTINATION bin
DESTINATION "${CMAKE_INSTALL_BINDIR}"
COMPONENT clang-tidy
RENAME run-clang-tidy)
2 changes: 1 addition & 1 deletion clang-tools-extra/modularize/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,5 @@ clang_target_link_libraries(modularize
)

install(TARGETS modularize
RUNTIME DESTINATION bin
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
COMPONENT clang-extras)
8 changes: 5 additions & 3 deletions clang/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
cmake_minimum_required(VERSION 3.13.4)

include(GNUInstallDirs)

# If we are not building as a part of LLVM, build Clang as an
# standalone project, using LLVM as an external library:
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
Expand Down Expand Up @@ -424,7 +426,7 @@ include_directories(BEFORE

if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
install(DIRECTORY include/clang include/clang-c
DESTINATION include
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
COMPONENT clang-headers
FILES_MATCHING
PATTERN "*.def"
Expand All @@ -433,7 +435,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
)

install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/clang
DESTINATION include
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
COMPONENT clang-headers
FILES_MATCHING
PATTERN "CMakeFiles" EXCLUDE
Expand All @@ -453,7 +455,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)

add_custom_target(bash-autocomplete DEPENDS utils/bash-autocomplete.sh)
install(PROGRAMS utils/bash-autocomplete.sh
DESTINATION share/clang
DESTINATION "${CMAKE_INSTALL_DATADIR}/clang"
COMPONENT bash-autocomplete)
if(NOT LLVM_ENABLE_IDE)
add_llvm_install_targets(install-bash-autocomplete
Expand Down
5 changes: 3 additions & 2 deletions clang/cmake/modules/AddClang.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
include(GNUInstallDirs)
include(LLVMDistributionSupport)

function(clang_tablegen)
Expand Down Expand Up @@ -120,7 +121,7 @@ macro(add_clang_library name)
${export_to_clangtargets}
LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
RUNTIME DESTINATION bin)
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")

if (NOT LLVM_ENABLE_IDE)
add_llvm_install_targets(install-${lib}
Expand Down Expand Up @@ -159,7 +160,7 @@ macro(add_clang_tool name)
get_target_export_arg(${name} Clang export_to_clangtargets)
install(TARGETS ${name}
${export_to_clangtargets}
RUNTIME DESTINATION bin
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
COMPONENT ${name})

if(NOT LLVM_ENABLE_IDE)
Expand Down
2 changes: 1 addition & 1 deletion clang/tools/c-index-test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
set_property(TARGET c-index-test APPEND PROPERTY INSTALL_RPATH
"@executable_path/../../lib")
else()
set(INSTALL_DESTINATION bin)
set(INSTALL_DESTINATION "${CMAKE_INSTALL_BINDIR}")
endif()

install(TARGETS c-index-test
Expand Down
12 changes: 6 additions & 6 deletions clang/tools/clang-format/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,20 @@ if( LLVM_LIB_FUZZING_ENGINE OR LLVM_USE_SANITIZE_COVERAGE )
endif()

install(PROGRAMS clang-format-bbedit.applescript
DESTINATION share/clang
DESTINATION "${CMAKE_INSTALL_DATADIR}/clang"
COMPONENT clang-format)
install(PROGRAMS clang-format-diff.py
DESTINATION share/clang
DESTINATION "${CMAKE_INSTALL_DATADIR}/clang"
COMPONENT clang-format)
install(PROGRAMS clang-format-sublime.py
DESTINATION share/clang
DESTINATION "${CMAKE_INSTALL_DATADIR}/clang"
COMPONENT clang-format)
install(PROGRAMS clang-format.el
DESTINATION share/clang
DESTINATION "${CMAKE_INSTALL_DATADIR}/clang"
COMPONENT clang-format)
install(PROGRAMS clang-format.py
DESTINATION share/clang
DESTINATION "${CMAKE_INSTALL_DATADIR}/clang"
COMPONENT clang-format)
install(PROGRAMS git-clang-format
DESTINATION bin
DESTINATION "${CMAKE_INSTALL_BINDIR}"
COMPONENT clang-format)
2 changes: 1 addition & 1 deletion clang/tools/clang-nvlink-wrapper/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,4 @@ target_link_libraries(clang-nvlink-wrapper
${CLANG_NVLINK_WRAPPER_LIB_DEPS}
)

install(TARGETS clang-nvlink-wrapper RUNTIME DESTINATION bin)
install(TARGETS clang-nvlink-wrapper RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
4 changes: 2 additions & 2 deletions clang/tools/clang-rename/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ clang_target_link_libraries(clang-rename
)

install(PROGRAMS clang-rename.py
DESTINATION share/clang
DESTINATION "${CMAKE_INSTALL_DATADIR}/clang"
COMPONENT clang-rename)
install(PROGRAMS clang-rename.el
DESTINATION share/clang
DESTINATION "${CMAKE_INSTALL_DATADIR}/clang"
COMPONENT clang-rename)
2 changes: 1 addition & 1 deletion clang/tools/libclang/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ endif()
if(INTERNAL_INSTALL_PREFIX)
set(LIBCLANG_HEADERS_INSTALL_DESTINATION "${INTERNAL_INSTALL_PREFIX}/include")
else()
set(LIBCLANG_HEADERS_INSTALL_DESTINATION include)
set(LIBCLANG_HEADERS_INSTALL_DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
endif()

install(DIRECTORY ../../include/clang-c
Expand Down
6 changes: 3 additions & 3 deletions clang/tools/scan-build-py/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ foreach(BinFile ${BinFiles})
${CMAKE_BINARY_DIR}/bin/scan-build-py
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/scan-build)
install (PROGRAMS "bin/scan-build"
DESTINATION bin
DESTINATION "${CMAKE_INSTALL_BINDIR}"
RENAME scan-build-py
COMPONENT scan-build-py)
list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/scan-build-py)
Expand All @@ -56,7 +56,7 @@ foreach(BinFile ${BinFiles})
${CMAKE_BINARY_DIR}/bin/
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile})
install(PROGRAMS bin/${BinFile}
DESTINATION bin
DESTINATION "${CMAKE_INSTALL_BINDIR}"
COMPONENT scan-build-py)
list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile})
endif()
Expand All @@ -72,7 +72,7 @@ foreach(lib ${LibExecs})
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${lib})
list(APPEND Depends ${CMAKE_BINARY_DIR}/libexec/${lib})
install(PROGRAMS libexec/${lib}
DESTINATION libexec
DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}"
COMPONENT scan-build-py)
endforeach()

Expand Down
6 changes: 3 additions & 3 deletions clang/tools/scan-build/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ if(CLANG_INSTALL_SCANBUILD)
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile})
list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile})
install(PROGRAMS bin/${BinFile}
DESTINATION bin
DESTINATION "${CMAKE_INSTALL_BINDIR}"
COMPONENT scan-build)
endforeach()

Expand All @@ -61,7 +61,7 @@ if(CLANG_INSTALL_SCANBUILD)
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${LibexecFile})
list(APPEND Depends ${CMAKE_BINARY_DIR}/libexec/${LibexecFile})
install(PROGRAMS libexec/${LibexecFile}
DESTINATION libexec
DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}"
COMPONENT scan-build)
endforeach()

Expand Down Expand Up @@ -89,7 +89,7 @@ if(CLANG_INSTALL_SCANBUILD)
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/scan-build/${ShareFile})
list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-build/${ShareFile})
install(FILES share/scan-build/${ShareFile}
DESTINATION share/scan-build
DESTINATION "${CMAKE_INSTALL_DATADIR}/scan-build"
COMPONENT scan-build)
endforeach()

Expand Down
4 changes: 2 additions & 2 deletions clang/tools/scan-view/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ if(CLANG_INSTALL_SCANVIEW)
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile})
list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile})
install(PROGRAMS bin/${BinFile}
DESTINATION bin
DESTINATION "${CMAKE_INSTALL_BINDIR}"
COMPONENT scan-view)
endforeach()

Expand All @@ -34,7 +34,7 @@ if(CLANG_INSTALL_SCANVIEW)
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/${ShareFile})
list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-view/${ShareFile})
install(FILES share/${ShareFile}
DESTINATION share/scan-view
DESTINATION "${CMAKE_INSTALL_DATADIR}/scan-view"
COMPONENT scan-view)
endforeach()

Expand Down
2 changes: 1 addition & 1 deletion clang/utils/hmaptool/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin/${CLANG_HM

list(APPEND Depends ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin/${CLANG_HMAPTOOL})
install(PROGRAMS ${CLANG_HMAPTOOL}
DESTINATION bin
DESTINATION "${CMAKE_INSTALL_BINDIR}"
COMPONENT hmaptool)

add_custom_target(hmaptool ALL DEPENDS ${Depends})
Expand Down
7 changes: 4 additions & 3 deletions compiler-rt/cmake/base-config-ix.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

include(CheckIncludeFile)
include(CheckCXXSourceCompiles)
include(GNUInstallDirs)
include(ExtendPath)

check_include_file(unwind.h HAVE_UNWIND_H)
Expand Down Expand Up @@ -108,13 +109,13 @@ else(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH
"Path where built compiler-rt libraries should be installed.")
endif()
extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" bin)
extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_BINDIR}")
set(COMPILER_RT_INSTALL_BINARY_DIR "${default_install_path}" CACHE PATH
"Path where built compiler-rt executables should be installed.")
extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" include)
extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_INCLUDEDIR}")
set(COMPILER_RT_INSTALL_INCLUDE_DIR "${default_install_path}" CACHE PATH
"Path where compiler-rt headers should be installed.")
extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" share)
extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_DATADIR}")
set(COMPILER_RT_INSTALL_DATA_DIR "${default_install_path}" CACHE PATH
"Path where compiler-rt data files should be installed.")

Expand Down
2 changes: 2 additions & 0 deletions libc/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
cmake_minimum_required(VERSION 3.13.4)

include(GNUInstallDirs)

# Use old version of target_sources command which converts the source
# file paths to full paths.
cmake_policy(SET CMP0076 OLD)
Expand Down
8 changes: 5 additions & 3 deletions libcxx/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ endif()
#===============================================================================
cmake_minimum_required(VERSION 3.13.4)

include(GNUInstallDirs)

set(LLVM_COMMON_CMAKE_UTILS "${CMAKE_CURRENT_SOURCE_DIR}/../cmake")

# Add path for custom modules
Expand Down Expand Up @@ -412,9 +414,9 @@ endif ()
# TODO: Projects that depend on libc++ should use LIBCXX_GENERATED_INCLUDE_DIR
# instead of hard-coding include/c++/v1.

set(LIBCXX_INSTALL_INCLUDE_DIR "include/c++/v1" CACHE PATH
set(LIBCXX_INSTALL_INCLUDE_DIR "${CMAKE_INSTALL_INCLUDEDIR}/c++/v1" CACHE PATH
"Path where target-agnostic libc++ headers should be installed.")
set(LIBCXX_INSTALL_RUNTIME_DIR bin CACHE PATH
set(LIBCXX_INSTALL_RUNTIME_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH
"Path where built libc++ runtime libraries should be installed.")

if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
Expand All @@ -423,7 +425,7 @@ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
set(LIBCXX_GENERATED_INCLUDE_TARGET_DIR "${LLVM_BINARY_DIR}/include/${LLVM_DEFAULT_TARGET_TRIPLE}/c++/v1")
set(LIBCXX_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH
"Path where built libc++ libraries should be installed.")
set(LIBCXX_INSTALL_INCLUDE_TARGET_DIR "include/${LLVM_DEFAULT_TARGET_TRIPLE}/c++/v1" CACHE PATH
set(LIBCXX_INSTALL_INCLUDE_TARGET_DIR "${CMAKE_INSTALL_INCLUDEDIR}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++/v1" CACHE PATH
"Path where target-specific libc++ headers should be installed.")
if(LIBCXX_LIBDIR_SUBDIR)
string(APPEND LIBCXX_LIBRARY_DIR /${LIBCXX_LIBDIR_SUBDIR})
Expand Down
5 changes: 3 additions & 2 deletions libcxx/cmake/Modules/HandleLibCXXABI.cmake
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@

#===============================================================================
# Add an ABI library if appropriate
#===============================================================================

include(GNUInstallDirs)

#
# _setup_abi: Set up the build to use an ABI library
#
Expand Down Expand Up @@ -63,7 +64,7 @@ macro(setup_abi_lib abidefines abishared abistatic abifiles abidirs)

if (LIBCXX_INSTALL_HEADERS)
install(FILES "${LIBCXX_BINARY_INCLUDE_DIR}/${fpath}"
DESTINATION include/c++/v1/${dstdir}
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/c++/v1/${dstdir}"
COMPONENT cxx-headers
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
)
Expand Down
4 changes: 3 additions & 1 deletion libcxxabi/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ endif()

cmake_minimum_required(VERSION 3.13.4)

include(GNUInstallDirs)

set(LLVM_COMMON_CMAKE_UTILS "${CMAKE_CURRENT_SOURCE_DIR}/../cmake")

# Add path for custom modules
Expand Down Expand Up @@ -210,7 +212,7 @@ set(CMAKE_MODULE_PATH
${CMAKE_MODULE_PATH}
)

set(LIBCXXABI_INSTALL_RUNTIME_DIR bin CACHE PATH
set(LIBCXXABI_INSTALL_RUNTIME_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH
"Path where built libc++abi runtime libraries should be installed.")

if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
Expand Down
6 changes: 4 additions & 2 deletions libunwind/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ endif()

cmake_minimum_required(VERSION 3.13.4)

include(GNUInstallDirs)

set(LLVM_COMMON_CMAKE_UTILS "${CMAKE_CURRENT_SOURCE_DIR}/../cmake")

# Add path for custom modules
Expand Down Expand Up @@ -137,9 +139,9 @@ set(CMAKE_MODULE_PATH
"${CMAKE_CURRENT_SOURCE_DIR}/cmake"
${CMAKE_MODULE_PATH})

set(LIBUNWIND_INSTALL_INCLUDE_DIR include CACHE PATH
set(LIBUNWIND_INSTALL_INCLUDE_DIR "${CMAKE_INSTALL_INCLUDEDIR}" CACHE PATH
"Path where built libunwind headers should be installed.")
set(LIBUNWIND_INSTALL_RUNTIME_DIR bin CACHE PATH
set(LIBUNWIND_INSTALL_RUNTIME_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH
"Path where built libunwind runtime libraries should be installed.")

if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
Expand Down
3 changes: 2 additions & 1 deletion llvm/cmake/modules/LLVMInstallSymlink.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ include(GNUInstallDirs)

function(install_symlink name target outdir)
set(DESTDIR $ENV{DESTDIR})
set(bindir "${DESTDIR}${CMAKE_INSTALL_PREFIX}/${outdir}")
GNUInstallDirs_get_absolute_install_dir(bindir "${outdir}" BINDIR)
set(bindir "${DESTDIR}${bindir}")

message(STATUS "Creating ${name}")

Expand Down
Loading

0 comments on commit 88c239a

Please sign in to comment.