Skip to content
Snippets Groups Projects
Commit d09c57f8 authored by Konstantinos Sideris's avatar Konstantinos Sideris
Browse files

Add install target

parent 9c825533
No related branches found
No related tags found
No related merge requests found
......@@ -68,9 +68,9 @@ target_include_directories(matrix_client
SYSTEM
PUBLIC
${OPENSSL_INCLUDE_DIR}
${Boost_INCLUDE_DIRS}
PRIVATE
${OLM_INCLUDE_DIR}
${Boost_INCLUDE_DIRS}
${sodium_INCLUDE_DIR})
target_include_directories(
matrix_client
......@@ -80,10 +80,12 @@ target_include_directories(
target_link_libraries(matrix_client
PUBLIC
MatrixStructs::MatrixStructs
Boost::boost
Boost::system
${Boost_LIBRARIES}
PRIVATE
OpenSSL::Crypto
OpenSSL::SSL
PRIVATE
${OLM_LIBRARY}
sodium
ZLIB::ZLIB)
......@@ -154,3 +156,52 @@ if(BUILD_LIB_EXAMPLES)
target_link_libraries(crypto_bot matrix_client)
target_include_directories(crypto_bot PRIVATE ${OLM_INCLUDE_DIR})
endif()
#
# Installation & Target configuration.
#
include(GNUInstallDirs)
set(INSTALL_CONFIGDIR ${CMAKE_INSTALL_LIBDIR}/cmake/MatrixClient)
install(TARGETS matrix_client
EXPORT matrix_client-targets
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
set_target_properties(matrix_client PROPERTIES EXPORT_NAME MatrixClient)
install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install(EXPORT matrix_client-targets
FILE
MatrixClientTargets.cmake
NAMESPACE
MatrixClient::
DESTINATION
${INSTALL_CONFIGDIR})
include(CMakePackageConfigHelpers)
write_basic_package_version_file(
${CMAKE_CURRENT_BINARY_DIR}/MatrixClientConfigVersion.cmake
VERSION
${PROJECT_VERSION}
COMPATIBILITY
AnyNewerVersion)
configure_package_config_file(
${CMAKE_CURRENT_LIST_DIR}/cmake/MatrixClientConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/MatrixClientConfig.cmake
INSTALL_DESTINATION
${INSTALL_CONFIGDIR})
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/MatrixClientConfig.cmake
${CMAKE_CURRENT_BINARY_DIR}/MatrixClientConfigVersion.cmake
DESTINATION
${INSTALL_CONFIGDIR})
export(EXPORT
matrix_client-targets
FILE
${CMAKE_CURRENT_BINARY_DIR}/MatrixClientTargets.cmake
NAMESPACE
MatrixClient::)
export(PACKAGE MatrixClient)
get_filename_component(MatrixClient_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
include(CMakeFindDependencyMacro)
list(APPEND CMAKE_MODULE_PATH ${MatrixClient_CMAKE_DIR})
list(REMOVE_AT CMAKE_MODULE_PATH -1)
if(NOT TARGET MatrixClient::MatrixClient)
include("${MatrixClient_CMAKE_DIR}/MatrixClientTargets.cmake")
endif()
set(MatrixClient_LIBRARIES MatrixClient::MatrixClient)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment