diff options
| author | Michael Heyman <mheyman@gmail.com> | 2020-05-15 16:34:08 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-05-15 13:34:08 -0700 |
| commit | d1729dcaf5e87188743b8d50e04743f37790c0e7 (patch) | |
| tree | 8cca34682ef0008b5da9599d10169e82745063c4 /ports/oatpp-libressl | |
| parent | 99a832a16110a75baa699f7c57de522174ce86bf (diff) | |
| download | vcpkg-d1729dcaf5e87188743b8d50e04743f37790c0e7.tar.gz vcpkg-d1729dcaf5e87188743b8d50e04743f37790c0e7.zip | |
[oatpp] Add new port (#9402)
* improvement: has oatpp package
* [oatpp] includes _CRT_SECURE_NO_WARNINGS compile-time flag
* [oatpp] no curl submodule (until it catches up with core)
* [oatpp] now version 0.19.11. Still no libretls module because of libretls3.0 dependency.
* no accidentally added debug messages in vcpkg_execute_build_process.cmake
* [oatpp] no empty depends line in CONTROL file
* [oatpp] no dump_variables() function in portfile.cmake
* [oatpp] no wwrning that only static libraries are supported
* [oatpp] uses vcpkg_check_linkage(ONLY_STATIC_LIBRARY) call
* [oatpp] curl submodule does not rely on pkg-config
* [oatpp] curl-submodule-no-pkg-config-in-vcpkg works on linux and windows
* [oatpp] portfile cleaned up
* [oatpp] no carriage returns in patch
* [oatpp]: split modules into their own ports
* [oatpp-libressl]: remove variable dump
* [libressl]: has check for UWP and ARM restored
* [libressl]: has check for UWP and ARM restored
* [libressl]: has check for UWP and ARM restored
* [oatpp-libressl]: builds if libressl works
* [oatpp]: version 1.0.0
* [oatpp]: no "Building ..." message
Co-authored-by: heymamd1 <Michael.Heyman@jhuapl.edu>
Diffstat (limited to 'ports/oatpp-libressl')
| -rw-r--r-- | ports/oatpp-libressl/CONTROL | 4 | ||||
| -rw-r--r-- | ports/oatpp-libressl/libress-submodule-downgrade-required-libressl-version.patch | 63 | ||||
| -rw-r--r-- | ports/oatpp-libressl/portfile.cmake | 36 |
3 files changed, 103 insertions, 0 deletions
diff --git a/ports/oatpp-libressl/CONTROL b/ports/oatpp-libressl/CONTROL new file mode 100644 index 000000000..dd867ff36 --- /dev/null +++ b/ports/oatpp-libressl/CONTROL @@ -0,0 +1,4 @@ +Source: oatpp-libressl +Version: 1.0.0 +Build-Depends: libressl, oatpp +Description: Oat++ libressl module providing secure server and client connection providers diff --git a/ports/oatpp-libressl/libress-submodule-downgrade-required-libressl-version.patch b/ports/oatpp-libressl/libress-submodule-downgrade-required-libressl-version.patch new file mode 100644 index 000000000..62644beda --- /dev/null +++ b/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/ports/oatpp-libressl/portfile.cmake b/ports/oatpp-libressl/portfile.cmake new file mode 100644 index 000000000..14bb9f5e2 --- /dev/null +++ b/ports/oatpp-libressl/portfile.cmake @@ -0,0 +1,36 @@ +set(OATPP_VERSION "1.0.0") + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +# get the source +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO oatpp/oatpp-libressl + REF 2cf02b6fd08bb9be29bdbe5188f35f2155c0c843 # 1.0.0 + SHA512 053d017690d318edeeda63f782ee4845280b0f405e02249b18c30ac3d88cbfb1d3090bb6b60c0c8742f73357d60fa1695c369bef56a5ab7985d9773ea1fd52a2 + HEAD_REF master + PATCHES "libress-submodule-downgrade-required-libressl-version.patch" +) + +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(OATPP_BUILD_SHARED_LIBRARIES_OPTION "ON") +else() + set(OATPP_BUILD_SHARED_LIBRARIES_OPTION "OFF") +endif() + +vcpkg_configure_cmake( + SOURCE_PATH "${SOURCE_PATH}" + PREFER_NINJA + OPTIONS + "-DOATPP_BUILD_TESTS:BOOL=OFF" + "-DCMAKE_CXX_FLAGS=-D_CRT_SECURE_NO_WARNINGS" + "-DLIBRESSL_ROOT_DIR=${CURRENT_INSTALLED_DIR}" + "-DBUILD_SHARED_LIBS:BOOL=${OATPP_BUILD_SHARED_LIBRARIES_OPTION}" +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(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) |
