aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/oatpp-libressl
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/oatpp-libressl')
-rw-r--r--vcpkg/ports/oatpp-libressl/libress-submodule-downgrade-required-libressl-version.patch63
-rw-r--r--vcpkg/ports/oatpp-libressl/portfile.cmake27
-rw-r--r--vcpkg/ports/oatpp-libressl/vcpkg.json20
3 files changed, 110 insertions, 0 deletions
diff --git a/vcpkg/ports/oatpp-libressl/libress-submodule-downgrade-required-libressl-version.patch b/vcpkg/ports/oatpp-libressl/libress-submodule-downgrade-required-libressl-version.patch
new file mode 100644
index 0000000..62644be
--- /dev/null
+++ b/vcpkg/ports/oatpp-libressl/libress-submodule-downgrade-required-libressl-version.patch
@@ -0,0 +1,63 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4663a65..b91077a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -95,19 +95,25 @@ message("## ${OATPP_THIS_MODULE_NAME} module. Resolving dependencies...\n")
+ ##############################
+ ## Find Libressl dependency
+
+-include(FindPkgConfig)
+-list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/module")
+-
+-find_package(LibreSSL 3.0.0 REQUIRED)
+-
+-message("LIBRESSL_INCLUDE_DIR=${LIBRESSL_INCLUDE_DIR}")
+-message("LIBRESSL_TLS_LIBRARY=${LIBRESSL_TLS_LIBRARY}")
+-message("LIBRESSL_SSL_LIBRARY=${LIBRESSL_SSL_LIBRARY}")
+-message("LIBRESSL_CRYPTO_LIBRARY=${LIBRESSL_CRYPTO_LIBRARY}")
+-message("LIBRESSL_LIBRARIES=${LIBRESSL_LIBRARIES}")
+-message("LIBRESSL_VERSION=${LIBRESSL_VERSION}")
+-
+-message("\n############################################################################\n")
++find_file(LIBRESSL_INCLUDE_DIR tls.h)
++if (NOT LIBRESSL_INCLUDE_DIR)
++ find_file(_OPENSSL_SSL_INCLUDE_FILE openssl/ssl.h)
++ if (NOT _OPENSSL_SSL_INCLUDE_FILE)
++ message(FATAL_ERROR "LibreSSL and OpenSSL not found. LibreSSL must be installed.")
++ else()
++ message(FATAL_ERROR "OpenSSL installed instead of LibreSSL. oatpp-libressl requires LibreSSL.")
++ endif()
++endif()
++get_filename_component(LIBRESSL_INCLUDE_DIR ${LIBRESSL_INCLUDE_DIR} DIRECTORY)
++find_library(LIBRESSL_TLS_LIBRARY NAMES tls tls-21 tls-20 tls-19)
++find_library(LIBRESSL_SSL_LIBRARY NAMES ssl ssl-49 ssl-48 ssl-47)
++find_library(LIBRESSL_CRYPTO_LIBRARY NAMES crypto crypto-47 crypto-46 crypto-45)
++find_library(LIBRESSL_LIBRARIES "${LIBRESSL_CRYPTO_LIBRARY};${LIBRESSL_SSL_LIBRARY};${LIBRESSL_TLS_LIBRARY}")
++message(STATUS "LIBRESSL_INCLUDE_DIR=${LIBRESSL_INCLUDE_DIR}")
++message(STATUS "LIBRESSL_TLS_LIBRARY=${LIBRESSL_TLS_LIBRARY}")
++message(STATUS "LIBRESSL_SSL_LIBRARY=${LIBRESSL_SSL_LIBRARY}")
++message(STATUS "LIBRESSL_CRYPTO_LIBRARY=${LIBRESSL_CRYPTO_LIBRARY}")
++message(STATUS "LIBRESSL_LIBRARIES=${LIBRESSL_LIBRARIES}")
+
+ ###################################################################################################
+ ## define targets
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index ace3b13..489fbb1 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -30,10 +30,12 @@ target_include_directories(${OATPP_THIS_MODULE_NAME}
+ PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
+ )
+
++target_include_directories(${OATPP_THIS_MODULE_NAME}
++ SYSTEM PRIVATE "${LIBRESSL_INCLUDE_DIR}"
++)
++
+ target_link_libraries(${OATPP_THIS_MODULE_NAME}
+- PUBLIC LibreSSL::TLS
+- PUBLIC LibreSSL::SSL
+- PUBLIC LibreSSL::Crypto
++ PUBLIC "${LIBRESSL_TLS_LIBRARY}" "${LIBRESSL_SSL_LIBRARY}" "${LIBRESSL_CRYPTO_LIBRARY}"
+ )
+
+ #######################################################################################################
diff --git a/vcpkg/ports/oatpp-libressl/portfile.cmake b/vcpkg/ports/oatpp-libressl/portfile.cmake
new file mode 100644
index 0000000..c2643ab
--- /dev/null
+++ b/vcpkg/ports/oatpp-libressl/portfile.cmake
@@ -0,0 +1,27 @@
+set(OATPP_VERSION "1.3.0")
+
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+# get the source
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO oatpp/oatpp-libressl
+ REF ${OATPP_VERSION}
+ SHA512 8f16c4e0341dc20e4a8a5fcdcf8e58bac1cfbef51b8cac6f5ca4894acf296333fcc2b8f34c6353cbd31a1f2f2be021550ce859489a45f388f4b5ccec4c67eee9
+ HEAD_REF master
+ PATCHES "libress-submodule-downgrade-required-libressl-version.patch"
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ "-DOATPP_BUILD_TESTS:BOOL=OFF"
+ "-DLIBRESSL_ROOT_DIR=${CURRENT_INSTALLED_DIR}"
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(PACKAGE_NAME oatpp-libressl CONFIG_PATH lib/cmake/oatpp-libressl-${OATPP_VERSION})
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/vcpkg/ports/oatpp-libressl/vcpkg.json b/vcpkg/ports/oatpp-libressl/vcpkg.json
new file mode 100644
index 0000000..b4d919f
--- /dev/null
+++ b/vcpkg/ports/oatpp-libressl/vcpkg.json
@@ -0,0 +1,20 @@
+{
+ "name": "oatpp-libressl",
+ "version": "1.3.0",
+ "port-version": 1,
+ "description": "Oat++ libressl module providing secure server and client connection providers.",
+ "homepage": "https://github.com/oatpp/oatpp-libressl",
+ "license": "Apache-2.0",
+ "dependencies": [
+ "libressl",
+ "oatpp",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}