vcpkg/ports/boost-asio/opt-dep.diff
Alexander Neumann bcf3d00d21
[Boost] use cmake build (#32309)
~~arm64-windows: boost-context builds are blocked by a cmake bug (see
https://gitlab.kitware.com/cmake/cmake/-/issues/24317)~~

closes #32274
closes https://github.com/Neumann-A/my-vcpkg-triplets/issues/5

Questions:
- [x] ~~Move cmake files to `share/cmake/<name>` ?~~ Not doing it
because it is just using `vcpkg_cmake_config_fixup()`
- [x] Fix weak dependencies (uwp|emscripten|android|arm)?
- [x] Fix library names on !x64 (currently hardcoded to x64 or x86;
failure in aricpp since it forces FindBoost module mode.)
- [x] ~~Fix arm64-windows boost-context builds -> requires CMake
(3.19.2?) update due to bug how the assembler is invoked.~~ (-> CI
baseline for now)

TODO:
- [x] adjust generate ports script
- [x] #37457

---------

Co-authored-by: Cheney-Wang <850426846@qq.com>
2024-04-29 15:27:41 -04:00

29 lines
931 B
Diff

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2ad3c1de2f..c918c7707d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -17,13 +17,21 @@ target_link_libraries(boost_asio
Boost::align
Boost::assert
Boost::config
- Boost::context
- Boost::coroutine
+ $<TARGET_NAME_IF_EXISTS:Boost::context>
+ $<TARGET_NAME_IF_EXISTS:Boost::coroutine>
Boost::date_time
Boost::system
Boost::throw_exception
)
+if(NOT TARGET Boost::context)
+ target_compile_definitions(boost_asio INTERFACE $<$<NOT:$<TARGET_EXISTS:Boost::context>>:BOOST_ASIO_DISABLE_BOOST_CONTEXT_FIBER>)
+endif()
+
+if(NOT TARGET Boost::coroutine)
+ target_compile_definitions(boost_asio INTERFACE $<$<NOT:$<TARGET_EXISTS:Boost::coroutine>>:BOOST_ASIO_DISABLE_BOOST_COROUTINE>)
+endif()
+
target_compile_features(boost_asio INTERFACE cxx_std_11)
if(BUILD_TESTING AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt")