From dcf4b9d4639e03bb17b4bedf7ad6c790c678053a Mon Sep 17 00:00:00 2001 From: Magni Mar Magnason Date: Wed, 28 Feb 2024 13:18:21 +0000 Subject: [PATCH 01/11] add install --- CMakeLists.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6dffb56..d758af3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,6 +31,21 @@ add_library(modbus target_link_libraries(modbus PUBLIC asio) target_include_directories(modbus PUBLIC $) +include(GNUInstallDirs) + +install(TARGETS modbus + EXPORT modbus-targets + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR} +) +install(DIRECTORY + ${CMAKE_CURRENT_SOURCE_DIR}/inc/public/ + # ${INCLUDE_DIR} + DESTINATION include) + if (BUILD_EXAMPLES) add_subdirectory(examples) endif() From 4a589db31384e591defff950592523d59c592f2a Mon Sep 17 00:00:00 2001 From: Magni Mar Magnason Date: Wed, 28 Feb 2024 13:20:42 +0000 Subject: [PATCH 02/11] better include --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d758af3..dabeb51 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -42,7 +42,7 @@ install(TARGETS modbus BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR} ) install(DIRECTORY - ${CMAKE_CURRENT_SOURCE_DIR}/inc/public/ + ${CMAKE_CURRENT_SOURCE_DIR}/include/ # ${INCLUDE_DIR} DESTINATION include) From 07146302cc915e8b1addb0471735e066cc6591b0 Mon Sep 17 00:00:00 2001 From: Magni Mar Magnason Date: Wed, 28 Feb 2024 13:21:40 +0000 Subject: [PATCH 03/11] update cmake --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index dabeb51..69c2a42 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.25) +cmake_minimum_required(VERSION 3.27) project(modbus VERSION 0.0.1 From c336fb64699c7045f1cb76f18dfae1dfc1c3f177 Mon Sep 17 00:00:00 2001 From: Magni Mar Magnason Date: Wed, 28 Feb 2024 14:29:31 +0000 Subject: [PATCH 04/11] add instasll interface --- CMakeLists.txt | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 69c2a42..b015492 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,22 +29,30 @@ add_library(modbus src/error.cpp) target_link_libraries(modbus PUBLIC asio) -target_include_directories(modbus PUBLIC $) +target_include_directories(modbus PUBLIC + $ + $ +) + +# target_include_directories(ipc +# PUBLIC +# $ +# $ +# $ +# ) include(GNUInstallDirs) install(TARGETS modbus - EXPORT modbus-targets + EXPORT modbus LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR} ) -install(DIRECTORY - ${CMAKE_CURRENT_SOURCE_DIR}/include/ - # ${INCLUDE_DIR} - DESTINATION include) + +# install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION include) if (BUILD_EXAMPLES) add_subdirectory(examples) From 7b768c84609d5e89d72db12eef0ef2c1277c1f11 Mon Sep 17 00:00:00 2001 From: Magni Mar Magnason Date: Wed, 28 Feb 2024 14:59:04 +0000 Subject: [PATCH 05/11] add instasll interface --- CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index b015492..db63db4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -51,6 +51,7 @@ install(TARGETS modbus PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR} ) +install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/include/ DESTINATION include) # install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION include) @@ -79,3 +80,6 @@ add_custom_target( --dry-run ${ALL_SOURCE_FILES} ) + + +message("Using ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION} for ${CMAKE_SYSTEM_PROCESSOR}") From e5671869469c4c56f0cdec1c9760d83503d84112 Mon Sep 17 00:00:00 2001 From: Magni Mar Magnason Date: Wed, 28 Feb 2024 15:22:58 +0000 Subject: [PATCH 06/11] configure install file --- CMakeLists.txt | 36 +++++++++++++++++++++++++++++++++++- CMakePresets.json | 3 ++- modbusConfig.cmake.in | 0 3 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 modbusConfig.cmake.in diff --git a/CMakeLists.txt b/CMakeLists.txt index db63db4..40a7f90 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -44,7 +44,7 @@ target_include_directories(modbus PUBLIC include(GNUInstallDirs) install(TARGETS modbus - EXPORT modbus + EXPORT modbusTargets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} @@ -83,3 +83,37 @@ add_custom_target( message("Using ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION} for ${CMAKE_SYSTEM_PROCESSOR}") + +# Let's go ahead and install everything properly +include(GNUInstallDirs) +include(CMakePackageConfigHelpers) + +set(modbus_PACKAGE_NAME modbus) +set(modbus_INSTALL_CMAKEDIR ${CMAKE_INSTALL_DATADIR}/${modbus_PACKAGE_NAME}) + +write_basic_package_version_file( + "${CMAKE_CURRENT_BINARY_DIR}/${modbus_PACKAGE_NAME}ConfigVersion.cmake" + VERSION ${CMAKE_PROJECT_VERSION} + COMPATIBILITY SameMajorVersion +) + +configure_package_config_file( + "${CMAKE_CURRENT_LIST_DIR}/${modbus_PACKAGE_NAME}Config.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/${modbus_PACKAGE_NAME}Config.cmake" + INSTALL_DESTINATION ${modbus_INSTALL_CMAKEDIR} +) + +install(EXPORT ${modbus_PACKAGE_NAME}Targets DESTINATION ${modbus_INSTALL_CMAKEDIR}) +install( + FILES + "${CMAKE_CURRENT_BINARY_DIR}/${modbus_PACKAGE_NAME}ConfigVersion.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/${modbus_PACKAGE_NAME}Config.cmake" + DESTINATION ${modbus_INSTALL_CMAKEDIR} +) + +install( + EXPORT ${modbus_PACKAGE_NAME}Targets + NAMESPACE modbus:: + DESTINATION ${modbus_INSTALL_CMAKEDIR} +) + diff --git a/CMakePresets.json b/CMakePresets.json index 2e1ddd9..029c8cd 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -14,7 +14,8 @@ { "name": "conf-gcc", "cacheVariables": { - "VCPKG_TARGET_TRIPLET": "x64-linux-gcc" + "VCPKG_TARGET_TRIPLET": "x64-linux-gcc", + "CMAKE_INSTALL_PREFIX": "${fileDir}/install/${presetName}" }, "inherits": [ "conf-base" diff --git a/modbusConfig.cmake.in b/modbusConfig.cmake.in new file mode 100644 index 0000000..e69de29 From a68fbde005d3719e28d288f45768e44e32cccb29 Mon Sep 17 00:00:00 2001 From: Magni Mar Magnason Date: Wed, 28 Feb 2024 15:27:26 +0000 Subject: [PATCH 07/11] add install file to gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index cdc525d..2bb351c 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ cmake-build* vcpkg/ .vscode CMakeUserPresets.json -*.kdev4 \ No newline at end of file +*.kdev4 +install/* From 42903bb089f45f0d7cab0cc00e9b6bd98d5508ef Mon Sep 17 00:00:00 2001 From: Magni Mar Magnason Date: Wed, 28 Feb 2024 15:30:09 +0000 Subject: [PATCH 08/11] downgrade cmake --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 40a7f90..9ed3161 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.27) +cmake_minimum_required(VERSION 3.25) project(modbus VERSION 0.0.1 From 8958b4703c2dd6580d56310155ee5db253cc5ce5 Mon Sep 17 00:00:00 2001 From: magni-mar <135731785+magni-mar@users.noreply.github.com> Date: Wed, 28 Feb 2024 15:40:15 +0000 Subject: [PATCH 09/11] Update CMakeLists.txt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Ómar Högni Guðmarsson --- CMakeLists.txt | 7 ------- 1 file changed, 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9ed3161..8004e24 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,13 +34,6 @@ target_include_directories(modbus PUBLIC $ ) -# target_include_directories(ipc -# PUBLIC -# $ -# $ -# $ -# ) - include(GNUInstallDirs) install(TARGETS modbus From 6dc2b73ef486a26eeade8158dc095da8541ced3e Mon Sep 17 00:00:00 2001 From: magni-mar <135731785+magni-mar@users.noreply.github.com> Date: Wed, 28 Feb 2024 15:40:20 +0000 Subject: [PATCH 10/11] Update CMakeLists.txt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Ómar Högni Guðmarsson --- CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8004e24..bdb7125 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,7 +46,6 @@ install(TARGETS modbus ) install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/include/ DESTINATION include) -# install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION include) if (BUILD_EXAMPLES) add_subdirectory(examples) From 7abff2296e0bb16bcfaa4ba76e62a9f9aac128ce Mon Sep 17 00:00:00 2001 From: magni-mar <135731785+magni-mar@users.noreply.github.com> Date: Wed, 28 Feb 2024 15:40:27 +0000 Subject: [PATCH 11/11] Update CMakeLists.txt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Ómar Högni Guðmarsson --- CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bdb7125..7eb36aa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -74,7 +74,6 @@ add_custom_target( ) -message("Using ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION} for ${CMAKE_SYSTEM_PROCESSOR}") # Let's go ahead and install everything properly include(GNUInstallDirs)