From a1f08e5da1c120c8d7fff8c02af3c9e582ab8d2b Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Thu, 29 Aug 2024 10:23:13 -0400 Subject: [PATCH 1/3] Set bob install dir to CMAKE_LIBDIR - Fixes issues on 64bit systems when LIBDIR=lib64. CMake would relink to $ORIGIN:$ORIGIN/../lib64 and all the libs would be in lib. Signed-off-by: Aiden Woodruff --- cmake/bob.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/bob.cmake b/cmake/bob.cmake index 52c312666..eae99e9fb 100644 --- a/cmake/bob.cmake +++ b/cmake/bob.cmake @@ -156,8 +156,8 @@ endmacro(bob_public_dep) function(bob_export_target tgt_name) install(TARGETS ${tgt_name} EXPORT ${tgt_name}-target RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib) + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) install(EXPORT ${tgt_name}-target NAMESPACE ${PROJECT_NAME}:: DESTINATION lib/cmake/${PROJECT_NAME}) set(${PROJECT_NAME}_EXPORTED_TARGETS From 7cc2e23864cb1dc95ede55502ce7a79414db4c39 Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Fri, 6 Sep 2024 11:18:17 -0400 Subject: [PATCH 2/3] Replace other lib with LIBDIR and bin with BINDIR - Update CMake exported target install dir to CMAKE_INSTALL_LIBDIR. - Update executable destination to CMAKE_INSTALL_BINDIR. - Add quotes to directory names in case of spaces. Signed-off-by: Aiden Woodruff --- cmake/bob.cmake | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/cmake/bob.cmake b/cmake/bob.cmake index eae99e9fb..72c192a7f 100644 --- a/cmake/bob.cmake +++ b/cmake/bob.cmake @@ -155,11 +155,11 @@ endmacro(bob_public_dep) function(bob_export_target tgt_name) install(TARGETS ${tgt_name} EXPORT ${tgt_name}-target - RUNTIME DESTINATION bin - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") install(EXPORT ${tgt_name}-target NAMESPACE ${PROJECT_NAME}:: - DESTINATION lib/cmake/${PROJECT_NAME}) + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") set(${PROJECT_NAME}_EXPORTED_TARGETS ${${PROJECT_NAME}_EXPORTED_TARGETS} ${tgt_name} PARENT_SCOPE) endfunction(bob_export_target) @@ -174,7 +174,7 @@ endmacro(bob_end_subdir) function(bob_end_package) include(CMakePackageConfigHelpers) set(INCLUDE_INSTALL_DIR include) - set(LIB_INSTALL_DIR lib) + set(LIB_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}") set(CONFIG_CONTENT " set(${PROJECT_NAME}_VERSION ${${PROJECT_NAME}_VERSION}) include(CMakeFindDependencyMacro) @@ -213,7 +213,7 @@ set(${PROJECT_NAME}_CXX_FLAGS \"${CMAKE_CXX_FLAGS}\") ") install(FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" - DESTINATION lib/cmake/${PROJECT_NAME}) + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") if(PROJECT_VERSION) file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake @@ -224,6 +224,6 @@ set(${PROJECT_NAME}_CXX_FLAGS \"${CMAKE_CXX_FLAGS}\") COMPATIBILITY SameMajorVersion) install(FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" - DESTINATION lib/cmake/${PROJECT_NAME}) + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") endif() endfunction(bob_end_package) From 7df25b303aa8ad9ff09f2cec85d85040816047ad Mon Sep 17 00:00:00 2001 From: Aiden Woodruff Date: Fri, 6 Sep 2024 11:30:13 -0400 Subject: [PATCH 3/3] Replace include with CMAKE_INSTALL_INCLUDEDIR Signed-off-by: Aiden Woodruff --- cmake/bob.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/bob.cmake b/cmake/bob.cmake index 72c192a7f..4cbd4f84c 100644 --- a/cmake/bob.cmake +++ b/cmake/bob.cmake @@ -173,7 +173,7 @@ endmacro(bob_end_subdir) function(bob_end_package) include(CMakePackageConfigHelpers) - set(INCLUDE_INSTALL_DIR include) + set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}") set(LIB_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}") set(CONFIG_CONTENT " set(${PROJECT_NAME}_VERSION ${${PROJECT_NAME}_VERSION})