aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/boost-asio
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/boost-asio
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/boost-asio')
-rw-r--r--vcpkg/ports/boost-asio/0001-add-options.patch107
-rw-r--r--vcpkg/ports/boost-asio/features.cmake7
-rw-r--r--vcpkg/ports/boost-asio/portfile.cmake18
-rw-r--r--vcpkg/ports/boost-asio/vcpkg.json75
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"
+ }
+ ]
+ }
+ }
+}