|
1 | 1 | cmake_minimum_required(VERSION 3.5.0)
|
2 |
| -project(cpp-jwt) |
| 2 | +project(cpp-jwt VERSION 1.2.0) |
3 | 3 |
|
4 | 4 | option(CPP_JWT_BUILD_EXAMPLES "build examples" ON)
|
5 | 5 | option(CPP_JWT_BUILD_TESTS "build tests" ON)
|
@@ -38,9 +38,8 @@ add_library(${PROJECT_NAME} INTERFACE)
|
38 | 38 | target_include_directories(
|
39 | 39 | ${PROJECT_NAME}
|
40 | 40 | INTERFACE $<BUILD_INTERFACE:${${PROJECT_NAME}_SOURCE_DIR}/include>
|
41 |
| - $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> |
42 |
| - ${OpenSSL_INCLUDE_DIR}) |
43 |
| -target_link_libraries(${PROJECT_NAME} INTERFACE ${OpenSSL_LIBRARIES}) |
| 41 | + $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>) |
| 42 | +target_link_libraries(${PROJECT_NAME} INTERFACE OpenSSL::SSL) |
44 | 43 | if(NOT CPP_JWT_USE_VENDORED_NLOHMANN_JSON)
|
45 | 44 | target_link_libraries(${PROJECT_NAME} INTERFACE nlohmann_json::nlohmann_json)
|
46 | 45 | else()
|
@@ -76,21 +75,45 @@ endif()
|
76 | 75 | # ##############################################################################
|
77 | 76 |
|
78 | 77 | include(GNUInstallDirs)
|
| 78 | +include(CMakePackageConfigHelpers) |
| 79 | +set(CPP_JWT_CONFIG_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) |
| 80 | + |
79 | 81 | install(
|
80 | 82 | TARGETS ${PROJECT_NAME}
|
81 |
| - EXPORT ${PROJECT_NAME}_Targets |
| 83 | + EXPORT ${PROJECT_NAME}Targets |
82 | 84 | ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
83 | 85 | LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
84 | 86 | RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
| 87 | +install( |
| 88 | + EXPORT ${PROJECT_NAME}Targets |
| 89 | + DESTINATION ${CPP_JWT_CONFIG_INSTALL_DIR} |
| 90 | + NAMESPACE ${PROJECT_NAME}:: |
| 91 | + COMPONENT dev) |
| 92 | +configure_package_config_file(cmake/Config.cmake.in ${PROJECT_NAME}Config.cmake |
| 93 | + INSTALL_DESTINATION ${CPP_JWT_CONFIG_INSTALL_DIR}) |
| 94 | +write_basic_package_version_file(${PROJECT_NAME}ConfigVersion.cmake |
| 95 | + COMPATIBILITY SameMajorVersion) |
| 96 | +install( |
| 97 | + FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake |
| 98 | + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake |
| 99 | + DESTINATION ${CPP_JWT_CONFIG_INSTALL_DIR} |
| 100 | + COMPONENT dev) |
85 | 101 |
|
86 |
| -install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/jwt/detail |
87 |
| - DESTINATION include/jwt) |
88 |
| -install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/jwt/impl |
89 |
| - DESTINATION include/jwt) |
90 |
| -install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/jwt/json |
91 |
| - DESTINATION include/jwt) |
| 102 | +install( |
| 103 | + DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/jwt/detail |
| 104 | + DESTINATION include/jwt |
| 105 | + COMPONENT dev) |
| 106 | +install( |
| 107 | + DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/jwt/impl |
| 108 | + DESTINATION include/jwt |
| 109 | + COMPONENT dev) |
| 110 | +install( |
| 111 | + DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/jwt/json |
| 112 | + DESTINATION include/jwt |
| 113 | + COMPONENT dev) |
92 | 114 | install(
|
93 | 115 | DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/jwt/
|
94 | 116 | DESTINATION include/jwt
|
| 117 | + COMPONENT dev |
95 | 118 | FILES_MATCHING
|
96 | 119 | PATTERN "*.hpp")
|
0 commit comments