diff --git a/bolt/runtime/CMakeLists.txt b/bolt/runtime/CMakeLists.txt --- a/bolt/runtime/CMakeLists.txt +++ b/bolt/runtime/CMakeLists.txt @@ -1,5 +1,6 @@ cmake_minimum_required(VERSION 3.13.4) include(CheckIncludeFiles) +include(GNUInstallDirs) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_CXX_STANDARD 17) @@ -32,8 +33,8 @@ target_compile_options(bolt_rt_hugify PRIVATE ${BOLT_RT_FLAGS}) target_include_directories(bolt_rt_hugify PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) -install(TARGETS bolt_rt_instr DESTINATION lib) -install(TARGETS bolt_rt_hugify DESTINATION lib) +install(TARGETS bolt_rt_instr DESTINATION "${CMAKE_INSTALL_LIBDIR}") +install(TARGETS bolt_rt_hugify DESTINATION "${CMAKE_INSTALL_LIBDIR}") if (CMAKE_CXX_COMPILER_ID MATCHES ".*Clang.*") add_library(bolt_rt_instr_osx STATIC @@ -44,5 +45,5 @@ target_compile_options(bolt_rt_instr_osx PRIVATE -target x86_64-apple-darwin19.6.0 ${BOLT_RT_FLAGS}) - install(TARGETS bolt_rt_instr_osx DESTINATION lib) + install(TARGETS bolt_rt_instr_osx DESTINATION "${CMAKE_INSTALL_LIBDIR}") endif() diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt --- a/llvm/CMakeLists.txt +++ b/llvm/CMakeLists.txt @@ -55,7 +55,15 @@ VERSION ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH} LANGUAGES C CXX ASM) -# Must go after project(..) +if (NOT DEFINED CMAKE_INSTALL_LIBDIR AND DEFINED LLVM_LIBDIR_SUFFIX) + # Must go before `include(GNUInstallDirs)`. + set(CMAKE_INSTALL_LIBDIR "lib${LLVM_LIBDIR_SUFFIX}") +endif() + +# Must go after `DEFINED LLVM_LIBDIR_SUFFIX` check. +set(LLVM_LIBDIR_SUFFIX "" CACHE STRING "Define suffix of library directory name (32/64)" ) + +# Must go after `project(..)`. include(GNUInstallDirs) # This C++ standard is required to build LLVM. @@ -337,8 +345,6 @@ message(FATAL_ERROR "Invalid value for CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}") endif() -set(LLVM_LIBDIR_SUFFIX "" CACHE STRING "Define suffix of library directory name (32/64)" ) - # LLVM_INSTALL_PACKAGE_DIR needs to be declared prior to adding the tools # subdirectory in order to have the value available for llvm-config. include(GNUInstallPackageDir)