aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ports/cpr/001-cpr-config.patch94
-rw-r--r--ports/cpr/CONTROL2
-rw-r--r--ports/cpr/cprConfig.cmake27
-rw-r--r--ports/cpr/portfile.cmake8
4 files changed, 129 insertions, 2 deletions
diff --git a/ports/cpr/001-cpr-config.patch b/ports/cpr/001-cpr-config.patch
new file mode 100644
index 000000000..9b9b11352
--- /dev/null
+++ b/ports/cpr/001-cpr-config.patch
@@ -0,0 +1,94 @@
+diff --git a/cpr/CMakeLists.txt b/cpr/CMakeLists.txt
+index a6db5bd..90bec48 100644
+--- a/cpr/CMakeLists.txt
++++ b/cpr/CMakeLists.txt
+@@ -1,47 +1,46 @@
+-message(STATUS "Using CURL_INCLUDE_DIRS: ${CURL_INCLUDE_DIRS}.")
+-include_directories(
+- ${CPR_INCLUDE_DIRS}
+- ${CURL_INCLUDE_DIRS})
+-
+ add_library(${CPR_LIBRARIES}
++ auth.cpp
++ cookies.cpp
++ cprtypes.cpp
++ digest.cpp
++ error.cpp
++ multipart.cpp
++ parameters.cpp
++ payload.cpp
++ proxies.cpp
++ session.cpp
++ timeout.cpp
++ util.cpp
++ ssl_options.cpp
++)
++
++target_link_libraries( ${CPR_LIBRARIES}
++ PUBLIC ${CURL_LIBRARIES}
++)
++
++target_include_directories(${CPR_LIBRARIES}
++ PUBLIC
++ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>
++ $<INSTALL_INTERFACE:include>
++ PRIVATE
++ $<BUILD_INTERFACE:${CURL_INCLUDE_DIRS}>
++)
++
+
+- # Source files
+- auth.cpp
+- cookies.cpp
+- cprtypes.cpp
+- digest.cpp
+- error.cpp
+- multipart.cpp
+- parameters.cpp
+- payload.cpp
+- proxies.cpp
+- session.cpp
+- timeout.cpp
+- util.cpp
+- ssl_options.cpp
++set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets")
++install(
++ TARGETS ${CPR_LIBRARIES}
++ EXPORT ${TARGETS_EXPORT_NAME}
++ RUNTIME DESTINATION bin
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib
++)
+
+- # Header files (useful in IDEs)
+- "${CPR_INCLUDE_DIRS}/cpr/api.h"
+- "${CPR_INCLUDE_DIRS}/cpr/auth.h"
+- "${CPR_INCLUDE_DIRS}/cpr/body.h"
+- "${CPR_INCLUDE_DIRS}/cpr/cookies.h"
+- "${CPR_INCLUDE_DIRS}/cpr/cpr.h"
+- "${CPR_INCLUDE_DIRS}/cpr/cprtypes.h"
+- "${CPR_INCLUDE_DIRS}/cpr/curlholder.h"
+- "${CPR_INCLUDE_DIRS}/cpr/defines.h"
+- "${CPR_INCLUDE_DIRS}/cpr/digest.h"
+- "${CPR_INCLUDE_DIRS}/cpr/error.h"
+- "${CPR_INCLUDE_DIRS}/cpr/max_redirects.h"
+- "${CPR_INCLUDE_DIRS}/cpr/multipart.h"
+- "${CPR_INCLUDE_DIRS}/cpr/parameters.h"
+- "${CPR_INCLUDE_DIRS}/cpr/payload.h"
+- "${CPR_INCLUDE_DIRS}/cpr/proxies.h"
+- "${CPR_INCLUDE_DIRS}/cpr/response.h"
+- "${CPR_INCLUDE_DIRS}/cpr/session.h"
+- "${CPR_INCLUDE_DIRS}/cpr/timeout.h"
+- "${CPR_INCLUDE_DIRS}/cpr/util.h"
+- "${CPR_INCLUDE_DIRS}/cpr/ssl_options.h")
++install(
++ EXPORT ${TARGETS_EXPORT_NAME}
++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}"
++)
+
+-message(STATUS "Using CURL_LIBRARIES: ${CURL_LIBRARIES}.")
+-target_link_libraries(${CPR_LIBRARIES}
+- ${CURL_LIBRARIES})
++if (NOT DISABLE_INSTALL_HEADERS)
++ install(DIRECTORY ${CPR_INCLUDE_DIRS}/cpr DESTINATION include)
++endif()
diff --git a/ports/cpr/CONTROL b/ports/cpr/CONTROL
index a8cdbf052..2bf591cc2 100644
--- a/ports/cpr/CONTROL
+++ b/ports/cpr/CONTROL
@@ -1,4 +1,4 @@
Source: cpr
-Version: 1.3.0-4
+Version: 1.3.0-6
Description: C++ Requests is a simple wrapper around libcurl inspired by the excellent Python Requests project.
Build-Depends: curl[core]
diff --git a/ports/cpr/cprConfig.cmake b/ports/cpr/cprConfig.cmake
new file mode 100644
index 000000000..501fcd96a
--- /dev/null
+++ b/ports/cpr/cprConfig.cmake
@@ -0,0 +1,27 @@
+####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() #######
+####### Any changes to this file will be overwritten by the next CMake run ####
+####### The input file was Config.cmake.in ########
+
+get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE)
+
+macro(set_and_check _var _file)
+ set(${_var} "${_file}")
+ if(NOT EXISTS "${_file}")
+ message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !")
+ endif()
+endmacro()
+
+macro(check_required_components _NAME)
+ foreach(comp ${${_NAME}_FIND_COMPONENTS})
+ if(NOT ${_NAME}_${comp}_FOUND)
+ if(${_NAME}_FIND_REQUIRED_${comp})
+ set(${_NAME}_FOUND FALSE)
+ endif()
+ endif()
+ endforeach()
+endmacro()
+
+####################################################################################
+
+include("${CMAKE_CURRENT_LIST_DIR}/cprTargets.cmake")
+check_required_components("cpr")
diff --git a/ports/cpr/portfile.cmake b/ports/cpr/portfile.cmake
index 56e9c6cf4..f6ea8e9af 100644
--- a/ports/cpr/portfile.cmake
+++ b/ports/cpr/portfile.cmake
@@ -8,7 +8,8 @@ vcpkg_from_github(
REF 1.3.0
SHA512 fd08f8a592a5e1fb8dc93158a4850b81575983c08527fb415f65bd9284f93c804c8680d16c548744583cd26b9353a7d4838269cfc59ccb6003da8941f620c273
HEAD_REF master
- PATCHES enable-install.patch
+ PATCHES
+ 001-cpr-config.patch
)
vcpkg_configure_cmake(
@@ -23,8 +24,13 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
+file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/cprConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/lib/cmake/cpr)
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/cpr)
+
vcpkg_copy_pdbs()
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
# Handle copyright
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cpr)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/cpr/LICENSE ${CURRENT_PACKAGES_DIR}/share/cpr/copyright)