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-curl | |
| 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-curl')
| -rw-r--r-- | ports/oatpp-curl/CONTROL | 4 | ||||
| -rw-r--r-- | ports/oatpp-curl/curl-submodule-no-pkg-config-in-vcpkg.patch | 33 | ||||
| -rw-r--r-- | ports/oatpp-curl/portfile.cmake | 33 |
3 files changed, 70 insertions, 0 deletions
diff --git a/ports/oatpp-curl/CONTROL b/ports/oatpp-curl/CONTROL new file mode 100644 index 000000000..1b80b3883 --- /dev/null +++ b/ports/oatpp-curl/CONTROL @@ -0,0 +1,4 @@ +Source: oatpp-curl +Version: 1.0.0 +Description: Oat++ Modern web framework curl module to use libcurl as a RequestExecutor on the oatpp's ApiClient +Build-Depends: curl,oatpp diff --git a/ports/oatpp-curl/curl-submodule-no-pkg-config-in-vcpkg.patch b/ports/oatpp-curl/curl-submodule-no-pkg-config-in-vcpkg.patch new file mode 100644 index 000000000..75fe7af36 --- /dev/null +++ b/ports/oatpp-curl/curl-submodule-no-pkg-config-in-vcpkg.patch @@ -0,0 +1,33 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 477064a..5da99e9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -95,8 +95,26 @@ message("## ${OATPP_THIS_MODULE_NAME} module. Resolving dependencies...\n") + ############################## + ## Find libcurl dependency + +-include(FindPkgConfig) +-pkg_check_modules(PKG_CURL REQUIRED libcurl) ++if (VCPKG_TOOLCHAIN) ++ find_package(CURL REQUIRED) ++ if (CMAKE_BUILD_TYPE MATCHES "^[Dd][Ee][Bb][Uu][Gg]$") ++ get_filename_component(PKG_CURL_LIBRARIES ${CURL_LIBRARY_DEBUG} NAME) ++ get_filename_component(PKG_CURL_LIBRARY_DIR ${CURL_LIBRARY_DEBUG} DIRECTORY) ++ else() ++ get_filename_component(PKG_CURL_LIBRARIES ${CURL_LIBRARY_RELEASE} NAME) ++ get_filename_component(PKG_CURL_LIBRARY_DIR ${CURL_LIBRARY_RELEASE} DIRECTORY) ++ endif() ++ if (PKG_CURL_LIBRARIES MATCHES [[^.*\.a$]]) ++ string(LENGTH ${PKG_CURL_LIBRARIES} _LEN) ++ math(EXPR _LEN "${_LEN} - 5") ++ string(SUBSTRING ${PKG_CURL_LIBRARIES} 3 ${_LEN} PKG_CURL_LIBRARIES) ++ endif() ++ set(PKG_CURL_VERSION ${CURL_VERSION}) ++ set(PKG_CURL_INCLUDE_DIRS ${CURL_INCLUDE_DIRS}) ++else() ++ include(FindPkgConfig) ++ pkg_check_modules(PKG_CURL REQUIRED libcurl) ++endif() + + message("[libcurl] libcurl found:") + message("[libcurl] LIBRARIES=${PKG_CURL_LIBRARIES}") diff --git a/ports/oatpp-curl/portfile.cmake b/ports/oatpp-curl/portfile.cmake new file mode 100644 index 000000000..0e2388fa2 --- /dev/null +++ b/ports/oatpp-curl/portfile.cmake @@ -0,0 +1,33 @@ +set(OATPP_VERSION "1.0.0") + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO oatpp/oatpp-curl + REF 03a3f336be70c71d0547489aa0ed50206f46dcf8 # 1.0.0 + SHA512 799cbddeb6e9d90eb43911845dd33ee272c4e86c86a07bb710ceb8c0e1722cda15412fdca10c4228a77f38e3b9e3d5d5248c8cd4366cbb9c369db4a830e29496 + HEAD_REF master + PATCHES "curl-submodule-no-pkg-config-in-vcpkg.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" + "-DBUILD_SHARED_LIBS:BOOL=${OATPP_BUILD_SHARED_LIBRARIES_OPTION}" +) +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/oatpp-curl-${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) |
