From 17f4d33356a37673b68da2b1613c1bf9c5e3bb20 Mon Sep 17 00:00:00 2001 From: DownerCase Date: Mon, 13 Jan 2025 12:08:19 +0000 Subject: [PATCH 1/8] Substitute INSTALL_LIB_DIR --- CMakeLists.txt | 1 - lang/csharp/Continental.eCAL.Core.Test/CMakeLists.txt | 2 +- lang/csharp/Continental.eCAL.Core/CMakeLists.txt | 2 +- lang/csharp/Continental.eCAL.Protobuf.Test/CMakeLists.txt | 2 +- lang/csharp/Continental.eCAL.Protobuf/CMakeLists.txt | 2 +- 5 files changed, 4 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f09b8fa7f3..7c79b0ecf4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -207,7 +207,6 @@ endif() # -------------------------------------------------------- # offer the user the choice of overriding the installation directories # -------------------------------------------------------- -set(INSTALL_LIB_DIR lib CACHE PATH "Installation directory for libraries") set(INSTALL_BIN_DIR bin CACHE PATH "Installation directory for executables") set(INSTALL_INCLUDE_DIR include CACHE PATH "Installation directory for header files") diff --git a/lang/csharp/Continental.eCAL.Core.Test/CMakeLists.txt b/lang/csharp/Continental.eCAL.Core.Test/CMakeLists.txt index 810e2a36a2..2af01e74be 100644 --- a/lang/csharp/Continental.eCAL.Core.Test/CMakeLists.txt +++ b/lang/csharp/Continental.eCAL.Core.Test/CMakeLists.txt @@ -44,7 +44,7 @@ install(TARGETS ${PROJECT_NAME} # IMPORTANT: Add the library to the "export-set" EXPORT eCALTargets RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT runtime - LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT sdk + LIBRARY DESTINATION "${eCAL_install_lib_dir}" COMPONENT sdk PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/ecal" COMPONENT sdk ) diff --git a/lang/csharp/Continental.eCAL.Core/CMakeLists.txt b/lang/csharp/Continental.eCAL.Core/CMakeLists.txt index c918aff104..db487bf196 100644 --- a/lang/csharp/Continental.eCAL.Core/CMakeLists.txt +++ b/lang/csharp/Continental.eCAL.Core/CMakeLists.txt @@ -40,7 +40,7 @@ install(TARGETS ${PROJECT_NAME} # IMPORTANT: Add the library to the "export-set" EXPORT eCALTargets RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT runtime - LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT sdk + LIBRARY DESTINATION "${eCAL_install_lib_dir}" COMPONENT sdk PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/ecal" COMPONENT sdk ) diff --git a/lang/csharp/Continental.eCAL.Protobuf.Test/CMakeLists.txt b/lang/csharp/Continental.eCAL.Protobuf.Test/CMakeLists.txt index 1d6ca615b5..5053c7d273 100644 --- a/lang/csharp/Continental.eCAL.Protobuf.Test/CMakeLists.txt +++ b/lang/csharp/Continental.eCAL.Protobuf.Test/CMakeLists.txt @@ -44,7 +44,7 @@ install(TARGETS ${PROJECT_NAME} # IMPORTANT: Add the library to the "export-set" EXPORT eCALTargets RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT runtime - LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT sdk + LIBRARY DESTINATION "${eCAL_install_lib_dir}" COMPONENT sdk PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/ecal" COMPONENT sdk ) diff --git a/lang/csharp/Continental.eCAL.Protobuf/CMakeLists.txt b/lang/csharp/Continental.eCAL.Protobuf/CMakeLists.txt index 7c82155993..f6e3b2fb69 100644 --- a/lang/csharp/Continental.eCAL.Protobuf/CMakeLists.txt +++ b/lang/csharp/Continental.eCAL.Protobuf/CMakeLists.txt @@ -47,7 +47,7 @@ install(TARGETS ${PROJECT_NAME} # IMPORTANT: Add the library to the "export-set" EXPORT eCALTargets RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT runtime - LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT sdk + LIBRARY DESTINATION "${eCAL_install_lib_dir}" COMPONENT sdk PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/ecal" COMPONENT sdk ) From 915228593727c6020a57ede46331b949e16eb4f3 Mon Sep 17 00:00:00 2001 From: DownerCase Date: Mon, 13 Jan 2025 12:14:19 +0000 Subject: [PATCH 2/8] Substitute INSTALL_BIN_DIR --- CMakeLists.txt | 1 - cmake/helper_functions/ecal_install_functions.cmake | 2 +- lang/csharp/Continental.eCAL.Core.Test/CMakeLists.txt | 2 +- lang/csharp/Continental.eCAL.Core/CMakeLists.txt | 2 +- lang/csharp/Continental.eCAL.Protobuf.Test/CMakeLists.txt | 2 +- lang/csharp/Continental.eCAL.Protobuf/CMakeLists.txt | 2 +- 6 files changed, 5 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7c79b0ecf4..fe17d57948 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -207,7 +207,6 @@ endif() # -------------------------------------------------------- # offer the user the choice of overriding the installation directories # -------------------------------------------------------- -set(INSTALL_BIN_DIR bin CACHE PATH "Installation directory for executables") set(INSTALL_INCLUDE_DIR include CACHE PATH "Installation directory for header files") if(WIN32 AND NOT CYGWIN) diff --git a/cmake/helper_functions/ecal_install_functions.cmake b/cmake/helper_functions/ecal_install_functions.cmake index 0558740809..66b1907b8c 100644 --- a/cmake/helper_functions/ecal_install_functions.cmake +++ b/cmake/helper_functions/ecal_install_functions.cmake @@ -138,7 +138,7 @@ endfunction() # Samples are sample applications that demonstrate eCAL capability -# They will be installed to "${INSTALL_BIN_DIR}/ecal_samples" +# They will be installed to `${prefix}/share/ecal/samples` function(ecal_install_sample TARGET_NAME) install(TARGETS ${TARGET_NAME} RUNTIME DESTINATION "${eCAL_install_samples_dir}" COMPONENT samples diff --git a/lang/csharp/Continental.eCAL.Core.Test/CMakeLists.txt b/lang/csharp/Continental.eCAL.Core.Test/CMakeLists.txt index 2af01e74be..f08bd1dc4e 100644 --- a/lang/csharp/Continental.eCAL.Core.Test/CMakeLists.txt +++ b/lang/csharp/Continental.eCAL.Core.Test/CMakeLists.txt @@ -43,7 +43,7 @@ set_property(TARGET ${PROJECT_NAME} PROPERTY install(TARGETS ${PROJECT_NAME} # IMPORTANT: Add the library to the "export-set" EXPORT eCALTargets - RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT runtime + RUNTIME DESTINATION "${eCAL_install_bin_dir}" COMPONENT runtime LIBRARY DESTINATION "${eCAL_install_lib_dir}" COMPONENT sdk PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/ecal" COMPONENT sdk ) diff --git a/lang/csharp/Continental.eCAL.Core/CMakeLists.txt b/lang/csharp/Continental.eCAL.Core/CMakeLists.txt index db487bf196..1e51e4c28d 100644 --- a/lang/csharp/Continental.eCAL.Core/CMakeLists.txt +++ b/lang/csharp/Continental.eCAL.Core/CMakeLists.txt @@ -39,7 +39,7 @@ set_property(TARGET ${PROJECT_NAME} PROPERTY POSITION_INDEPENDENT_CODE ON) install(TARGETS ${PROJECT_NAME} # IMPORTANT: Add the library to the "export-set" EXPORT eCALTargets - RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT runtime + RUNTIME DESTINATION "${eCAL_install_bin_dir}" COMPONENT runtime LIBRARY DESTINATION "${eCAL_install_lib_dir}" COMPONENT sdk PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/ecal" COMPONENT sdk ) diff --git a/lang/csharp/Continental.eCAL.Protobuf.Test/CMakeLists.txt b/lang/csharp/Continental.eCAL.Protobuf.Test/CMakeLists.txt index 5053c7d273..a0204fec11 100644 --- a/lang/csharp/Continental.eCAL.Protobuf.Test/CMakeLists.txt +++ b/lang/csharp/Continental.eCAL.Protobuf.Test/CMakeLists.txt @@ -43,7 +43,7 @@ set_property(TARGET ${PROJECT_NAME} PROPERTY install(TARGETS ${PROJECT_NAME} # IMPORTANT: Add the library to the "export-set" EXPORT eCALTargets - RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT runtime + RUNTIME DESTINATION "${eCAL_install_bin_dir}" COMPONENT runtime LIBRARY DESTINATION "${eCAL_install_lib_dir}" COMPONENT sdk PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/ecal" COMPONENT sdk ) diff --git a/lang/csharp/Continental.eCAL.Protobuf/CMakeLists.txt b/lang/csharp/Continental.eCAL.Protobuf/CMakeLists.txt index f6e3b2fb69..0656899a29 100644 --- a/lang/csharp/Continental.eCAL.Protobuf/CMakeLists.txt +++ b/lang/csharp/Continental.eCAL.Protobuf/CMakeLists.txt @@ -46,7 +46,7 @@ set_property(TARGET ${PROJECT_NAME} PROPERTY install(TARGETS ${PROJECT_NAME} # IMPORTANT: Add the library to the "export-set" EXPORT eCALTargets - RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT runtime + RUNTIME DESTINATION "${eCAL_install_bin_dir}" COMPONENT runtime LIBRARY DESTINATION "${eCAL_install_lib_dir}" COMPONENT sdk PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/ecal" COMPONENT sdk ) From af331139d7edf34c2400a56f9114665d3695d9e9 Mon Sep 17 00:00:00 2001 From: DownerCase Date: Mon, 13 Jan 2025 12:16:47 +0000 Subject: [PATCH 3/8] Remove unused INSTALL_CMAKE_DIR --- CMakeLists.txt | 7 ------- 1 file changed, 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fe17d57948..1bf0e82add 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -209,13 +209,6 @@ endif() # -------------------------------------------------------- set(INSTALL_INCLUDE_DIR include CACHE PATH "Installation directory for header files") -if(WIN32 AND NOT CYGWIN) - set(DEF_INSTALL_CMAKE_DIR CMake) -else() - set(DEF_INSTALL_CMAKE_DIR lib/CMake/eCAL) -endif() -set(INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH - "Installation directory for CMake files") include(GNUInstallDirs) set(eCAL_install_app_dir ${CMAKE_INSTALL_BINDIR}) From 755f3b6862eb23385967bb41638207ecc1f2fcf0 Mon Sep 17 00:00:00 2001 From: DownerCase Date: Mon, 13 Jan 2025 12:29:58 +0000 Subject: [PATCH 4/8] Substitute install include dir --- CMakeLists.txt | 3 --- app/apps/CMakeLists.txt | 4 ++-- app/mon/mon_plugin_lib/CMakeLists.txt | 2 +- app/rec/rec_addon_core/CMakeLists.txt | 2 +- contrib/ecalhdf5/CMakeLists.txt | 2 +- contrib/measurement/base/CMakeLists.txt | 2 +- contrib/measurement/hdf5/CMakeLists.txt | 2 +- ecal/core/CMakeLists.txt | 6 +++--- lang/csharp/Continental.eCAL.Core.Test/CMakeLists.txt | 2 +- lang/csharp/Continental.eCAL.Core/CMakeLists.txt | 2 +- lang/csharp/Continental.eCAL.Protobuf.Test/CMakeLists.txt | 2 +- lang/csharp/Continental.eCAL.Protobuf/CMakeLists.txt | 2 +- 12 files changed, 14 insertions(+), 17 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1bf0e82add..2452dcfdec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -207,9 +207,6 @@ endif() # -------------------------------------------------------- # offer the user the choice of overriding the installation directories # -------------------------------------------------------- -set(INSTALL_INCLUDE_DIR include CACHE PATH - "Installation directory for header files") - include(GNUInstallDirs) set(eCAL_install_app_dir ${CMAKE_INSTALL_BINDIR}) set(eCAL_install_archive_dir ${CMAKE_INSTALL_LIBDIR}) diff --git a/app/apps/CMakeLists.txt b/app/apps/CMakeLists.txt index 2a88de0679..2e4c3d616b 100644 --- a/app/apps/CMakeLists.txt +++ b/app/apps/CMakeLists.txt @@ -31,9 +31,9 @@ target_include_directories(${PROJECT_NAME} INTERFACE #install( # DIRECTORY "include/" -# DESTINATION "${INSTALL_INCLUDE_DIR}" +# DESTINATION "${eCAL_install_include_dir}" # COMPONENT sdk # FILES_MATCHING PATTERN "*.h" #) -#set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER contrib) \ No newline at end of file +#set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER contrib) diff --git a/app/mon/mon_plugin_lib/CMakeLists.txt b/app/mon/mon_plugin_lib/CMakeLists.txt index bf817acdb3..f7a6f4b708 100644 --- a/app/mon/mon_plugin_lib/CMakeLists.txt +++ b/app/mon/mon_plugin_lib/CMakeLists.txt @@ -53,7 +53,7 @@ target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) ecal_install_library(${PROJECT_NAME}) install(DIRECTORY - "include/" DESTINATION "${INSTALL_INCLUDE_DIR}" COMPONENT sdk + "include/" DESTINATION "${eCAL_install_include_dir}" COMPONENT sdk FILES_MATCHING PATTERN "*.h") set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER app/mon) diff --git a/app/rec/rec_addon_core/CMakeLists.txt b/app/rec/rec_addon_core/CMakeLists.txt index 430e8bb6d0..cb86af603f 100644 --- a/app/rec/rec_addon_core/CMakeLists.txt +++ b/app/rec/rec_addon_core/CMakeLists.txt @@ -58,7 +58,7 @@ target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_14) ecal_install_library(${PROJECT_NAME}) install(DIRECTORY - "include/" DESTINATION "${INSTALL_INCLUDE_DIR}" COMPONENT sdk + "include/" DESTINATION "${eCAL_install_include_dir}" COMPONENT sdk FILES_MATCHING PATTERN "*.h") source_group(TREE "${CMAKE_CURRENT_LIST_DIR}" diff --git a/contrib/ecalhdf5/CMakeLists.txt b/contrib/ecalhdf5/CMakeLists.txt index 37b87df48f..cd9073b74b 100644 --- a/contrib/ecalhdf5/CMakeLists.txt +++ b/contrib/ecalhdf5/CMakeLists.txt @@ -137,7 +137,7 @@ source_group(TREE "${CMAKE_CURRENT_LIST_DIR}" ecal_install_library(${PROJECT_NAME}) install(DIRECTORY - "include/" DESTINATION "${INSTALL_INCLUDE_DIR}" COMPONENT sdk + "include/" DESTINATION "${eCAL_install_include_dir}" COMPONENT sdk FILES_MATCHING PATTERN "*.h") set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER contrib) diff --git a/contrib/measurement/base/CMakeLists.txt b/contrib/measurement/base/CMakeLists.txt index 3e89f6554d..258a0fdf9f 100644 --- a/contrib/measurement/base/CMakeLists.txt +++ b/contrib/measurement/base/CMakeLists.txt @@ -33,7 +33,7 @@ target_include_directories(${PROJECT_NAME} INTERFACE ecal_install_library(${PROJECT_NAME}) install(DIRECTORY - "include/" DESTINATION "${INSTALL_INCLUDE_DIR}" COMPONENT sdk + "include/" DESTINATION "${eCAL_install_include_dir}" COMPONENT sdk ) diff --git a/contrib/measurement/hdf5/CMakeLists.txt b/contrib/measurement/hdf5/CMakeLists.txt index 9e17e8aefc..209d68daaa 100644 --- a/contrib/measurement/hdf5/CMakeLists.txt +++ b/contrib/measurement/hdf5/CMakeLists.txt @@ -42,7 +42,7 @@ target_link_libraries(${PROJECT_NAME} ecal_install_library(${PROJECT_NAME}) install(DIRECTORY - "include/" DESTINATION "${INSTALL_INCLUDE_DIR}" COMPONENT sdk + "include/" DESTINATION "${eCAL_install_include_dir}" COMPONENT sdk ) set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER contrib) diff --git a/ecal/core/CMakeLists.txt b/ecal/core/CMakeLists.txt index 29e4de4b98..9b753a1fcb 100644 --- a/ecal/core/CMakeLists.txt +++ b/ecal/core/CMakeLists.txt @@ -764,12 +764,12 @@ ecal_install_ecal_shared_library(${PROJECT_NAME}_c) ecal_install_ecal_shared_library(${PROJECT_NAME}) install(DIRECTORY - "include/" DESTINATION "${INSTALL_INCLUDE_DIR}" COMPONENT sdk + "include/" DESTINATION "${eCAL_install_include_dir}" COMPONENT sdk FILES_MATCHING PATTERN "*.h") # install generated ecal_defs.h file install(DIRECTORY - "${CMAKE_CURRENT_BINARY_DIR}/include/" DESTINATION "${INSTALL_INCLUDE_DIR}" COMPONENT sdk + "${CMAKE_CURRENT_BINARY_DIR}/include/" DESTINATION "${eCAL_install_include_dir}" COMPONENT sdk FILES_MATCHING PATTERN "*.h") if(NOT ${CMAKE_VERSION} VERSION_LESS "3.8.0") @@ -793,4 +793,4 @@ if(UNIX) ecal_install_app(${PROJECT_NAME_PROCESS_STUB}) set_property(TARGET ${PROJECT_NAME_PROCESS_STUB} PROPERTY FOLDER core) -endif(UNIX) \ No newline at end of file +endif(UNIX) diff --git a/lang/csharp/Continental.eCAL.Core.Test/CMakeLists.txt b/lang/csharp/Continental.eCAL.Core.Test/CMakeLists.txt index f08bd1dc4e..8a28316699 100644 --- a/lang/csharp/Continental.eCAL.Core.Test/CMakeLists.txt +++ b/lang/csharp/Continental.eCAL.Core.Test/CMakeLists.txt @@ -45,7 +45,7 @@ install(TARGETS ${PROJECT_NAME} EXPORT eCALTargets RUNTIME DESTINATION "${eCAL_install_bin_dir}" COMPONENT runtime LIBRARY DESTINATION "${eCAL_install_lib_dir}" COMPONENT sdk - PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/ecal" COMPONENT sdk + PUBLIC_HEADER DESTINATION "${eCAL_install_include_dir}/ecal" COMPONENT sdk ) set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER tests/csharp) diff --git a/lang/csharp/Continental.eCAL.Core/CMakeLists.txt b/lang/csharp/Continental.eCAL.Core/CMakeLists.txt index 1e51e4c28d..b1c42aac56 100644 --- a/lang/csharp/Continental.eCAL.Core/CMakeLists.txt +++ b/lang/csharp/Continental.eCAL.Core/CMakeLists.txt @@ -41,7 +41,7 @@ install(TARGETS ${PROJECT_NAME} EXPORT eCALTargets RUNTIME DESTINATION "${eCAL_install_bin_dir}" COMPONENT runtime LIBRARY DESTINATION "${eCAL_install_lib_dir}" COMPONENT sdk - PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/ecal" COMPONENT sdk + PUBLIC_HEADER DESTINATION "${eCAL_install_include_dir}/ecal" COMPONENT sdk ) set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER lang/csharp) diff --git a/lang/csharp/Continental.eCAL.Protobuf.Test/CMakeLists.txt b/lang/csharp/Continental.eCAL.Protobuf.Test/CMakeLists.txt index a0204fec11..18090823cb 100644 --- a/lang/csharp/Continental.eCAL.Protobuf.Test/CMakeLists.txt +++ b/lang/csharp/Continental.eCAL.Protobuf.Test/CMakeLists.txt @@ -45,7 +45,7 @@ install(TARGETS ${PROJECT_NAME} EXPORT eCALTargets RUNTIME DESTINATION "${eCAL_install_bin_dir}" COMPONENT runtime LIBRARY DESTINATION "${eCAL_install_lib_dir}" COMPONENT sdk - PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/ecal" COMPONENT sdk + PUBLIC_HEADER DESTINATION "${eCAL_install_include_dir}/ecal" COMPONENT sdk ) set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER tests/csharp) diff --git a/lang/csharp/Continental.eCAL.Protobuf/CMakeLists.txt b/lang/csharp/Continental.eCAL.Protobuf/CMakeLists.txt index 0656899a29..88e8f545f0 100644 --- a/lang/csharp/Continental.eCAL.Protobuf/CMakeLists.txt +++ b/lang/csharp/Continental.eCAL.Protobuf/CMakeLists.txt @@ -48,7 +48,7 @@ install(TARGETS ${PROJECT_NAME} EXPORT eCALTargets RUNTIME DESTINATION "${eCAL_install_bin_dir}" COMPONENT runtime LIBRARY DESTINATION "${eCAL_install_lib_dir}" COMPONENT sdk - PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/ecal" COMPONENT sdk + PUBLIC_HEADER DESTINATION "${eCAL_install_include_dir}/ecal" COMPONENT sdk ) set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER lang/csharp) From 9ce442363fd8c554e1d84b3b8c59ee566b07bb44 Mon Sep 17 00:00:00 2001 From: DownerCase Date: Mon, 13 Jan 2025 12:37:16 +0000 Subject: [PATCH 5/8] Use GNU install dir for protobuf headers --- app/app_pb/CMakeLists.txt | 5 ++++- contrib/ecaltime/ecaltime_pb/CMakeLists.txt | 5 ++++- ecal/core_pb/CMakeLists.txt | 5 ++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/app/app_pb/CMakeLists.txt b/app/app_pb/CMakeLists.txt index 4118e26256..f9202924cc 100644 --- a/app/app_pb/CMakeLists.txt +++ b/app/app_pb/CMakeLists.txt @@ -59,7 +59,10 @@ endif() add_library(eCAL::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) -protobuf_target_cpp(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/src INSTALL_FOLDER include ${ProtoFiles}) +protobuf_target_cpp(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/src + INSTALL_FOLDER "${eCAL_install_include_dir}" + ${ProtoFiles} +) target_compile_options(${PROJECT_NAME} PRIVATE diff --git a/contrib/ecaltime/ecaltime_pb/CMakeLists.txt b/contrib/ecaltime/ecaltime_pb/CMakeLists.txt index 59998dfefe..a6d9cd7513 100644 --- a/contrib/ecaltime/ecaltime_pb/CMakeLists.txt +++ b/contrib/ecaltime/ecaltime_pb/CMakeLists.txt @@ -48,7 +48,10 @@ endif() add_library(eCAL::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) -protobuf_target_cpp(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/src INSTALL_FOLDER include ${ProtoFiles}) +protobuf_target_cpp(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/src + INSTALL_FOLDER "${eCAL_install_include_dir}" + ${ProtoFiles} +) target_compile_options(${PROJECT_NAME} PRIVATE diff --git a/ecal/core_pb/CMakeLists.txt b/ecal/core_pb/CMakeLists.txt index 6259f6a56a..6ab84cd160 100644 --- a/ecal/core_pb/CMakeLists.txt +++ b/ecal/core_pb/CMakeLists.txt @@ -56,7 +56,10 @@ endif() add_library(eCAL::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) -protobuf_target_cpp(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/src INSTALL_FOLDER include ${ProtoFiles}) +protobuf_target_cpp(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/src + INSTALL_FOLDER "${eCAL_install_include_dir}" + ${ProtoFiles} +) target_compile_options(${PROJECT_NAME} PRIVATE From 600487e04fd56107327f5ffdd293203b04726fc5 Mon Sep 17 00:00:00 2001 From: DownerCase Date: Mon, 13 Jan 2025 12:43:13 +0000 Subject: [PATCH 6/8] Use GNU dir for asioTargets --- thirdparty/asio/build-asio.cmake | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/thirdparty/asio/build-asio.cmake b/thirdparty/asio/build-asio.cmake index c835e9a012..0d0ea6bf90 100644 --- a/thirdparty/asio/build-asio.cmake +++ b/thirdparty/asio/build-asio.cmake @@ -1,5 +1,6 @@ include_guard(GLOBAL) +include(GNUInstallDirs) add_library(asio INTERFACE EXCLUDE_FROM_ALL) target_include_directories(asio INTERFACE $ @@ -20,7 +21,7 @@ install( install( EXPORT asioTargets FILE asioTargets.cmake - DESTINATION lib/CMake + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake" NAMESPACE asio:: COMPONENT asio_dev -) \ No newline at end of file +) From 17474decc509de27006fa56afe498ab16d06cb30 Mon Sep 17 00:00:00 2001 From: DownerCase Date: Mon, 13 Jan 2025 12:45:37 +0000 Subject: [PATCH 7/8] Use GNU dir for CMakeFunctions --- thirdparty/cmakefunctions/cmake_functions/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/thirdparty/cmakefunctions/cmake_functions/CMakeLists.txt b/thirdparty/cmakefunctions/cmake_functions/CMakeLists.txt index 8d13b791c1..4d44da2ae7 100644 --- a/thirdparty/cmakefunctions/cmake_functions/CMakeLists.txt +++ b/thirdparty/cmakefunctions/cmake_functions/CMakeLists.txt @@ -4,11 +4,12 @@ include(cmake_functions.cmake) project(CMakeFunctions VERSION 0.4.1) +include(GNUInstallDirs) if (MSVC) # Variable definitions set(cmake_functions_install_cmake_dir cmake) else (MSVC) -set(cmake_functions_install_cmake_dir lib/cmake/${PROJECT_NAME}-${PROJECT_VERSION}) +set(cmake_functions_install_cmake_dir "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}-${PROJECT_VERSION}") endif (MSVC) set(cmake_functions_config ${CMAKE_CURRENT_BINARY_DIR}/cmake/${PROJECT_NAME}Config.cmake) set(cmake_functions_config_version ${CMAKE_CURRENT_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake) From ac159e4bb7fa3feedb9baf5fb4289d7980dba818 Mon Sep 17 00:00:00 2001 From: DownerCase Date: Mon, 13 Jan 2025 14:56:07 +0000 Subject: [PATCH 8/8] hdf5: Use GNU dirs --- thirdparty/hdf5/build-hdf5.cmake | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/thirdparty/hdf5/build-hdf5.cmake b/thirdparty/hdf5/build-hdf5.cmake index de11131e15..dc3aa09e30 100644 --- a/thirdparty/hdf5/build-hdf5.cmake +++ b/thirdparty/hdf5/build-hdf5.cmake @@ -28,7 +28,8 @@ include_guard(GLOBAL) set(HDF5_BUILD_EXAMPLES OFF CACHE BOOL "Do not build HDF5 Library Examples" FORCE) set(HDF5_BUILD_CPP_LIB OFF CACHE BOOL "Do not build C++ lib" FORCE) set(HDF5_BUILD_HL_LIB OFF CACHE BOOL "Do not build hdf5-hl" FORCE) - + set(HDF5_USE_GNU_DIRS ON CACHE BOOL "Use GNU install dirs" FORCE) + # TODO: Let HDF5 use its own targets. # Adding the HDF5 targets to the eCALCoreTargets is a hack that we have had # before and so I am adding it again, to not break compatibility in eCAL 5.8 @@ -74,4 +75,4 @@ include_guard(GLOBAL) unset(CMAKE_RUNTIME_OUTPUT_DIRECTORY CACHE) endif() - set(BUILD_SHARED_LIBS ${OLD_BUILD_SHARED_LIBS} CACHE BOOL "Build hdf5 shared" FORCE) \ No newline at end of file + set(BUILD_SHARED_LIBS ${OLD_BUILD_SHARED_LIBS} CACHE BOOL "Build hdf5 shared" FORCE)