mirror of
https://github.com/arun11299/cpp-jwt.git
synced 2025-05-14 08:48:31 +00:00
build: install cmakes find package files
This commit is contained in:
parent
b6845543ed
commit
af21c2e26f
2 changed files with 38 additions and 11 deletions
|
@ -1,5 +1,5 @@
|
|||
cmake_minimum_required(VERSION 3.5.0)
|
||||
project(cpp-jwt)
|
||||
project(cpp-jwt VERSION 1.2.0)
|
||||
|
||||
option(CPP_JWT_BUILD_EXAMPLES "build examples" ON)
|
||||
option(CPP_JWT_BUILD_TESTS "build tests" ON)
|
||||
|
@ -38,9 +38,8 @@ add_library(${PROJECT_NAME} INTERFACE)
|
|||
target_include_directories(
|
||||
${PROJECT_NAME}
|
||||
INTERFACE $<BUILD_INTERFACE:${${PROJECT_NAME}_SOURCE_DIR}/include>
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
${OpenSSL_INCLUDE_DIR})
|
||||
target_link_libraries(${PROJECT_NAME} INTERFACE ${OpenSSL_LIBRARIES})
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
|
||||
target_link_libraries(${PROJECT_NAME} INTERFACE OpenSSL::SSL)
|
||||
if(NOT CPP_JWT_USE_VENDORED_NLOHMANN_JSON)
|
||||
target_link_libraries(${PROJECT_NAME} INTERFACE nlohmann_json::nlohmann_json)
|
||||
else()
|
||||
|
@ -76,21 +75,45 @@ endif()
|
|||
# ##############################################################################
|
||||
|
||||
include(GNUInstallDirs)
|
||||
include(CMakePackageConfigHelpers)
|
||||
set(CPP_JWT_CONFIG_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
|
||||
|
||||
install(
|
||||
TARGETS ${PROJECT_NAME}
|
||||
EXPORT ${PROJECT_NAME}_Targets
|
||||
EXPORT ${PROJECT_NAME}Targets
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
install(
|
||||
EXPORT ${PROJECT_NAME}Targets
|
||||
DESTINATION ${CPP_JWT_CONFIG_INSTALL_DIR}
|
||||
NAMESPACE ${PROJECT_NAME}::
|
||||
COMPONENT dev)
|
||||
configure_package_config_file(cmake/Config.cmake.in ${PROJECT_NAME}Config.cmake
|
||||
INSTALL_DESTINATION ${CPP_JWT_CONFIG_INSTALL_DIR})
|
||||
write_basic_package_version_file(${PROJECT_NAME}ConfigVersion.cmake
|
||||
COMPATIBILITY SameMajorVersion)
|
||||
install(
|
||||
FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
|
||||
DESTINATION ${CPP_JWT_CONFIG_INSTALL_DIR}
|
||||
COMPONENT dev)
|
||||
|
||||
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/jwt/detail
|
||||
DESTINATION include/jwt)
|
||||
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/jwt/impl
|
||||
DESTINATION include/jwt)
|
||||
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/jwt/json
|
||||
DESTINATION include/jwt)
|
||||
install(
|
||||
DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/jwt/detail
|
||||
DESTINATION include/jwt
|
||||
COMPONENT dev)
|
||||
install(
|
||||
DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/jwt/impl
|
||||
DESTINATION include/jwt
|
||||
COMPONENT dev)
|
||||
install(
|
||||
DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/jwt/json
|
||||
DESTINATION include/jwt
|
||||
COMPONENT dev)
|
||||
install(
|
||||
DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/jwt/
|
||||
DESTINATION include/jwt
|
||||
COMPONENT dev
|
||||
FILES_MATCHING
|
||||
PATTERN "*.hpp")
|
||||
|
|
4
cmake/Config.cmake.in
Normal file
4
cmake/Config.cmake.in
Normal file
|
@ -0,0 +1,4 @@
|
|||
@PACKAGE_INIT@
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")
|
||||
check_required_components("@PROJECT_NAME@")
|
Loading…
Add table
Add a link
Reference in a new issue