From 4946918aee194cf74833b3499f9debb2e12cd4c7 Mon Sep 17 00:00:00 2001 From: Richard Shaw Date: Tue, 10 May 2022 17:10:44 -0500 Subject: [PATCH 1/2] Use GNUInstallDirs for installation on *nix systems. --- CMakeLists.txt | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 887ddce2..0c791f30 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -221,13 +221,30 @@ if(NOT DISABLE_UT) endif() -install(FILES "${CMAKE_SOURCE_DIR}/neuron.conf" DESTINATION /etc/ld.so.conf.d) +# Set sane defaults for multi-lib linux systems +include(GNUInstallDirs) +if(UNIX) + mark_as_advanced(CLEAR + CMAKE_INSTALL_BINDIR + CMAKE_INSTALL_INCLUDEDIR + CMAKE_INSTALL_LIBDIR + CMAKE_INSTALL_SYSCONFDIR) +else() + set(CMAKE_INSTALL_BINDIR bin) + set(CMAKE_INSTALL_INCLUDEDIR etc) + set(CMAKE_INSTALL_LIBDIR lib) + set(CMAKE_INSTALL_SYSCONFDIR etc) +endif() + +# Should work, but CMake incorrectly prepends /usr to etc... +#install(FILES "${CMAKE_SOURCE_DIR}/neuron.conf" DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/ld.so.conf.d) +install(FILES "${CMAKE_SOURCE_DIR}/neuron.conf" DESTINATION etc/ld.so.conf.d) install(DIRECTORY "${CMAKE_SOURCE_DIR}/include/" - DESTINATION include + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} FILES_MATCHING PATTERN "*.h") install(FILES "${CMAKE_SOURCE_DIR}/cmake/neuron-config.cmake" - DESTINATION lib/cmake/neuron) -install(TARGETS neuron-base - LIBRARY DESTINATION lib - RUNTIME DESTINATION bin) + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/neuron) +install(TARGETS neuron neuron-base + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) From 52b82d7d85d9273b42fa900b97569aff0e4da0cb Mon Sep 17 00:00:00 2001 From: Richard Shaw Date: Tue, 10 May 2022 17:11:44 -0500 Subject: [PATCH 2/2] Fix typo in CMAK_INSTALL_INCLUDEDIR. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0c791f30..f9d3d0f3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -231,7 +231,7 @@ if(UNIX) CMAKE_INSTALL_SYSCONFDIR) else() set(CMAKE_INSTALL_BINDIR bin) - set(CMAKE_INSTALL_INCLUDEDIR etc) + set(CMAKE_INSTALL_INCLUDEDIR include) set(CMAKE_INSTALL_LIBDIR lib) set(CMAKE_INSTALL_SYSCONFDIR etc) endif()