diff options
Diffstat (limited to 'vcpkg/ports/boost-asio')
| -rw-r--r-- | vcpkg/ports/boost-asio/0001-add-options.patch | 107 | ||||
| -rw-r--r-- | vcpkg/ports/boost-asio/features.cmake | 7 | ||||
| -rw-r--r-- | vcpkg/ports/boost-asio/portfile.cmake | 18 | ||||
| -rw-r--r-- | vcpkg/ports/boost-asio/vcpkg.json | 75 |
4 files changed, 207 insertions, 0 deletions
diff --git a/vcpkg/ports/boost-asio/0001-add-options.patch b/vcpkg/ports/boost-asio/0001-add-options.patch new file mode 100644 index 0000000..95c2a11 --- /dev/null +++ b/vcpkg/ports/boost-asio/0001-add-options.patch @@ -0,0 +1,107 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d8e02fcec..e6e6d66e6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -12,6 +12,8 @@ project(boost_asio VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX) + + add_library(boost_asio_core INTERFACE) + add_library(Boost::asio_core ALIAS boost_asio_core) ++set(boost_asio_install_targets boost_asio_core) ++set(boost_asio_aliases Boost::asio_core) + + target_include_directories(boost_asio_core INTERFACE include) + +@@ -27,47 +29,60 @@ target_link_libraries(boost_asio_core + target_compile_features(boost_asio_core INTERFACE cxx_std_11) + + # deadline_timer support ++option(BOOST_ASIO_SUPPORT_DEADLINE_TIMER "Support deadline_timer" ON) + +-add_library(boost_asio_deadline_timer INTERFACE) +-add_library(Boost::asio_deadline_timer ALIAS boost_asio_deadline_timer) ++if (BOOST_ASIO_SUPPORT_DEADLINE_TIMER) ++ add_library(boost_asio_deadline_timer INTERFACE) ++ add_library(Boost::asio_deadline_timer ALIAS boost_asio_deadline_timer) ++ list(APPEND boost_asio_install_targets boost_asio_deadline_timer) ++ list(APPEND boost_asio_aliases Boost::asio_deadline_timer) + +-target_include_directories(boost_asio_deadline_timer INTERFACE include) ++ target_include_directories(boost_asio_deadline_timer INTERFACE include) + +-target_link_libraries(boost_asio_deadline_timer +- INTERFACE +- Boost::asio_core +- Boost::date_time +-) ++ target_link_libraries(boost_asio_deadline_timer ++ INTERFACE ++ Boost::asio_core # Internal dependency (this comment disables adding the internal library to the dependency list in BoostRoot.cmake) ++ $<TARGET_NAME_IF_EXISTS:Boost::date_time> ++ ) + +-target_compile_features(boost_asio_deadline_timer INTERFACE cxx_std_11) ++ target_compile_features(boost_asio_deadline_timer INTERFACE cxx_std_11) ++else() ++ target_compile_definitions(boost_asio_core INTERFACE BOOST_ASIO_DISABLE_BOOST_DATE_TIME) ++endif() + + # spawn (stackful coroutines) support ++option(BOOST_ASIO_SUPPORT_SPAWN "Support spawn (stackful coroutines)" ON) + +-add_library(boost_asio_spawn INTERFACE) +-add_library(Boost::asio_spawn ALIAS boost_asio_spawn) ++if (BOOST_ASIO_SUPPORT_SPAWN) ++ add_library(boost_asio_spawn INTERFACE) ++ add_library(Boost::asio_spawn ALIAS boost_asio_spawn) ++ list(APPEND boost_asio_install_targets boost_asio_spawn) ++ list(APPEND boost_asio_aliases Boost::asio_spawn) + +-target_include_directories(boost_asio_spawn INTERFACE include) ++ target_include_directories(boost_asio_spawn INTERFACE include) + +-target_link_libraries(boost_asio_spawn +- INTERFACE +- Boost::asio_core +- Boost::context +-) ++ target_link_libraries(boost_asio_spawn ++ INTERFACE ++ Boost::asio_core # Internal dependency ++ $<TARGET_NAME_IF_EXISTS:Boost::context> ++ ) + +-target_compile_features(boost_asio_spawn INTERFACE cxx_std_11) ++ target_compile_features(boost_asio_spawn INTERFACE cxx_std_11) ++else() ++ target_compile_definitions(boost_asio_core INTERFACE BOOST_ASIO_DISABLE_BOOST_CONTEXT_FIBER) ++endif() + + # the works + + add_library(boost_asio INTERFACE) + add_library(Boost::asio ALIAS boost_asio) ++list(APPEND boost_asio_install_targets boost_asio) + + target_include_directories(boost_asio INTERFACE include) + + target_link_libraries(boost_asio + INTERFACE +- Boost::asio_core +- Boost::asio_deadline_timer +- Boost::asio_spawn ++ ${boost_asio_aliases} + ) + + target_compile_features(boost_asio INTERFACE cxx_std_11) +@@ -75,10 +90,7 @@ target_compile_features(boost_asio INTERFACE cxx_std_11) + if (BOOST_SUPERPROJECT_VERSION AND NOT CMAKE_VERSION VERSION_LESS 3.13) + boost_install( + TARGETS +- boost_asio_core +- boost_asio_deadline_timer +- boost_asio_spawn +- boost_asio ++ ${boost_asio_install_targets} + VERSION + "${BOOST_SUPERPROJECT_VERSION}" + HEADER_DIRECTORY diff --git a/vcpkg/ports/boost-asio/features.cmake b/vcpkg/ports/boost-asio/features.cmake new file mode 100644 index 0000000..c40d020 --- /dev/null +++ b/vcpkg/ports/boost-asio/features.cmake @@ -0,0 +1,7 @@ +vcpkg_check_features(
+ OUT_FEATURE_OPTIONS
+ FEATURE_OPTIONS
+ FEATURES
+ "deadline-timer" BOOST_ASIO_SUPPORT_DEADLINE_TIMER
+ "spawn" BOOST_ASIO_SUPPORT_SPAWN
+)
diff --git a/vcpkg/ports/boost-asio/portfile.cmake b/vcpkg/ports/boost-asio/portfile.cmake new file mode 100644 index 0000000..6a1d5de --- /dev/null +++ b/vcpkg/ports/boost-asio/portfile.cmake @@ -0,0 +1,18 @@ +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/asio + REF boost-${VERSION} + SHA512 405f41b44b2b949fbe877e5dd410003038091a976e3f261252ab138b6f71f071b7cb70377fc84fc83bc46f50967ca9f9bb7bb673b3f11125e79b918fc1232b8e + HEAD_REF master + PATCHES + 0001-add-options.patch +) + +set(FEATURE_OPTIONS "") +include("${CMAKE_CURRENT_LIST_DIR}/features.cmake") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/vcpkg/ports/boost-asio/vcpkg.json b/vcpkg/ports/boost-asio/vcpkg.json new file mode 100644 index 0000000..b0bc3b7 --- /dev/null +++ b/vcpkg/ports/boost-asio/vcpkg.json @@ -0,0 +1,75 @@ +{ + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", + "name": "boost-asio", + "version": "1.89.0", + "description": "Boost asio module", + "homepage": "https://www.boost.org/libs/asio", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "boost-align", + "version>=": "1.89.0" + }, + { + "name": "boost-assert", + "version>=": "1.89.0" + }, + { + "name": "boost-cmake", + "version>=": "1.89.0" + }, + { + "name": "boost-config", + "version>=": "1.89.0" + }, + { + "name": "boost-headers", + "version>=": "1.89.0" + }, + { + "name": "boost-system", + "version>=": "1.89.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.89.0" + } + ], + "default-features": [ + "deadline-timer", + { + "name": "spawn", + "platform": "!uwp & !emscripten" + } + ], + "features": { + "deadline-timer": { + "description": "Build with deadline_timer support", + "dependencies": [ + { + "name": "boost-date-time", + "version>=": "1.89.0" + } + ] + }, + "spawn": { + "description": "Build with spawn (stackful coroutines) support", + "dependencies": [ + { + "name": "boost-context", + "platform": "!uwp & !emscripten", + "version>=": "1.89.0" + } + ] + }, + "ssl": { + "description": "Build with SSL support", + "dependencies": [ + { + "name": "openssl", + "platform": "!emscripten" + } + ] + } + } +} |