Skip to content

Commit 58e11ef

Browse files
authored
Merge pull request #60 from DrDaveD/update-jwt-module
Update jwt-cpp to update its picojson
2 parents a5ee629 + ef4da40 commit 58e11ef

29 files changed

+6739
-1
lines changed

vendor/jwt-cpp

Submodule jwt-cpp deleted from 34bb064

vendor/jwt-cpp/CMakeLists.txt

+70
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
cmake_minimum_required(VERSION 3.8)
2+
3+
if(CMAKE_TOOLCHAIN_FILE)
4+
include(${CMAKE_TOOLCHAIN_FILE})
5+
endif()
6+
7+
option(BUILD_TESTS "Configure CMake to build tests (or not)" ON)
8+
option(EXTERNAL_PICOJSON "Use find_package() to locate the picojson header" OFF)
9+
10+
project(jwt-cpp)
11+
12+
set(CMAKE_CXX_STANDARD 11)
13+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
14+
15+
find_package(OpenSSL 1.0.2 REQUIRED)
16+
if(EXTERNAL_PICOJSON)
17+
find_package(picojson REQUIRED)
18+
endif()
19+
20+
add_library(jwt-cpp INTERFACE)
21+
add_library(jwt-cpp::jwt-cpp ALIAS jwt-cpp)
22+
23+
target_compile_features(jwt-cpp INTERFACE cxx_std_11)
24+
25+
set(JWT_INCLUDE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/include)
26+
target_include_directories(
27+
jwt-cpp INTERFACE $<BUILD_INTERFACE:${JWT_INCLUDE_PATH}>
28+
$<INSTALL_INTERFACE:include>)
29+
30+
target_link_libraries(jwt-cpp INTERFACE OpenSSL::SSL OpenSSL::Crypto)
31+
32+
set(JWT_HEADERS ${JWT_INCLUDE_PATH}/jwt-cpp/base.h
33+
${JWT_INCLUDE_PATH}/jwt-cpp/jwt.h)
34+
if(NOT EXTERNAL_PICOJSON)
35+
set(PICO_HEADER ${JWT_INCLUDE_PATH}/picojson/picojson.h)
36+
endif()
37+
38+
include(CMakePackageConfigHelpers)
39+
set(INCLUDE_INSTALL_DIR include)
40+
41+
configure_package_config_file(
42+
${CMAKE_CURRENT_LIST_DIR}/cmake/jwt-cpp-config.cmake.in
43+
${CMAKE_CURRENT_BINARY_DIR}/jwt-cpp-config.cmake INSTALL_DESTINATION
44+
${CMAKE_INSTALL_PREFIX}/jwt-cpp/cmake PATH_VARS INCLUDE_INSTALL_DIR EXTERNAL_PICOJSON)
45+
46+
write_basic_package_version_file(
47+
${CMAKE_CURRENT_BINARY_DIR}/jwt-cpp-config-version.cmake
48+
VERSION 0.3.1 # TBA
49+
COMPATIBILITY ExactVersion)
50+
51+
install(FILES ${JWT_HEADERS} DESTINATION include/jwt-cpp)
52+
if(NOT EXTERNAL_PICOJSON)
53+
install(FILES ${PICO_HEADER} DESTINATION include/picojson)
54+
endif()
55+
56+
install(
57+
TARGETS jwt-cpp
58+
EXPORT jwt-cpp
59+
DESTINATION jwt-cpp)
60+
install(
61+
EXPORT jwt-cpp
62+
NAMESPACE jwt-cpp::
63+
DESTINATION jwt-cpp)
64+
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/jwt-cpp-config.cmake
65+
${CMAKE_CURRENT_BINARY_DIR}/jwt-cpp-config-version.cmake
66+
DESTINATION ${CMAKE_INSTALL_PREFIX}/jwt-cpp)
67+
68+
if(BUILD_TESTS)
69+
add_subdirectory(tests)
70+
endif()

0 commit comments

Comments
 (0)