zswag 1.9.2.dev14__tar.gz → 1.9.2.dev21__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/.github/workflows/build-deploy.yml +5 -3
- zswag-1.9.2.dev21/.gitmodules +3 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/CMakeLists.txt +9 -4
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/PKG-INFO +1 -1
- zswag-1.9.2.dev21/cmake/Dependencies.cmake +121 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag.egg-info/PKG-INFO +1 -1
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag.egg-info/SOURCES.txt +1 -1
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag.egg-info/requires.txt +1 -1
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/test/src/oauth2-integration-test.cpp +1 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/test/src/oauth2-test.cpp +1 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/test/testdata/oauth2-openapi.yaml +1 -0
- zswag-1.9.2.dev14/cmake/Dependencies.cmake +0 -223
- zswag-1.9.2.dev14/cmake/OpenSSL.cmake +0 -175
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/.clang-format +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/.github/pull_request_template.md +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/.github/scripts/validate_version.py +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/.gitignore +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/LICENSE +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/README.md +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/deploy.sh +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/doc/zswag-architecture.mdj +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/doc/zswag-architecture.png +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/httpcl/CMakeLists.txt +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/httpcl/include/httpcl/http-client.hpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/httpcl/include/httpcl/http-settings.hpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/httpcl/include/httpcl/log.hpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/httpcl/include/httpcl/uri.hpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/httpcl/src/http-client.cpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/httpcl/src/http-settings.cpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/httpcl/src/log.cpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/httpcl/src/uri.cpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/httpcl/test/CMakeLists.txt +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/httpcl/test/src/main.cpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/httpcl/test/src/uri.cpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/pyzswagcl/CMakeLists.txt +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/pyzswagcl/py-openapi-client.cpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/pyzswagcl/py-openapi-client.h +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/pyzswagcl/py-zswagcl.cpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag/__init__.py +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag/app.py +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag/doc.py +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag/gen.py +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag/reflect.py +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag/test/.gitignore +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag/test/CMakeLists.txt +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag/test/__init__.py +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag/test/calc/__init__.py +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag/test/calc/__main__.py +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag/test/calc/api.yaml +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag/test/calc/calculator.zs +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag/test/calc/client.py +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag/test/calc/server.py +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag/test/client.cpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag/test/test_nested_service/services.zs +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag/test/test_openapi_generator.bash +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag/test/test_openapi_generator_1.yaml +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag/test/test_openapi_generator_2.yaml +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag/test/test_openapi_generator_3.yaml +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag/test/test_openapi_generator_base_config.yaml +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag.egg-info/dependency_links.txt +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag.egg-info/top_level.txt +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/CMakeLists.txt +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/include/zswagcl/export.hpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/include/zswagcl/oaclient.hpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/include/zswagcl/private/openapi-client.hpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/include/zswagcl/private/openapi-config.hpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/include/zswagcl/private/openapi-oauth.hpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/include/zswagcl/private/openapi-parameter-helper.hpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/include/zswagcl/private/openapi-parser.hpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/include/zswagcl/private/openapi-security.hpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/src/base64.cpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/src/base64.hpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/src/oaclient.cpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/src/openapi-client.cpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/src/openapi-config.cpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/src/openapi-oauth.cpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/src/openapi-parameter-helper.cpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/src/openapi-parser.cpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/src/openapi-security.cpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/test/CMakeLists.txt +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/test/src/base64.cpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/test/src/http-service-format.cpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/test/src/main.cpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/test/src/oaclient.cpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/test/src/openapi-parameter-helper.cpp +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/test/src/service_client_test.zs +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/test/testdata/auth.yaml +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/test/testdata/config-template.json +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/test/testdata/config-with-auth.json +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/test/testdata/dummy.json +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/test/testdata/oauth2-settings.yaml +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/requirements.txt +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/setup.cfg +0 -0
- {zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/setup.py +0 -0
|
@@ -48,6 +48,8 @@ jobs:
|
|
|
48
48
|
echo "Node at $(which node): $(node -v); npm: $(npm -v)"
|
|
49
49
|
- name: Checkout code
|
|
50
50
|
uses: actions/checkout@v4
|
|
51
|
+
with:
|
|
52
|
+
submodules: recursive
|
|
51
53
|
- name: Configure
|
|
52
54
|
run: |
|
|
53
55
|
python3 -m venv venv && . ./venv/bin/activate
|
|
@@ -124,8 +126,8 @@ jobs:
|
|
|
124
126
|
if: matrix.os == 'windows-latest'
|
|
125
127
|
working-directory: build
|
|
126
128
|
run: |
|
|
127
|
-
# Install NASM using chocolatey (required for OpenSSL build)
|
|
128
|
-
choco install nasm -y
|
|
129
|
+
# Install NASM and jom using chocolatey (required for OpenSSL build)
|
|
130
|
+
choco install nasm jom -y
|
|
129
131
|
# Add NASM to PATH for current session
|
|
130
132
|
$env:PATH = "$env:PATH;C:\Program Files\NASM"
|
|
131
133
|
# Verify NASM installation
|
|
@@ -155,7 +157,7 @@ jobs:
|
|
|
155
157
|
with:
|
|
156
158
|
fetch-depth: 0
|
|
157
159
|
fetch-tags: true
|
|
158
|
-
|
|
160
|
+
|
|
159
161
|
- name: Setup Python
|
|
160
162
|
uses: actions/setup-python@v5
|
|
161
163
|
with:
|
|
@@ -10,7 +10,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
10
10
|
# without requiring CMakeLists.txt updates between releases.
|
|
11
11
|
# For official releases, this value should match the git tag.
|
|
12
12
|
if(NOT DEFINED ZSWAG_VERSION)
|
|
13
|
-
set(ZSWAG_VERSION 1.
|
|
13
|
+
set(ZSWAG_VERSION 1.10.0)
|
|
14
14
|
endif()
|
|
15
15
|
|
|
16
16
|
option(ZSWAG_BUILD_WHEELS "Enable zswag whl-output to WHEEL_DEPLOY_DIRECTORY." ON)
|
|
@@ -41,9 +41,14 @@ set (CMAKE_LIBRARY_OUTPUT_DIRECTORY "${ZSWAG_DEPLOY_DIR}")
|
|
|
41
41
|
set (CMAKE_RUNTIME_OUTPUT_DIRECTORY "${ZSWAG_DEPLOY_DIR}")
|
|
42
42
|
|
|
43
43
|
##############
|
|
44
|
-
# Dependencies via
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
# Dependencies via CPM (CMake Package Manager)
|
|
45
|
+
|
|
46
|
+
set(CPM_DOWNLOAD_ALL ON)
|
|
47
|
+
set(CPM_USE_LOCAL_PACKAGES OFF)
|
|
48
|
+
# Include CPM.cmake
|
|
49
|
+
if (NOT CPM_INITIALIZED)
|
|
50
|
+
add_subdirectory(cmake/CPM.cmake)
|
|
51
|
+
endif ()
|
|
47
52
|
include(cmake/Dependencies.cmake)
|
|
48
53
|
|
|
49
54
|
##############
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# Dependencies.cmake
|
|
2
|
+
# Centralized dependency management using CPM (CMake Package Manager)
|
|
3
|
+
# CPM provides better version management and diagnostics compared to raw FetchContent
|
|
4
|
+
|
|
5
|
+
# =============================================================================
|
|
6
|
+
# Core dependencies
|
|
7
|
+
# =============================================================================
|
|
8
|
+
|
|
9
|
+
# zlib
|
|
10
|
+
CPMAddPackage(
|
|
11
|
+
URI "gh:madler/zlib@1.3.1"
|
|
12
|
+
OPTIONS
|
|
13
|
+
"ZLIB_BUILD_EXAMPLES OFF"
|
|
14
|
+
"BUILD_TESTING OFF")
|
|
15
|
+
if(zlib_ADDED)
|
|
16
|
+
set_target_properties(zlib PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
|
17
|
+
set_target_properties(zlibstatic PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
|
18
|
+
# Create ZLIB::ZLIB alias if it doesn't exist
|
|
19
|
+
if(NOT TARGET ZLIB::ZLIB)
|
|
20
|
+
if(TARGET zlib)
|
|
21
|
+
add_library(ZLIB::ZLIB ALIAS zlib)
|
|
22
|
+
elseif(TARGET zlibstatic)
|
|
23
|
+
add_library(ZLIB::ZLIB ALIAS zlibstatic)
|
|
24
|
+
endif()
|
|
25
|
+
endif()
|
|
26
|
+
endif()
|
|
27
|
+
|
|
28
|
+
# fmt
|
|
29
|
+
CPMAddPackage(
|
|
30
|
+
URI "gh:fmtlib/fmt#11.1.3"
|
|
31
|
+
OPTIONS "FMT_HEADER_ONLY OFF"
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
# spdlog
|
|
35
|
+
CPMAddPackage(
|
|
36
|
+
URI "gh:gabime/spdlog@1.15.3"
|
|
37
|
+
OPTIONS
|
|
38
|
+
"SPDLOG_BUILD_TESTS OFF"
|
|
39
|
+
"SPDLOG_BUILD_EXAMPLE OFF"
|
|
40
|
+
"SPDLOG_FMT_EXTERNAL ON"
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
# yaml-cpp
|
|
44
|
+
CPMAddPackage(
|
|
45
|
+
URI "gh:jbeder/yaml-cpp#aa8d4e4750ec9fe9f8cc680eb90f1b15955c817e"
|
|
46
|
+
OPTIONS
|
|
47
|
+
"YAML_CPP_BUILD_TESTS OFF"
|
|
48
|
+
"YAML_CPP_BUILD_TOOLS OFF"
|
|
49
|
+
"YAML_CPP_BUILD_CONTRIB OFF"
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
# stx
|
|
53
|
+
CPMAddPackage("gh:Klebert-Engineering/stx@1.0.0")
|
|
54
|
+
|
|
55
|
+
# httplib
|
|
56
|
+
CPMAddPackage(
|
|
57
|
+
URI "gh:yhirose/cpp-httplib@0.15.3"
|
|
58
|
+
OPTIONS
|
|
59
|
+
"HTTPLIB_USE_CERTS_FROM_MACOSX_KEYCHAIN OFF"
|
|
60
|
+
"HTTPLIB_INSTALL OFF"
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
# OpenSSL
|
|
64
|
+
set (OPENSSL_VERSION openssl-3.5.2)
|
|
65
|
+
CPMAddPackage("gh:klebert-engineering/openssl-cmake@1.0.0")
|
|
66
|
+
|
|
67
|
+
# pybind11 (only needed when building wheels)
|
|
68
|
+
if(ZSWAG_BUILD_WHEELS)
|
|
69
|
+
CPMAddPackage("gh:pybind/pybind11@2.13.6")
|
|
70
|
+
endif()
|
|
71
|
+
|
|
72
|
+
# python-cmake-wheel (only needed when building wheels)
|
|
73
|
+
if(ZSWAG_BUILD_WHEELS)
|
|
74
|
+
CPMAddPackage("gh:Klebert-Engineering/python-cmake-wheel@1.0.1")
|
|
75
|
+
endif()
|
|
76
|
+
|
|
77
|
+
# keychain
|
|
78
|
+
if(ZSWAG_KEYCHAIN_SUPPORT)
|
|
79
|
+
CPMAddPackage("gh:hrantzsch/keychain@1.3.1")
|
|
80
|
+
endif()
|
|
81
|
+
|
|
82
|
+
# Catch2 (for testing)
|
|
83
|
+
if(ZSWAG_ENABLE_TESTING)
|
|
84
|
+
CPMAddPackage(
|
|
85
|
+
URI "gh:catchorg/Catch2@3.8.1"
|
|
86
|
+
OPTIONS
|
|
87
|
+
"CATCH_INSTALL_DOCS OFF"
|
|
88
|
+
"CATCH_INSTALL_EXTRAS OFF"
|
|
89
|
+
)
|
|
90
|
+
endif()
|
|
91
|
+
|
|
92
|
+
# zserio-cmake-helper
|
|
93
|
+
set(ZSERIO_VERSION "2.16.1")
|
|
94
|
+
CPMAddPackage("gh:Klebert-Engineering/zserio-cmake-helper@1.1.4")
|
|
95
|
+
# Add zserio C++ runtime target
|
|
96
|
+
if(NOT TARGET ZserioCppRuntime)
|
|
97
|
+
add_zserio_cpp_runtime()
|
|
98
|
+
endif()
|
|
99
|
+
|
|
100
|
+
# =============================================================================
|
|
101
|
+
# Configure httplib with OpenSSL and zlib support
|
|
102
|
+
# =============================================================================
|
|
103
|
+
|
|
104
|
+
if (TARGET httplib)
|
|
105
|
+
target_compile_definitions(httplib INTERFACE CPPHTTPLIB_OPENSSL_SUPPORT)
|
|
106
|
+
target_link_libraries(httplib INTERFACE OpenSSL::SSL OpenSSL::Crypto ZLIB::ZLIB)
|
|
107
|
+
endif()
|
|
108
|
+
|
|
109
|
+
# =============================================================================
|
|
110
|
+
# Configure python-cmake-wheel integration
|
|
111
|
+
# =============================================================================
|
|
112
|
+
|
|
113
|
+
if(ZSWAG_BUILD_WHEELS AND python-cmake-wheel_ADDED)
|
|
114
|
+
set(CMAKE_MODULE_PATH "${python-cmake-wheel_SOURCE_DIR}" ${CMAKE_MODULE_PATH})
|
|
115
|
+
|
|
116
|
+
if(NOT TARGET wheel)
|
|
117
|
+
set(Python3_FIND_STRATEGY LOCATION)
|
|
118
|
+
include(python-wheel)
|
|
119
|
+
set(WHEEL_DEPLOY_DIRECTORY "${ZSWAG_DEPLOY_DIR}/wheel")
|
|
120
|
+
endif()
|
|
121
|
+
endif()
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
.clang-format
|
|
2
2
|
.gitignore
|
|
3
|
+
.gitmodules
|
|
3
4
|
CMakeLists.txt
|
|
4
5
|
LICENSE
|
|
5
6
|
README.md
|
|
@@ -10,7 +11,6 @@ setup.py
|
|
|
10
11
|
.github/scripts/validate_version.py
|
|
11
12
|
.github/workflows/build-deploy.yml
|
|
12
13
|
cmake/Dependencies.cmake
|
|
13
|
-
cmake/OpenSSL.cmake
|
|
14
14
|
doc/zswag-architecture.mdj
|
|
15
15
|
doc/zswag-architecture.png
|
|
16
16
|
libs/httpcl/CMakeLists.txt
|
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
# Dependencies.cmake
|
|
2
|
-
# Centralized dependency management using FetchContent
|
|
3
|
-
|
|
4
|
-
include(FetchContent)
|
|
5
|
-
|
|
6
|
-
# Option to enable offline builds
|
|
7
|
-
option(FETCHCONTENT_FULLY_DISCONNECTED "Enable offline build mode" OFF)
|
|
8
|
-
|
|
9
|
-
# Set FetchContent properties
|
|
10
|
-
set(FETCHCONTENT_QUIET OFF)
|
|
11
|
-
|
|
12
|
-
# =============================================================================
|
|
13
|
-
# Local override checks and messages
|
|
14
|
-
# =============================================================================
|
|
15
|
-
|
|
16
|
-
macro(check_fetchcontent_override dep_name)
|
|
17
|
-
if(FETCHCONTENT_SOURCE_DIR_${dep_name})
|
|
18
|
-
message(STATUS "Using local source for ${dep_name}: ${FETCHCONTENT_SOURCE_DIR_${dep_name}}")
|
|
19
|
-
endif()
|
|
20
|
-
endmacro()
|
|
21
|
-
|
|
22
|
-
# =============================================================================
|
|
23
|
-
# Core dependencies
|
|
24
|
-
# =============================================================================
|
|
25
|
-
|
|
26
|
-
# zlib
|
|
27
|
-
if(NOT TARGET zlib AND NOT TARGET zlibstatic AND NOT TARGET ZLIB::ZLIB)
|
|
28
|
-
check_fetchcontent_override(ZLIB)
|
|
29
|
-
FetchContent_Declare(
|
|
30
|
-
zlib
|
|
31
|
-
GIT_REPOSITORY https://github.com/madler/zlib.git
|
|
32
|
-
GIT_TAG "v1.3.1"
|
|
33
|
-
GIT_SHALLOW TRUE
|
|
34
|
-
)
|
|
35
|
-
set(ZLIB_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
|
36
|
-
set(ZLIB_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
|
|
37
|
-
FetchContent_MakeAvailable(zlib)
|
|
38
|
-
endif()
|
|
39
|
-
|
|
40
|
-
# create ZLIB::ZLIB alias if it doesn't exist
|
|
41
|
-
if(NOT TARGET ZLIB::ZLIB)
|
|
42
|
-
if(TARGET zlib)
|
|
43
|
-
add_library(ZLIB::ZLIB ALIAS zlib)
|
|
44
|
-
elseif(TARGET zlibstatic)
|
|
45
|
-
add_library(ZLIB::ZLIB ALIAS zlibstatic)
|
|
46
|
-
endif()
|
|
47
|
-
endif()
|
|
48
|
-
|
|
49
|
-
# fmt
|
|
50
|
-
if (NOT TARGET fmt::fmt)
|
|
51
|
-
FetchContent_Declare(fmt
|
|
52
|
-
GIT_REPOSITORY "https://github.com/fmtlib/fmt.git"
|
|
53
|
-
GIT_TAG "11.1.3"
|
|
54
|
-
GIT_SHALLOW ON
|
|
55
|
-
CMAKE_ARGS -DFMT_HEADER_ONLY=OFF)
|
|
56
|
-
FetchContent_MakeAvailable(fmt)
|
|
57
|
-
endif()
|
|
58
|
-
|
|
59
|
-
# spdlog
|
|
60
|
-
if(NOT TARGET spdlog)
|
|
61
|
-
check_fetchcontent_override(SPDLOG)
|
|
62
|
-
FetchContent_Declare(
|
|
63
|
-
spdlog
|
|
64
|
-
GIT_REPOSITORY https://github.com/gabime/spdlog.git
|
|
65
|
-
GIT_TAG "v1.15.3"
|
|
66
|
-
GIT_SHALLOW TRUE
|
|
67
|
-
)
|
|
68
|
-
set(SPDLOG_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
|
69
|
-
set(SPDLOG_BUILD_EXAMPLE OFF CACHE BOOL "" FORCE)
|
|
70
|
-
set(SPDLOG_FMT_EXTERNAL ON CACHE BOOL "" FORCE)
|
|
71
|
-
FetchContent_MakeAvailable(spdlog)
|
|
72
|
-
endif()
|
|
73
|
-
|
|
74
|
-
# yaml-cpp - use specific commit hash for stability
|
|
75
|
-
if(NOT TARGET yaml-cpp)
|
|
76
|
-
check_fetchcontent_override(YAML_CPP)
|
|
77
|
-
FetchContent_Declare(
|
|
78
|
-
yaml-cpp
|
|
79
|
-
GIT_REPOSITORY https://github.com/jbeder/yaml-cpp.git
|
|
80
|
-
GIT_TAG "aa8d4e4750ec9fe9f8cc680eb90f1b15955c817e" # Latest commit on master as of Dec 2024
|
|
81
|
-
GIT_SHALLOW TRUE
|
|
82
|
-
)
|
|
83
|
-
set(YAML_CPP_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
|
84
|
-
set(YAML_CPP_BUILD_TOOLS OFF CACHE BOOL "" FORCE)
|
|
85
|
-
set(YAML_CPP_BUILD_CONTRIB OFF CACHE BOOL "" FORCE)
|
|
86
|
-
FetchContent_MakeAvailable(yaml-cpp)
|
|
87
|
-
endif()
|
|
88
|
-
|
|
89
|
-
# stx - use specific commit hash for stability
|
|
90
|
-
if(NOT TARGET stx)
|
|
91
|
-
check_fetchcontent_override(STX)
|
|
92
|
-
FetchContent_Declare(
|
|
93
|
-
stx
|
|
94
|
-
GIT_REPOSITORY https://github.com/Klebert-Engineering/stx.git
|
|
95
|
-
GIT_TAG "019d7e4978a7e60ac90223a96ad87963840308ef" # Latest commit on main as of Dec 2024
|
|
96
|
-
GIT_SHALLOW TRUE
|
|
97
|
-
)
|
|
98
|
-
FetchContent_MakeAvailable(stx)
|
|
99
|
-
endif()
|
|
100
|
-
|
|
101
|
-
# httplib - configure to not install/export targets to avoid dependency issues
|
|
102
|
-
if(NOT TARGET httplib)
|
|
103
|
-
check_fetchcontent_override(HTTPLIB)
|
|
104
|
-
FetchContent_Declare(
|
|
105
|
-
httplib
|
|
106
|
-
GIT_REPOSITORY https://github.com/yhirose/cpp-httplib.git
|
|
107
|
-
GIT_TAG "v0.15.3"
|
|
108
|
-
GIT_SHALLOW TRUE
|
|
109
|
-
)
|
|
110
|
-
set(HTTPLIB_USE_CERTS_FROM_MACOSX_KEYCHAIN OFF CACHE BOOL "" FORCE)
|
|
111
|
-
set(HTTPLIB_INSTALL OFF CACHE BOOL "" FORCE) # Disable installation to avoid export issues
|
|
112
|
-
FetchContent_MakeAvailable(httplib)
|
|
113
|
-
endif()
|
|
114
|
-
|
|
115
|
-
# OpenSSL
|
|
116
|
-
if(NOT TARGET OpenSSL::SSL AND NOT TARGET OpenSSL::Crypto)
|
|
117
|
-
check_fetchcontent_override(OPENSSL)
|
|
118
|
-
FetchContent_Declare(
|
|
119
|
-
openssl
|
|
120
|
-
GIT_REPOSITORY https://github.com/openssl/openssl.git
|
|
121
|
-
GIT_TAG "openssl-3.5.1"
|
|
122
|
-
GIT_SHALLOW TRUE
|
|
123
|
-
)
|
|
124
|
-
FetchContent_MakeAvailable(openssl)
|
|
125
|
-
set(OPENSSL_SOURCE_DIR ${openssl_SOURCE_DIR})
|
|
126
|
-
# Include the OpenSSL build logic
|
|
127
|
-
include(${CMAKE_CURRENT_LIST_DIR}/OpenSSL.cmake)
|
|
128
|
-
endif()
|
|
129
|
-
|
|
130
|
-
# pybind11 (only needed when building wheels)
|
|
131
|
-
if(ZSWAG_BUILD_WHEELS AND NOT TARGET pybind11)
|
|
132
|
-
check_fetchcontent_override(PYBIND11)
|
|
133
|
-
FetchContent_Declare(
|
|
134
|
-
pybind11
|
|
135
|
-
GIT_REPOSITORY https://github.com/pybind/pybind11.git
|
|
136
|
-
GIT_TAG "v2.10.4"
|
|
137
|
-
GIT_SHALLOW TRUE
|
|
138
|
-
)
|
|
139
|
-
FetchContent_MakeAvailable(pybind11)
|
|
140
|
-
endif()
|
|
141
|
-
|
|
142
|
-
# python-cmake-wheel (only needed when building wheels)
|
|
143
|
-
if(ZSWAG_BUILD_WHEELS AND NOT TARGET wheel)
|
|
144
|
-
check_fetchcontent_override(PYTHON_CMAKE_WHEEL)
|
|
145
|
-
FetchContent_Declare(
|
|
146
|
-
python-cmake-wheel
|
|
147
|
-
GIT_REPOSITORY https://github.com/Klebert-Engineering/python-cmake-wheel.git
|
|
148
|
-
GIT_TAG "v1.0.0"
|
|
149
|
-
GIT_SHALLOW TRUE
|
|
150
|
-
)
|
|
151
|
-
FetchContent_MakeAvailable(python-cmake-wheel)
|
|
152
|
-
endif()
|
|
153
|
-
|
|
154
|
-
# keychain
|
|
155
|
-
if(ZSWAG_KEYCHAIN_SUPPORT AND NOT TARGET keychain)
|
|
156
|
-
check_fetchcontent_override(KEYCHAIN)
|
|
157
|
-
FetchContent_Declare(
|
|
158
|
-
keychain
|
|
159
|
-
GIT_REPOSITORY https://github.com/hrantzsch/keychain
|
|
160
|
-
GIT_TAG "v1.3.1"
|
|
161
|
-
GIT_SHALLOW TRUE
|
|
162
|
-
)
|
|
163
|
-
FetchContent_MakeAvailable(keychain)
|
|
164
|
-
endif()
|
|
165
|
-
|
|
166
|
-
# Catch2 (for testing)
|
|
167
|
-
if(ZSWAG_ENABLE_TESTING AND NOT TARGET Catch2::Catch2)
|
|
168
|
-
check_fetchcontent_override(CATCH2)
|
|
169
|
-
FetchContent_Declare(
|
|
170
|
-
catch2
|
|
171
|
-
GIT_REPOSITORY https://github.com/catchorg/Catch2.git
|
|
172
|
-
GIT_TAG "v3.8.1"
|
|
173
|
-
GIT_SHALLOW TRUE
|
|
174
|
-
)
|
|
175
|
-
set(CATCH_INSTALL_DOCS OFF CACHE BOOL "" FORCE)
|
|
176
|
-
set(CATCH_INSTALL_EXTRAS OFF CACHE BOOL "" FORCE)
|
|
177
|
-
FetchContent_MakeAvailable(catch2)
|
|
178
|
-
endif()
|
|
179
|
-
|
|
180
|
-
# zserio-cmake-helper
|
|
181
|
-
if(NOT COMMAND add_zserio_cpp_runtime)
|
|
182
|
-
check_fetchcontent_override(ZSERIO_CMAKE_HELPER)
|
|
183
|
-
FetchContent_Declare(
|
|
184
|
-
zserio-cmake-helper
|
|
185
|
-
GIT_REPOSITORY https://github.com/Klebert-Engineering/zserio-cmake-helper.git
|
|
186
|
-
GIT_TAG "v1.1.4"
|
|
187
|
-
GIT_SHALLOW TRUE
|
|
188
|
-
)
|
|
189
|
-
set(ZSERIO_VERSION "2.16.1")
|
|
190
|
-
FetchContent_MakeAvailable(zserio-cmake-helper)
|
|
191
|
-
|
|
192
|
-
# Add zserio C++ runtime target
|
|
193
|
-
if(NOT TARGET ZserioCppRuntime)
|
|
194
|
-
add_zserio_cpp_runtime()
|
|
195
|
-
endif()
|
|
196
|
-
endif()
|
|
197
|
-
|
|
198
|
-
# =============================================================================
|
|
199
|
-
# Configure httplib with OpenSSL and zlib support
|
|
200
|
-
# =============================================================================
|
|
201
|
-
|
|
202
|
-
if(TARGET httplib)
|
|
203
|
-
target_compile_definitions(httplib INTERFACE CPPHTTPLIB_OPENSSL_SUPPORT)
|
|
204
|
-
target_link_libraries(httplib INTERFACE OpenSSL::SSL OpenSSL::Crypto ZLIB::ZLIB)
|
|
205
|
-
# Ensure httplib depends on OpenSSL build to establish correct build order
|
|
206
|
-
if(TARGET openssl_build)
|
|
207
|
-
add_dependencies(httplib openssl_build)
|
|
208
|
-
endif()
|
|
209
|
-
endif()
|
|
210
|
-
|
|
211
|
-
# =============================================================================
|
|
212
|
-
# Configure python-cmake-wheel integration
|
|
213
|
-
# =============================================================================
|
|
214
|
-
|
|
215
|
-
if(ZSWAG_BUILD_WHEELS)
|
|
216
|
-
set(CMAKE_MODULE_PATH "${python-cmake-wheel_SOURCE_DIR}" ${CMAKE_MODULE_PATH})
|
|
217
|
-
|
|
218
|
-
if(NOT TARGET wheel)
|
|
219
|
-
set(Python3_FIND_STRATEGY LOCATION)
|
|
220
|
-
include(python-wheel)
|
|
221
|
-
set(WHEEL_DEPLOY_DIRECTORY "${ZSWAG_DEPLOY_DIR}/wheel")
|
|
222
|
-
endif()
|
|
223
|
-
endif()
|
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
# OpenSSL.cmake
|
|
2
|
-
# Custom OpenSSL build configuration using ExternalProject
|
|
3
|
-
|
|
4
|
-
include(ExternalProject)
|
|
5
|
-
include(ProcessorCount)
|
|
6
|
-
|
|
7
|
-
# Get number of processor cores for parallel builds
|
|
8
|
-
ProcessorCount(N)
|
|
9
|
-
|
|
10
|
-
# Set OpenSSL install directory
|
|
11
|
-
set(OPENSSL_INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/_deps/openssl-install)
|
|
12
|
-
|
|
13
|
-
# Use find_package so Perl executable can be set in cmake
|
|
14
|
-
find_package(Perl REQUIRED)
|
|
15
|
-
|
|
16
|
-
# Determine platform-specific OpenSSL configuration
|
|
17
|
-
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
|
18
|
-
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
19
|
-
set(OPENSSL_CONFIGURE_COMMAND ${PERL_EXECUTABLE} ${OPENSSL_SOURCE_DIR}/Configure VC-WIN64A --prefix=${OPENSSL_INSTALL_DIR} --openssldir=${OPENSSL_INSTALL_DIR}/ssl no-shared no-tests)
|
|
20
|
-
else()
|
|
21
|
-
set(OPENSSL_CONFIGURE_COMMAND ${PERL_EXECUTABLE} ${OPENSSL_SOURCE_DIR}/Configure VC-WIN32 --prefix=${OPENSSL_INSTALL_DIR} --openssldir=${OPENSSL_INSTALL_DIR}/ssl no-shared no-tests)
|
|
22
|
-
endif()
|
|
23
|
-
set(OPENSSL_BUILD_COMMAND nmake)
|
|
24
|
-
set(OPENSSL_INSTALL_COMMAND nmake install_sw)
|
|
25
|
-
# On Windows, OpenSSL may generate libraries with lib prefix
|
|
26
|
-
set(OPENSSL_LIB_PREFIX "lib")
|
|
27
|
-
set(OPENSSL_LIB_SUFFIX ".lib")
|
|
28
|
-
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
|
29
|
-
if(CMAKE_OSX_ARCHITECTURES MATCHES "arm64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "arm64")
|
|
30
|
-
set(OPENSSL_CONFIGURE_COMMAND ${OPENSSL_SOURCE_DIR}/Configure darwin64-arm64-cc --prefix=${OPENSSL_INSTALL_DIR} --openssldir=${OPENSSL_INSTALL_DIR}/ssl no-shared no-tests)
|
|
31
|
-
else()
|
|
32
|
-
set(OPENSSL_CONFIGURE_COMMAND ${OPENSSL_SOURCE_DIR}/Configure darwin64-x86_64-cc --prefix=${OPENSSL_INSTALL_DIR} --openssldir=${OPENSSL_INSTALL_DIR}/ssl no-shared no-tests)
|
|
33
|
-
endif()
|
|
34
|
-
if(NOT N EQUAL 0)
|
|
35
|
-
set(OPENSSL_BUILD_COMMAND make -j${N})
|
|
36
|
-
set(OPENSSL_INSTALL_COMMAND make -j${N} install_sw)
|
|
37
|
-
else()
|
|
38
|
-
set(OPENSSL_BUILD_COMMAND make)
|
|
39
|
-
set(OPENSSL_INSTALL_COMMAND make install_sw)
|
|
40
|
-
endif()
|
|
41
|
-
set(OPENSSL_LIB_PREFIX "lib")
|
|
42
|
-
set(OPENSSL_LIB_SUFFIX ".a")
|
|
43
|
-
else() # Linux and other Unix-like systems
|
|
44
|
-
# Detect architecture for Linux
|
|
45
|
-
if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|arm64|ARM64")
|
|
46
|
-
set(OPENSSL_CONFIGURE_COMMAND ${OPENSSL_SOURCE_DIR}/Configure linux-aarch64 --prefix=${OPENSSL_INSTALL_DIR} --openssldir=${OPENSSL_INSTALL_DIR}/ssl no-shared no-tests)
|
|
47
|
-
elseif(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
48
|
-
set(OPENSSL_CONFIGURE_COMMAND ${OPENSSL_SOURCE_DIR}/Configure linux-x86_64 --prefix=${OPENSSL_INSTALL_DIR} --openssldir=${OPENSSL_INSTALL_DIR}/ssl no-shared no-tests)
|
|
49
|
-
else()
|
|
50
|
-
set(OPENSSL_CONFIGURE_COMMAND ${OPENSSL_SOURCE_DIR}/Configure linux-x86 --prefix=${OPENSSL_INSTALL_DIR} --openssldir=${OPENSSL_INSTALL_DIR}/ssl no-shared no-tests)
|
|
51
|
-
endif()
|
|
52
|
-
if(NOT N EQUAL 0)
|
|
53
|
-
set(OPENSSL_BUILD_COMMAND make -j${N})
|
|
54
|
-
set(OPENSSL_INSTALL_COMMAND make -j${N} install_sw)
|
|
55
|
-
else()
|
|
56
|
-
set(OPENSSL_BUILD_COMMAND make)
|
|
57
|
-
set(OPENSSL_INSTALL_COMMAND make install_sw)
|
|
58
|
-
endif()
|
|
59
|
-
set(OPENSSL_LIB_PREFIX "lib")
|
|
60
|
-
set(OPENSSL_LIB_SUFFIX ".a")
|
|
61
|
-
endif()
|
|
62
|
-
|
|
63
|
-
# Determine the library directory used by OpenSSL on Linux
|
|
64
|
-
# x86_64 Linux uses lib64, but ARM64 uses lib
|
|
65
|
-
if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|arm64|ARM64")
|
|
66
|
-
set(OPENSSL_LIBDIR "lib")
|
|
67
|
-
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
68
|
-
set(OPENSSL_LIBDIR "lib64")
|
|
69
|
-
else()
|
|
70
|
-
set(OPENSSL_LIBDIR "lib")
|
|
71
|
-
endif()
|
|
72
|
-
|
|
73
|
-
# Build OpenSSL using ExternalProject
|
|
74
|
-
ExternalProject_Add(openssl_build
|
|
75
|
-
SOURCE_DIR ${OPENSSL_SOURCE_DIR}
|
|
76
|
-
CONFIGURE_COMMAND ${OPENSSL_CONFIGURE_COMMAND}
|
|
77
|
-
BUILD_COMMAND ${OPENSSL_BUILD_COMMAND}
|
|
78
|
-
INSTALL_COMMAND ${OPENSSL_INSTALL_COMMAND}
|
|
79
|
-
BUILD_IN_SOURCE 1
|
|
80
|
-
BUILD_BYPRODUCTS
|
|
81
|
-
$<$<STREQUAL:${CMAKE_SYSTEM_NAME},Windows>:${OPENSSL_INSTALL_DIR}/lib/${OPENSSL_LIB_PREFIX}ssl${OPENSSL_LIB_SUFFIX}>
|
|
82
|
-
$<$<STREQUAL:${CMAKE_SYSTEM_NAME},Windows>:${OPENSSL_INSTALL_DIR}/lib/${OPENSSL_LIB_PREFIX}crypto${OPENSSL_LIB_SUFFIX}>
|
|
83
|
-
$<$<STREQUAL:${CMAKE_SYSTEM_NAME},Windows>:${OPENSSL_INSTALL_DIR}/lib/ssl${OPENSSL_LIB_SUFFIX}>
|
|
84
|
-
$<$<STREQUAL:${CMAKE_SYSTEM_NAME},Windows>:${OPENSSL_INSTALL_DIR}/lib/crypto${OPENSSL_LIB_SUFFIX}>
|
|
85
|
-
$<$<STREQUAL:${CMAKE_SYSTEM_NAME},Linux>:${OPENSSL_INSTALL_DIR}/${OPENSSL_LIBDIR}/${OPENSSL_LIB_PREFIX}ssl${OPENSSL_LIB_SUFFIX}>
|
|
86
|
-
$<$<STREQUAL:${CMAKE_SYSTEM_NAME},Linux>:${OPENSSL_INSTALL_DIR}/${OPENSSL_LIBDIR}/${OPENSSL_LIB_PREFIX}crypto${OPENSSL_LIB_SUFFIX}>
|
|
87
|
-
$<$<AND:$<STREQUAL:${CMAKE_SYSTEM_NAME},Linux>,$<NOT:$<STREQUAL:${OPENSSL_LIBDIR},lib>>>:${OPENSSL_INSTALL_DIR}/lib/${OPENSSL_LIB_PREFIX}ssl${OPENSSL_LIB_SUFFIX}>
|
|
88
|
-
$<$<AND:$<STREQUAL:${CMAKE_SYSTEM_NAME},Linux>,$<NOT:$<STREQUAL:${OPENSSL_LIBDIR},lib>>>:${OPENSSL_INSTALL_DIR}/lib/${OPENSSL_LIB_PREFIX}crypto${OPENSSL_LIB_SUFFIX}>
|
|
89
|
-
$<$<STREQUAL:${CMAKE_SYSTEM_NAME},Darwin>:${OPENSSL_INSTALL_DIR}/lib/${OPENSSL_LIB_PREFIX}ssl${OPENSSL_LIB_SUFFIX}>
|
|
90
|
-
$<$<STREQUAL:${CMAKE_SYSTEM_NAME},Darwin>:${OPENSSL_INSTALL_DIR}/lib/${OPENSSL_LIB_PREFIX}crypto${OPENSSL_LIB_SUFFIX}>
|
|
91
|
-
LOG_CONFIGURE ON
|
|
92
|
-
LOG_BUILD ON
|
|
93
|
-
LOG_INSTALL ON
|
|
94
|
-
LOG_OUTPUT_ON_FAILURE ON
|
|
95
|
-
)
|
|
96
|
-
|
|
97
|
-
# Create imported targets for OpenSSL::SSL and OpenSSL::Crypto
|
|
98
|
-
add_library(OpenSSL::SSL STATIC IMPORTED GLOBAL)
|
|
99
|
-
add_library(OpenSSL::Crypto STATIC IMPORTED GLOBAL)
|
|
100
|
-
|
|
101
|
-
# Set target properties - use standard lib path
|
|
102
|
-
# On Windows, try both naming conventions
|
|
103
|
-
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
|
104
|
-
set_target_properties(OpenSSL::SSL PROPERTIES
|
|
105
|
-
IMPORTED_LOCATION ${OPENSSL_INSTALL_DIR}/lib/ssl${OPENSSL_LIB_SUFFIX}
|
|
106
|
-
INTERFACE_INCLUDE_DIRECTORIES ${OPENSSL_INSTALL_DIR}/include
|
|
107
|
-
)
|
|
108
|
-
set_target_properties(OpenSSL::Crypto PROPERTIES
|
|
109
|
-
IMPORTED_LOCATION ${OPENSSL_INSTALL_DIR}/lib/crypto${OPENSSL_LIB_SUFFIX}
|
|
110
|
-
INTERFACE_INCLUDE_DIRECTORIES ${OPENSSL_INSTALL_DIR}/include
|
|
111
|
-
)
|
|
112
|
-
else()
|
|
113
|
-
set_target_properties(OpenSSL::SSL PROPERTIES
|
|
114
|
-
IMPORTED_LOCATION ${OPENSSL_INSTALL_DIR}/lib/${OPENSSL_LIB_PREFIX}ssl${OPENSSL_LIB_SUFFIX}
|
|
115
|
-
INTERFACE_INCLUDE_DIRECTORIES ${OPENSSL_INSTALL_DIR}/include
|
|
116
|
-
)
|
|
117
|
-
set_target_properties(OpenSSL::Crypto PROPERTIES
|
|
118
|
-
IMPORTED_LOCATION ${OPENSSL_INSTALL_DIR}/lib/${OPENSSL_LIB_PREFIX}crypto${OPENSSL_LIB_SUFFIX}
|
|
119
|
-
INTERFACE_INCLUDE_DIRECTORIES ${OPENSSL_INSTALL_DIR}/include
|
|
120
|
-
)
|
|
121
|
-
endif()
|
|
122
|
-
|
|
123
|
-
# Add a post-build command to handle lib64 vs lib directory issue on Linux x86_64 systems only
|
|
124
|
-
# This ensures libraries are available in the expected lib/ directory
|
|
125
|
-
# macOS and ARM64 Linux install directly to lib/, so this is only needed for x86_64 Linux
|
|
126
|
-
if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND NOT CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|arm64|ARM64")
|
|
127
|
-
add_custom_command(
|
|
128
|
-
TARGET openssl_build POST_BUILD
|
|
129
|
-
COMMAND ${CMAKE_COMMAND} -E make_directory ${OPENSSL_INSTALL_DIR}/lib
|
|
130
|
-
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
131
|
-
${OPENSSL_INSTALL_DIR}/lib64/${OPENSSL_LIB_PREFIX}ssl${OPENSSL_LIB_SUFFIX}
|
|
132
|
-
${OPENSSL_INSTALL_DIR}/lib/${OPENSSL_LIB_PREFIX}ssl${OPENSSL_LIB_SUFFIX}
|
|
133
|
-
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
134
|
-
${OPENSSL_INSTALL_DIR}/lib64/${OPENSSL_LIB_PREFIX}crypto${OPENSSL_LIB_SUFFIX}
|
|
135
|
-
${OPENSSL_INSTALL_DIR}/lib/${OPENSSL_LIB_PREFIX}crypto${OPENSSL_LIB_SUFFIX}
|
|
136
|
-
COMMENT "Ensuring OpenSSL libraries are available in lib/ directory"
|
|
137
|
-
VERBATIM
|
|
138
|
-
)
|
|
139
|
-
endif()
|
|
140
|
-
|
|
141
|
-
# Add a post-build command to handle library naming issues on Windows
|
|
142
|
-
# OpenSSL may generate libraries with different names, so we create fallback copies
|
|
143
|
-
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
|
144
|
-
add_custom_command(
|
|
145
|
-
TARGET openssl_build POST_BUILD
|
|
146
|
-
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
147
|
-
${OPENSSL_INSTALL_DIR}/lib/${OPENSSL_LIB_PREFIX}ssl${OPENSSL_LIB_SUFFIX}
|
|
148
|
-
${OPENSSL_INSTALL_DIR}/lib/ssl${OPENSSL_LIB_SUFFIX}
|
|
149
|
-
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
150
|
-
${OPENSSL_INSTALL_DIR}/lib/${OPENSSL_LIB_PREFIX}crypto${OPENSSL_LIB_SUFFIX}
|
|
151
|
-
${OPENSSL_INSTALL_DIR}/lib/crypto${OPENSSL_LIB_SUFFIX}
|
|
152
|
-
COMMENT "Ensuring OpenSSL libraries are available with expected names"
|
|
153
|
-
VERBATIM
|
|
154
|
-
)
|
|
155
|
-
endif()
|
|
156
|
-
|
|
157
|
-
# Add dependencies
|
|
158
|
-
add_dependencies(OpenSSL::SSL openssl_build)
|
|
159
|
-
add_dependencies(OpenSSL::Crypto openssl_build)
|
|
160
|
-
|
|
161
|
-
# Link SSL to Crypto
|
|
162
|
-
set_target_properties(OpenSSL::SSL PROPERTIES
|
|
163
|
-
INTERFACE_LINK_LIBRARIES OpenSSL::Crypto
|
|
164
|
-
)
|
|
165
|
-
|
|
166
|
-
# Platform-specific system libraries
|
|
167
|
-
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
|
168
|
-
set_target_properties(OpenSSL::Crypto PROPERTIES
|
|
169
|
-
INTERFACE_LINK_LIBRARIES "ws2_32;gdi32;advapi32;crypt32;user32"
|
|
170
|
-
)
|
|
171
|
-
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
172
|
-
set_target_properties(OpenSSL::Crypto PROPERTIES
|
|
173
|
-
INTERFACE_LINK_LIBRARIES "dl;pthread"
|
|
174
|
-
)
|
|
175
|
-
endif()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswag/test/test_openapi_generator_base_config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/include/zswagcl/private/openapi-client.hpp
RENAMED
|
File without changes
|
{zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/include/zswagcl/private/openapi-config.hpp
RENAMED
|
File without changes
|
{zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/include/zswagcl/private/openapi-oauth.hpp
RENAMED
|
File without changes
|
|
File without changes
|
{zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/include/zswagcl/private/openapi-parser.hpp
RENAMED
|
File without changes
|
{zswag-1.9.2.dev14 → zswag-1.9.2.dev21}/libs/zswagcl/include/zswagcl/private/openapi-security.hpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|