Skip to content

Commit

Permalink
Use GNUInstallDirs for install targets
Browse files Browse the repository at this point in the history
Distributions like Fedora use /usr/lib64 for their 64bit versions and termcolor
has hardcoded /usr/lib install path. By using `GNUInstallDirs` automatically
can be detected which path should be used.
  • Loading branch information
mikelolasagasti committed Dec 7, 2021
1 parent 13f559a commit 61cdde5
Showing 1 changed file with 9 additions and 6 deletions.
15 changes: 9 additions & 6 deletions CMakeLists.txt
Expand Up @@ -10,7 +10,7 @@ add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME})

target_include_directories(${PROJECT_NAME} INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>)
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
target_compile_features(${PROJECT_NAME} INTERFACE cxx_std_11)

#
Expand All @@ -31,25 +31,28 @@ endif()

include(CMakePackageConfigHelpers)

# Installation paths
include(GNUInstallDirs)

configure_package_config_file(
cmake/config.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/generated/${PROJECT_NAME}-config.cmake
INSTALL_DESTINATION lib/cmake/${PROJECT_NAME})
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})

install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/generated/${PROJECT_NAME}-config.cmake
DESTINATION lib/cmake/${PROJECT_NAME})
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})

install(
DIRECTORY include/
DESTINATION include)
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})

install(
TARGETS ${PROJECT_NAME}
EXPORT ${PROJECT_NAME}-targets
INCLUDES DESTINATION include)
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})

install(
EXPORT ${PROJECT_NAME}-targets
NAMESPACE ${PROJECT_NAME}::
DESTINATION lib/cmake/${PROJECT_NAME})
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})

0 comments on commit 61cdde5

Please sign in to comment.