From 67ba437825c853dd31b92b93609bfe9bbbbc4ac0 Mon Sep 17 00:00:00 2001 From: Christopher Ng Date: Mon, 6 Jun 2022 21:45:07 +0100 Subject: [PATCH] cmake: add openvpn3 support --- CMakeLists.txt | 14 +++++++++++++- vcpkg_manifests/openssl_1.1.1/vcpkg.json | 3 ++- vcpkg_manifests/openssl_3/vcpkg.json | 3 ++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index befbf4e..ebb80fa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,3 +1,5 @@ +option(CLI_OVPN3 "Build ${PROJECT_NAME} with OpenVPN3 support" OFF) + cmake_minimum_required(VERSION 3.10) if(NOT VCPKG_MANIFEST_DIR) @@ -32,7 +34,7 @@ find_package(OpenSSL REQUIRED) set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DDEBUG") -target_link_libraries(${PROJECT_NAME} +target_link_libraries(${PROJECT_NAME} PRIVATE OpenSSL::SSL Wtsapi32.lib Netapi32.lib @@ -71,6 +73,16 @@ target_compile_definitions(${PROJECT_NAME} PRIVATE WIN32_LEAN_AND_MEAN HAVE_CONFIG_H) +if (${CLI_OVPN3}) + find_package(json-c REQUIRED) + + target_link_libraries(${PROJECT_NAME} PRIVATE + json-c::json-c) + + target_compile_definitions(${PROJECT_NAME} PRIVATE + ENABLE_OVPN3) +endif () + if(MSVC) # work around msvc generator Debug/Release directory ugliness, doesn't apply for Ninja set_target_properties(${PROJECT_NAME} PROPERTIES diff --git a/vcpkg_manifests/openssl_1.1.1/vcpkg.json b/vcpkg_manifests/openssl_1.1.1/vcpkg.json index a9764bb..2f515e6 100644 --- a/vcpkg_manifests/openssl_1.1.1/vcpkg.json +++ b/vcpkg_manifests/openssl_1.1.1/vcpkg.json @@ -2,7 +2,8 @@ "name": "openvpn-gui", "version-string": "0.0.1", "dependencies": [ - "openssl" + "openssl", + "json-c" ], "builtin-baseline": "4b766c1cd17205e1b768c4fadfd5f867c1d0510e", "overrides": [ diff --git a/vcpkg_manifests/openssl_3/vcpkg.json b/vcpkg_manifests/openssl_3/vcpkg.json index 96db2ed..804f9bf 100644 --- a/vcpkg_manifests/openssl_3/vcpkg.json +++ b/vcpkg_manifests/openssl_3/vcpkg.json @@ -2,6 +2,7 @@ "name": "openvpn-gui", "version-string": "0.0.1", "dependencies": [ - "openssl" + "openssl", + "json-c" ] } \ No newline at end of file