From 4c25be41098b0d103b61cd5e5125476b6d8f2f1e Mon Sep 17 00:00:00 2001 From: synacker Date: Sun, 25 May 2025 21:30:14 +0300 Subject: [PATCH 1/2] Added cmake config for find_package --- src/DaggyCore/CMakeLists.txt | 32 +++++++++++++++++++++++--------- src/DaggyCore/Config.cmake.in | 6 ++++++ 2 files changed, 29 insertions(+), 9 deletions(-) create mode 100644 src/DaggyCore/Config.cmake.in diff --git a/src/DaggyCore/CMakeLists.txt b/src/DaggyCore/CMakeLists.txt index 25dfac4f..c0aeb664 100644 --- a/src/DaggyCore/CMakeLists.txt +++ b/src/DaggyCore/CMakeLists.txt @@ -107,17 +107,31 @@ if (BUILD_TESTING) add_subdirectory(tests/interface) endif() -if(NOT APPONLY_BUILD) +if (NOT APPONLY_BUILD) if(UNIX) - install(TARGETS ${TARGET} LIBRARY) - else() - install(TARGETS ${TARGET} ARCHIVE) - endif() + install(TARGETS ${TARGET} + EXPORT ${TARGET}Targets + PUBLIC_HEADER FILE_SET HEADERS + LIBRARY) + install(EXPORT ${TARGET}Targets + FILE ${TARGET}Targets.cmake + NAMESPACE "${PROJECT_NAME}::" + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${TARGET}) + + include(CMakePackageConfigHelpers) + configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in + "${CMAKE_CURRENT_BINARY_DIR}/${TARGET}Config.cmake" + INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${TARGET}) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}Config.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${TARGET}) - if (BUILD_SHARED_LIBS) - install(TARGETS ${TARGET} RUNTIME) + else() + install(TARGETS ${TARGET} + PUBLIC_HEADER FILE_SET HEADERS + ARCHIVE + RUNTIME) endif() - - install(TARGETS ${TARGET} FILE_SET HEADERS) include(package_deps) endif() + + diff --git a/src/DaggyCore/Config.cmake.in b/src/DaggyCore/Config.cmake.in new file mode 100644 index 00000000..2eb4293c --- /dev/null +++ b/src/DaggyCore/Config.cmake.in @@ -0,0 +1,6 @@ +@PACKAGE_INIT@ + +include("${CMAKE_CURRENT_LIST_DIR}/@TARGET@Targets.cmake") + +check_requred_compinents(@TARGET@) +include(CMakeFindDependencyMacro) From 637f9e502adeb2611850cd7f1103e86565df0e84 Mon Sep 17 00:00:00 2001 From: synacker Date: Sun, 25 May 2025 23:34:56 +0300 Subject: [PATCH 2/2] Fix windows package --- src/cmake/package_deps.cmake | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/cmake/package_deps.cmake b/src/cmake/package_deps.cmake index 4a9df994..84830006 100644 --- a/src/cmake/package_deps.cmake +++ b/src/cmake/package_deps.cmake @@ -3,6 +3,11 @@ if (PORTABLE_BUILD AND CONAN_BUILD) RUNTIME_DEPENDENCY_SET ${TARGET}_deps ) + set(EXTERNAL_PACKAGE_DEST ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}) + if (WIN32) + set(EXTERNAL_PACKAGE_DEST ${CMAKE_INSTALL_BINDIR}) + endif() + install(RUNTIME_DEPENDENCY_SET ${TARGET}_deps PRE_EXCLUDE_REGEXES [=[api-ms-]=] @@ -13,6 +18,6 @@ if (PORTABLE_BUILD AND CONAN_BUILD) [=[.*system32\/.*\.dll]=] [=[^\/(lib|usr\/lib|usr\/local\/lib\/lib64)]=] DIRECTORIES ${CONAN_RUNTIME_LIB_DIRS} ${CONAN_LIB_DIRS} - DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME} + DESTINATION ${EXTERNAL_PACKAGE_DEST} ) endif()