From 56ca782790ed84e05622addd49e72b6b2a212885 Mon Sep 17 00:00:00 2001 From: "Diego E. Avila" Date: Fri, 17 Oct 2025 10:08:55 +0200 Subject: [PATCH] Fix #1023 - Add install targets to 3rdparty dependencies - Add cmake version config --- 3rdparty/cppzmq/CMakeLists.txt | 9 ++++++++- 3rdparty/flatbuffers/CMakeLists.txt | 9 ++++++++- 3rdparty/minicoro/CMakeLists.txt | 9 ++++++++- 3rdparty/minitrace/CMakeLists.txt | 9 ++++++++- 3rdparty/tinyxml2/CMakeLists.txt | 9 ++++++++- CMakeLists.txt | 2 +- cmake/conan_build.cmake | 7 +++++++ 7 files changed, 48 insertions(+), 6 deletions(-) diff --git a/3rdparty/cppzmq/CMakeLists.txt b/3rdparty/cppzmq/CMakeLists.txt index 9a0bb86b0..6e43a98df 100644 --- a/3rdparty/cppzmq/CMakeLists.txt +++ b/3rdparty/cppzmq/CMakeLists.txt @@ -7,7 +7,7 @@ add_library(cppzmq INTERFACE) target_include_directories(cppzmq INTERFACE - ${CMAKE_CURRENT_SOURCE_DIR} + $ ) if(TARGET libzmq-static) @@ -17,3 +17,10 @@ elseif(TARGET libzmq) else() message(FATAL_ERROR "Unknown zeromq target name") endif() + +install(TARGETS cppzmq + EXPORT ${BTCPP_LIBRARY}Targets + ARCHIVE DESTINATION ${BTCPP_LIB_DESTINATION} + LIBRARY DESTINATION ${BTCPP_LIB_DESTINATION} + RUNTIME DESTINATION ${BTCPP_BIN_DESTINATION} + INCLUDES DESTINATION ${BTCPP_INCLUDE_DESTINATION}) \ No newline at end of file diff --git a/3rdparty/flatbuffers/CMakeLists.txt b/3rdparty/flatbuffers/CMakeLists.txt index bc91f8e27..3670876e6 100644 --- a/3rdparty/flatbuffers/CMakeLists.txt +++ b/3rdparty/flatbuffers/CMakeLists.txt @@ -4,5 +4,12 @@ add_library(flatbuffers::flatbuffers ALIAS flatbuffers) target_include_directories(flatbuffers INTERFACE - ${CMAKE_CURRENT_SOURCE_DIR} + $ ) + +install(TARGETS flatbuffers + EXPORT ${BTCPP_LIBRARY}Targets + ARCHIVE DESTINATION ${BTCPP_LIB_DESTINATION} + LIBRARY DESTINATION ${BTCPP_LIB_DESTINATION} + RUNTIME DESTINATION ${BTCPP_BIN_DESTINATION} + INCLUDES DESTINATION ${BTCPP_INCLUDE_DESTINATION}) diff --git a/3rdparty/minicoro/CMakeLists.txt b/3rdparty/minicoro/CMakeLists.txt index 9508d8445..267449c4b 100644 --- a/3rdparty/minicoro/CMakeLists.txt +++ b/3rdparty/minicoro/CMakeLists.txt @@ -4,5 +4,12 @@ add_library(minicoro::minicoro ALIAS minicoro) target_include_directories(minicoro INTERFACE - ${CMAKE_CURRENT_SOURCE_DIR} + $ ) + +install(TARGETS minicoro + EXPORT ${BTCPP_LIBRARY}Targets + ARCHIVE DESTINATION ${BTCPP_LIB_DESTINATION} + LIBRARY DESTINATION ${BTCPP_LIB_DESTINATION} + RUNTIME DESTINATION ${BTCPP_BIN_DESTINATION} + INCLUDES DESTINATION ${BTCPP_INCLUDE_DESTINATION}) \ No newline at end of file diff --git a/3rdparty/minitrace/CMakeLists.txt b/3rdparty/minitrace/CMakeLists.txt index a228df116..f696bfc28 100644 --- a/3rdparty/minitrace/CMakeLists.txt +++ b/3rdparty/minitrace/CMakeLists.txt @@ -6,7 +6,7 @@ add_library(minitrace::minitrace ALIAS minitrace) target_include_directories(minitrace PUBLIC - ${CMAKE_CURRENT_SOURCE_DIR} + $ ) target_compile_definitions(minitrace @@ -18,3 +18,10 @@ set_property(TARGET minitrace PROPERTY POSITION_INDEPENDENT_CODE ON ) + +install(TARGETS minitrace + EXPORT ${BTCPP_LIBRARY}Targets + ARCHIVE DESTINATION ${BTCPP_LIB_DESTINATION} + LIBRARY DESTINATION ${BTCPP_LIB_DESTINATION} + RUNTIME DESTINATION ${BTCPP_BIN_DESTINATION} + INCLUDES DESTINATION ${BTCPP_INCLUDE_DESTINATION}) \ No newline at end of file diff --git a/3rdparty/tinyxml2/CMakeLists.txt b/3rdparty/tinyxml2/CMakeLists.txt index 9d5dc9fb9..fc44547ea 100644 --- a/3rdparty/tinyxml2/CMakeLists.txt +++ b/3rdparty/tinyxml2/CMakeLists.txt @@ -6,10 +6,17 @@ add_library(tinyxml2::tinyxml2 ALIAS tinyxml2) target_include_directories(tinyxml2 PUBLIC - ${CMAKE_CURRENT_SOURCE_DIR} + $ ) set_property(TARGET tinyxml2 PROPERTY POSITION_INDEPENDENT_CODE ON ) + +install(TARGETS tinyxml2 + EXPORT ${BTCPP_LIBRARY}Targets + ARCHIVE DESTINATION ${BTCPP_LIB_DESTINATION} + LIBRARY DESTINATION ${BTCPP_LIB_DESTINATION} + RUNTIME DESTINATION ${BTCPP_BIN_DESTINATION} + INCLUDES DESTINATION ${BTCPP_INCLUDE_DESTINATION}) \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 7cdeea380..ac4f3faf9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -226,7 +226,7 @@ target_link_libraries(${BTCPP_LIBRARY} PRIVATE Threads::Threads ${CMAKE_DL_LIBS} - foonathan::lexy + $ minitrace::minitrace tinyxml2::tinyxml2 minicoro::minicoro diff --git a/cmake/conan_build.cmake b/cmake/conan_build.cmake index d110fcceb..2f87243da 100644 --- a/cmake/conan_build.cmake +++ b/cmake/conan_build.cmake @@ -31,6 +31,12 @@ macro(export_btcpp_package) include(CMakePackageConfigHelpers) + write_basic_package_version_file( + "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" + VERSION ${PROJECT_VERSION} + COMPATIBILITY SameMajorVersion + ) + configure_package_config_file( "${PROJECT_SOURCE_DIR}/cmake/Config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" @@ -40,6 +46,7 @@ macro(export_btcpp_package) install( FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" DESTINATION "${BTCPP_LIB_DESTINATION}/cmake/${PROJECT_NAME}" ) endmacro()