Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 32 additions & 49 deletions ports/restbed/fix-cmake.patch
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e6095da..6bf8d81 100644
index 29a58ed..a219459 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -57,7 +57,11 @@ find_package( asio REQUIRED )
@@ -52,7 +52,11 @@ find_package( asio REQUIRED )

if ( BUILD_SSL )
add_definitions( "-DBUILD_SSL" )
Expand All @@ -14,57 +14,41 @@ index e6095da..6bf8d81 100644
+ set( crypto_LIBRARY_STATIC OpenSSL::Crypto )
endif ( )

include_directories( ${INCLUDE_DIR} SYSTEM ${asio_INCLUDE} ${ssl_INCLUDE} )
@@ -76,12 +80,14 @@ endif ( )
#
file( GLOB_RECURSE MANIFEST "${SOURCE_DIR}/*.cpp" )
if ( BUILD_IPC )
@@ -75,8 +79,8 @@ if ( BUILD_STATIC_LIBRARY )
set_property( TARGET ${STATIC_LIBRARY_NAME} PROPERTY CXX_STANDARD_REQUIRED ON )
set_target_properties( ${STATIC_LIBRARY_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME} )

+if ( NOT BUILD_SHARED_LIBS )
set( STATIC_LIBRARY_NAME "${PROJECT_NAME}-static" )
add_library( ${STATIC_LIBRARY_NAME} STATIC ${MANIFEST} )
set_property( TARGET ${STATIC_LIBRARY_NAME} PROPERTY CXX_STANDARD 14 )
set_property( TARGET ${STATIC_LIBRARY_NAME} PROPERTY CXX_STANDARD_REQUIRED ON )
set_target_properties( ${STATIC_LIBRARY_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME} )
-
+target_include_directories(${STATIC_LIBRARY_NAME} INTERFACE $<INSTALL_INTERFACE:include>)
+else ( )
set( SHARED_LIBRARY_NAME "${PROJECT_NAME}-shared" )
add_library( ${SHARED_LIBRARY_NAME} SHARED ${MANIFEST} )
set_property( TARGET ${SHARED_LIBRARY_NAME} PROPERTY CXX_STANDARD 14 )
@@ -93,14 +99,22 @@ else ( )
set_target_properties( ${SHARED_LIBRARY_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME} )
endif ( )
set_target_properties( ${SHARED_LIBRARY_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR} VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} )
+target_include_directories(${SHARED_LIBRARY_NAME} INTERFACE $<INSTALL_INTERFACE:include>)
+endif ( )
- target_include_directories(${STATIC_LIBRARY_NAME} SYSTEM PUBLIC ${asio_INCLUDE} ${ssl_INCLUDE} ${INCLUDE_DIR})
-
+ target_include_directories(${STATIC_LIBRARY_NAME} SYSTEM PUBLIC ${asio_INCLUDE} ${ssl_INCLUDE} $<BUILD_INTERFACE:${INCLUDE_DIR}>)
+ target_include_directories(${STATIC_LIBRARY_NAME} INTERFACE $<INSTALL_INTERFACE:include>)
if ( BUILD_SSL )
target_link_libraries( ${STATIC_LIBRARY_NAME} LINK_PRIVATE ${ssl_LIBRARY_STATIC} ${crypto_LIBRARY_STATIC} ${CMAKE_DL_LIBS} )
else ( )
@@ -96,8 +100,8 @@ if ( BUILD_SHARED_LIBRARY )
endif ( )
set_target_properties( ${SHARED_LIBRARY_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR} VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} )

if ( BUILD_SSL )
+if ( BUILD_SHARED_LIBS )
target_link_libraries( ${SHARED_LIBRARY_NAME} LINK_PRIVATE ${ssl_LIBRARY_SHARED} ${crypto_LIBRARY_SHARED} )
+else ( )
target_link_libraries( ${STATIC_LIBRARY_NAME} LINK_PRIVATE ${ssl_LIBRARY_STATIC} ${crypto_LIBRARY_STATIC} ${CMAKE_DL_LIBS} )
+endif ( )
else ( )
+if ( BUILD_SHARED_LIBS )
target_link_libraries( ${SHARED_LIBRARY_NAME} )
+else ( )
target_link_libraries( ${STATIC_LIBRARY_NAME} ${CMAKE_DL_LIBS} )
- target_include_directories(${SHARED_LIBRARY_NAME} SYSTEM PUBLIC ${asio_INCLUDE} ${ssl_INCLUDE} ${INCLUDE_DIR})
-
+ target_include_directories(${SHARED_LIBRARY_NAME} SYSTEM PUBLIC ${asio_INCLUDE} ${ssl_INCLUDE} $<BUILD_INTERFACE:${INCLUDE_DIR}>)
+ target_include_directories(${SHARED_LIBRARY_NAME} INTERFACE $<INSTALL_INTERFACE:include>)
if ( BUILD_SSL )
target_link_libraries( ${SHARED_LIBRARY_NAME} LINK_PRIVATE ${ssl_LIBRARY_SHARED} ${crypto_LIBRARY_SHARED} )
else ( )
@@ -122,9 +126,27 @@ if ( BUILD_DEVEL_PACKAGE )
endif ( )
+endif ( )

if ( BUILD_TESTS )
find_package( catch REQUIRED )
@@ -119,5 +133,26 @@ file( GLOB ARTIFACTS "${SOURCE_DIR}/*.hpp" )
if ( BUILD_STATIC_LIBRARY )
- install( TARGETS ${STATIC_LIBRARY_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${} COMPONENT library )
+ install( TARGETS ${STATIC_LIBRARY_NAME} EXPORT unofficial-restbed-target RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${} COMPONENT library )
endif ( )

install( FILES "${INCLUDE_DIR}/${PROJECT_NAME}" DESTINATION "${CMAKE_INSTALL_PREFIX}/include" )
install( FILES ${ARTIFACTS} DESTINATION "${CMAKE_INSTALL_PREFIX}/include/corvusoft/${PROJECT_NAME}" )
-install( TARGETS ${STATIC_LIBRARY_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library )
-install( TARGETS ${SHARED_LIBRARY_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library )
+if ( NOT BUILD_SHARED_LIBS )
+install( TARGETS ${STATIC_LIBRARY_NAME} EXPORT unofficial-restbed-target RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library )
+else ( )
+install( TARGETS ${SHARED_LIBRARY_NAME} EXPORT unofficial-restbed-target RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library )
+endif ( )
if ( BUILD_SHARED_LIBRARY )
- install( TARGETS ${SHARED_LIBRARY_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library )
+ install( TARGETS ${SHARED_LIBRARY_NAME} EXPORT unofficial-restbed-target RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library )
endif ( )
+
+install( EXPORT unofficial-restbed-target FILE unofficial-restbed-target.cmake NAMESPACE unofficial::restbed:: DESTINATION share/unofficial-restbed)
+
Expand All @@ -83,4 +67,3 @@ index e6095da..6bf8d81 100644
+
+configure_file( "${CMAKE_CURRENT_BINARY_DIR}/unofficial-restbed-config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/unofficial-restbed-config.cmake" @ONLY)
+install( FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-restbed-config.cmake" DESTINATION share/unofficial-restbed)
\ No newline at end of file
11 changes: 8 additions & 3 deletions ports/restbed/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,25 +1,30 @@
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
openssl BUILD_SSL
openssl BUILD_SSL
)

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Corvusoft/restbed
REF "${VERSION}"
SHA512 989027c926b97a9dd02951c881dc41819014783da4848cc9ee50776545ba206830d35c2e775abd8c0f705f7b0611d5cd335dd1eb305cdcbf2c86100abaf1623c
REF "${VERSION}"
SHA512 f012d6574cc6eccccde71c44009a440f05fd72a2db74acb4eff10d0b96156e83a0643a83dccd52a8a0b3c48e88eb5451e939775a4655e0cb7de51aa68df5cab8
HEAD_REF master
PATCHES
fix-cmake.patch
)

file(REMOVE "${SOURCE_PATH}/cmake/Findopenssl.cmake")

string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" RESTBED_BUILD_STATIC)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" RESTBED_BUILD_DYNAMIC)

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
${FEATURE_OPTIONS}
-DBUILD_TESTS=OFF
-DBUILD_STATIC_LIBRARY=${RESTBED_BUILD_STATIC}
-DBUILD_SHARED_LIBRARY=${RESTBED_BUILD_DYNAMIC}
)

vcpkg_cmake_install()
Expand Down
3 changes: 1 addition & 2 deletions ports/restbed/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
"name": "restbed",
"version": "4.8",
"port-version": 3,
"version": "5.0.0",
"description": "Corvusoft's Restbed framework brings asynchronous RESTful functionality to C++14 applications.",
"homepage": "https://github.com/corvusoft/restbed",
"license": "AGPL-3.0-or-later OR CPL-1.0",
Expand Down
1 change: 1 addition & 0 deletions scripts/ci.feature.baseline.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1301,6 +1301,7 @@ realsense2:arm64-linux=cascade
reflectcpp[bson]:arm64-linux=feature-fails
rendergraph:arm64-linux=fail
restbed:arm64-linux=fail
restbed:x64-linux=fail # requires c++23
restc-cpp:arm64-windows=cascade
rioki-glow:arm64-linux=cascade
ripper37-libbase[wx]:arm64-linux=cascade
Expand Down
4 changes: 2 additions & 2 deletions versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -8693,8 +8693,8 @@
"port-version": 1
},
"restbed": {
"baseline": "4.8",
"port-version": 3
"baseline": "5.0.0",
"port-version": 0
},
"restc-cpp": {
"baseline": "1.0.0",
Expand Down
5 changes: 5 additions & 0 deletions versions/r-/restbed.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "85a8c1254826c6bd2063becc05fffd2ba6951895",
"version": "5.0.0",
"port-version": 0
},
{
"git-tree": "1d606ecb46ac21637b8d40e1dc3fe175e721e987",
"version": "4.8",
Expand Down
Loading