]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/coroutine/CMakeLists.txt
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / libs / coroutine / CMakeLists.txt
diff --git a/ceph/src/boost/libs/coroutine/CMakeLists.txt b/ceph/src/boost/libs/coroutine/CMakeLists.txt
new file mode 100644 (file)
index 0000000..6622ac0
--- /dev/null
@@ -0,0 +1,58 @@
+# Copyright 2020, 2021 Peter Dimov
+# Distributed under the Boost Software License, Version 1.0.
+# https://www.boost.org/LICENSE_1_0.txt
+
+cmake_minimum_required(VERSION 3.5...3.16)
+
+project(boost_coroutine VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX)
+
+if(WIN32 AND NOT CMAKE_CXX_PLATFORM_ID MATCHES "Cygwin")
+  set(STACK_TRAITS_SOURCES
+    src/windows/stack_traits.cpp
+  )
+else()
+  set(STACK_TRAITS_SOURCES
+    src/posix/stack_traits.cpp
+  )
+endif()
+
+add_library(boost_coroutine
+  src/detail/coroutine_context.cpp
+  src/exceptions.cpp
+  ${STACK_TRAITS_SOURCES}
+)
+
+add_library(Boost::coroutine ALIAS boost_coroutine)
+
+target_include_directories(boost_coroutine PUBLIC include)
+
+target_link_libraries(boost_coroutine
+  PUBLIC
+    Boost::assert
+    Boost::config
+    Boost::context
+    Boost::core
+    Boost::exception
+    Boost::move
+    Boost::system
+    Boost::throw_exception
+    Boost::type_traits
+    Boost::utility
+)
+
+target_compile_definitions(boost_coroutine
+  PUBLIC BOOST_COROUTINE_NO_LIB
+  PRIVATE BOOST_COROUTINE_SOURCE BOOST_COROUTINES_SOURCE
+)
+
+if(BUILD_SHARED_LIBS)
+  target_compile_definitions(boost_coroutine PUBLIC BOOST_COROUTINE_DYN_LINK BOOST_COROUTINES_DYN_LINK)
+else()
+  target_compile_definitions(boost_coroutine PUBLIC BOOST_COROUTINE_STATIC_LINK)
+endif()
+
+if(BUILD_TESTING AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt")
+
+  add_subdirectory(test)
+
+endif()