commit 28e665fa054d62d4e2c777774cc83dea533dfe6e Author: John Ericson Date: Sun Jan 16 05:52:22 2022 +0000 [cmake] Slight fix ups to make robust to the full range of GNUInstallDirs See https://cmake.org/cmake/help/v3.14/module/GNUInstallDirs.html#result-variables for `CMAKE_INSTALL_FULL_*` Reviewed By: sebastian-ne Differential Revision: https://reviews.llvm.org/D130545 diff --git b/clang/tools/clang-linker-wrapper/CMakeLists.txt a/clang/tools/clang-linker-wrapper/CMakeLists.txt index 88c19cad7b53..60392c7d901f 100644 --- b/clang/tools/clang-linker-wrapper/CMakeLists.txt +++ a/clang/tools/clang-linker-wrapper/CMakeLists.txt @@ -1,5 +1,3 @@ -include(GNUInstallDirs) - set(LLVM_LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD} BitWriter @@ -44,4 +42,4 @@ target_link_libraries(clang-linker-wrapper ${CLANG_LINKER_WRAPPER_LIB_DEPS} ) -install(TARGETS clang-linker-wrapper RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +install(TARGETS clang-linker-wrapper RUNTIME DESTINATION bin) diff --git b/llvm-libgcc/lib/CMakeLists.txt a/llvm-libgcc/lib/CMakeLists.txt index d895a21554b0..652af46db4cb 100644 --- b/llvm-libgcc/lib/CMakeLists.txt +++ a/llvm-libgcc/lib/CMakeLists.txt @@ -1,6 +1,5 @@ include(CheckLibraryExists) include(GNUInstallDirs) -include(ExtendPath) string(REPLACE "-Wl,-z,defs" "" CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}") @@ -42,13 +41,13 @@ target_link_libraries(libgcc_s PRIVATE c ) -extend_path(LLVM_LIBGCC_LIBUNWIND_STATIC_ROOT "${CMAKE_INSTALL_PREFIX}" "${LIBUNWIND_INSTALL_LIBRARY_DIR}") +get_filename_component(LLVM_LIBGCC_LIBUNWIND_STATIC_ROOT "${CMAKE_INSTALL_PREFIX}/${LIBUNWIND_INSTALL_LIBRARY_DIR}" ABSOLUTE) #string(REPLACE "${CMAKE_INSTALL_FULL_LIBDIR}/" "" LLVM_LIBGCC_LIBUNWIND_STATIC_ROOT "${LLVM_LIBGCC_LIBUNWIND_STATIC_ROOT}") install(TARGETS libgcc_s LIBRARY DESTINATION "${LLVM_LIBGCC_LIBUNWIND_STATIC_ROOT}" COMPONENT unwind ARCHIVE DESTINATION "${LLVM_LIBGCC_LIBUNWIND_STATIC_ROOT}" COMPONENT unwind - RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT unwind) + RUNTIME DESTINATION bin COMPONENT unwind) get_compiler_rt_install_dir(${LLVM_LIBGCC_TARGET_ARCH} install_dir_builtins) string(REGEX REPLACE "^lib/" "" install_dir_builtins "${install_dir_builtins}") diff --git b/llvm/cmake/modules/CMakeLists.txt a/llvm/cmake/modules/CMakeLists.txt index d4b0ab959148..25c9b790b80b 100644 --- b/llvm/cmake/modules/CMakeLists.txt +++ a/llvm/cmake/modules/CMakeLists.txt @@ -137,7 +137,6 @@ list(REMOVE_DUPLICATES LLVM_CONFIG_LIBRARY_DIRS) set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}") extend_path(LLVM_CONFIG_CMAKE_DIR "\${LLVM_INSTALL_PREFIX}" "${LLVM_INSTALL_PACKAGE_DIR}") -extend_path(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}" "${LLVM_TOOLS_INSTALL_DIR}") # Generate a default location for lit if (LLVM_INSTALL_UTILS AND LLVM_BUILD_UTILS) diff --git b/openmp/CMakeLists.txt a/openmp/CMakeLists.txt index b6ddbe90516d..4530281aff26 100644 --- b/openmp/CMakeLists.txt +++ a/openmp/CMakeLists.txt @@ -1,12 +1,7 @@ cmake_minimum_required(VERSION 3.13.4) -set(LLVM_COMMON_CMAKE_UTILS ${CMAKE_CURRENT_SOURCE_DIR}/../cmake) - -# Add path for custom modules -list(INSERT CMAKE_MODULE_PATH 0 - "${CMAKE_CURRENT_SOURCE_DIR}/cmake" - "${LLVM_COMMON_CMAKE_UTILS}/Modules" - ) +# Add cmake directory to search for custom cmake functions. +set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH}) # llvm/runtimes/ will set OPENMP_STANDALONE_BUILD. if (OPENMP_STANDALONE_BUILD OR "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") diff --git b/openmp/runtime/src/CMakeLists.txt a/openmp/runtime/src/CMakeLists.txt index 02f65aac0d40..4068a5862b4a 100644 --- b/openmp/runtime/src/CMakeLists.txt +++ a/openmp/runtime/src/CMakeLists.txt @@ -8,8 +8,6 @@ #//===----------------------------------------------------------------------===// # -include(ExtendPath) - # Configure omp.h, kmp_config.h and omp-tools.h if necessary configure_file(${LIBOMP_INC_DIR}/omp.h.var omp.h @ONLY) configure_file(kmp_config.h.cmake kmp_config.h @ONLY) @@ -349,8 +347,8 @@ endif() add_dependencies(libomp-micro-tests libomp-test-deps) # Install rules -# We want to install libomp in ${DESTDIR}/${CMAKE_INSTALL_FULL_LIBDIR} -# We want to install headers in ${DESTDIR}/${CMAKE_INSTALL_FULL_INCLUDEDIR} +# We want to install libomp in DESTDIR/CMAKE_INSTALL_PREFIX/lib +# We want to install headers in DESTDIR/CMAKE_INSTALL_PREFIX/include if(${OPENMP_STANDALONE_BUILD}) set(LIBOMP_HEADERS_INSTALL_PATH "${CMAKE_INSTALL_INCLUDEDIR}") else() @@ -364,10 +362,9 @@ if(WIN32) set(LIBOMP_ALIASES "libiomp5md") foreach(alias IN LISTS LIBOMP_ALIASES) install(CODE "execute_process(COMMAND \"\${CMAKE_COMMAND}\" -E copy \"${LIBOMP_LIB_FILE}\" - \"${alias}${LIBOMP_LIBRARY_SUFFIX}\" WORKING_DIRECTORY \"${CMAKE_INSTALL_FULL_BINDIR}\")") - extend_path(outdir "${CMAKE_INSTALL_PREFIX}" "${OPENMP_INSTALL_LIBDIR}") + \"${alias}${LIBOMP_LIBRARY_SUFFIX}\" WORKING_DIRECTORY \"\${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}\")") install(CODE "execute_process(COMMAND \"\${CMAKE_COMMAND}\" -E copy \"${LIBOMP_IMP_LIB_FILE}\" - \"${alias}${CMAKE_STATIC_LIBRARY_SUFFIX}\" WORKING_DIRECTORY \"${outdir}\")") + \"${alias}${CMAKE_STATIC_LIBRARY_SUFFIX}\" WORKING_DIRECTORY \"\${CMAKE_INSTALL_PREFIX}/${OPENMP_INSTALL_LIBDIR}\")") endforeach() else() @@ -377,10 +374,9 @@ else() # Create aliases (symlinks) of the library for backwards compatibility set(LIBOMP_ALIASES "libgomp;libiomp5") foreach(alias IN LISTS LIBOMP_ALIASES) - extend_path(outdir "${CMAKE_INSTALL_PREFIX}" "${OPENMP_INSTALL_LIBDIR}") install(CODE "execute_process(COMMAND \"\${CMAKE_COMMAND}\" -E create_symlink \"${LIBOMP_LIB_FILE}\" \"${alias}${LIBOMP_LIBRARY_SUFFIX}\" WORKING_DIRECTORY - \"\$ENV{DESTDIR}\${outdir}\")") + \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${OPENMP_INSTALL_LIBDIR}\")") endforeach() endif() endif()