diff --git a/build/CMakeLists.txt b/build/CMakeLists.txt index be1975ed..26815dec 100644 --- a/build/CMakeLists.txt +++ b/build/CMakeLists.txt @@ -73,6 +73,11 @@ if(WITH_LIBRARY) ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Libraries) + + FILE(GLOB LIBI2PD_HEADERS ${LIBI2PD_SRC_DIR}/*.h*) + install(FILES ${LIBI2PD_HEADERS} + DESTINATION include/libi2pd + COMPONENT Libraries) endif() include_directories(${LIBI2PD_CLIENT_SRC_DIR}) @@ -86,6 +91,11 @@ if(WITH_LIBRARY) ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Libraries) + + FILE(GLOB LIBI2PD_CLIENT_HEADERS ${LIBI2PD_CLIENT_SRC_DIR}/*.h*) + install(FILES ${LIBI2PD_CLIENT_HEADERS} + DESTINATION include/libi2pdclient + COMPONENT Libraries) endif() include_directories(${LANG_SRC_DIR}) @@ -99,6 +109,11 @@ if(WITH_LIBRARY) ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Libraries) + + FILE(GLOB LANG_HEADERS ${LANG_SRC_DIR}/*.h*) + install(FILES ${LANG_HEADERS} + DESTINATION include/libi2pdlang + COMPONENT Libraries) endif() include_directories(${DAEMON_SRC_DIR}) @@ -425,3 +440,21 @@ endif() if(BUILD_TESTING) add_subdirectory(${CMAKE_SOURCE_DIR}/tests ${CMAKE_CURRENT_BINARY_DIR}/tests) endif() + +if(WITH_LIBRARY) + include(CMakePackageConfigHelpers) + write_basic_package_version_file( + "${CMAKE_CURRENT_BINARY_DIR}/i2pdConfigVersion.cmake" + VERSION ${Upstream_VERSION} + COMPATIBILITY AnyNewerVersion) + + configure_file(cmake/i2pdConfig.cmake + "${CMAKE_CURRENT_BINARY_DIR}/i2pdConfig.cmake") + + install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/i2pdConfig.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/i2pdConfigVersion.cmake" + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/i2pd + COMPONENT Libraries) +endif() + diff --git a/build/cmake/i2pdConfig.cmake b/build/cmake/i2pdConfig.cmake new file mode 100644 index 00000000..fd0a5404 --- /dev/null +++ b/build/cmake/i2pdConfig.cmake @@ -0,0 +1,6 @@ +set(libi2pd_INCLUDE_DIR ${CMAKE_INSTALL_PREFIX}/include) +set(libi2pd_LIBRARIES ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libi2pd.a) +set(libi2pdclient_INCLUDE_DIR ${CMAKE_INSTALL_PREFIX}/include) +set(libi2pdclient_LIBRARIES ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libi2pdclient.a) +set(libi2pdlang_INCLUDE_DIR ${CMAKE_INSTALL_PREFIX}/include) +set(libi2pdlang_LIBRARIES ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libi2pdlang.a)