summaryrefslogtreecommitdiff
path: root/projects
diff options
context:
space:
mode:
authorKirk Shoop <kirk.shoop@microsoft.com>2016-12-13 19:58:34 -0800
committerGitHub <noreply@github.com>2016-12-13 19:58:34 -0800
commitcfa49a4d4baa57159319d8498f8f9158b9036e6a (patch)
tree88fe0d4d32c8824aaf80ad9b759421effbc9983b /projects
parent2ac078e3b0c78785134a195c26e7b55a6758f3c7 (diff)
downloadRxCpp-cfa49a4d4baa57159319d8498f8f9158b9036e6a.tar.gz
add support for C++ coroutines (#286)
* add support for C++ coroutines * add tests and docs * address feedback and fix lifetime issue
Diffstat (limited to 'projects')
-rw-r--r--projects/CMake/CMakeLists.txt3
-rw-r--r--projects/CMake/shared.cmake9
2 files changed, 11 insertions, 1 deletions
diff --git a/projects/CMake/CMakeLists.txt b/projects/CMake/CMakeLists.txt
index 484762b..dc5326f 100644
--- a/projects/CMake/CMakeLists.txt
+++ b/projects/CMake/CMakeLists.txt
@@ -84,6 +84,7 @@ set(RX_SOURCES
${RXCPP_DIR}/Rx/v2/src/rxcpp/operators/rx-zip.hpp
${RXCPP_DIR}/Rx/v2/src/rxcpp/rx-connectable_observable.hpp
${RXCPP_DIR}/Rx/v2/src/rxcpp/rx-coordination.hpp
+ ${RXCPP_DIR}/Rx/v2/src/rxcpp/rx-coroutine.hpp
${RXCPP_DIR}/Rx/v2/src/rxcpp/rx-grouped_observable.hpp
${RXCPP_DIR}/Rx/v2/src/rxcpp/rx-includes.hpp
${RXCPP_DIR}/Rx/v2/src/rxcpp/rx-notification.hpp
@@ -132,4 +133,4 @@ SET_TARGET_PROPERTIES(RxCpp PROPERTIES LINKER_LANGUAGE CXX)
set(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY TRUE CACHE BOOL "Don't require all projects to be built in order to install" FORCE)
install(DIRECTORY ${RXCPP_DIR}/Rx/v2/src/rxcpp/ DESTINATION rxcpp
- FILES_MATCHING PATTERN "*.hpp") \ No newline at end of file
+ FILES_MATCHING PATTERN "*.hpp")
diff --git a/projects/CMake/shared.cmake b/projects/CMake/shared.cmake
index c29bdcb..87f1820 100644
--- a/projects/CMake/shared.cmake
+++ b/projects/CMake/shared.cmake
@@ -5,6 +5,7 @@ FIND_PACKAGE(Threads)
MESSAGE( STATUS "CMAKE_CXX_COMPILER_ID: " ${CMAKE_CXX_COMPILER_ID} )
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+ MESSAGE( STATUS "clang compiler version: " ${CMAKE_CXX_COMPILER_VERSION} )
MESSAGE( STATUS "using clang settings" )
set(RX_COMPILE_OPTIONS
-Wall -Wextra -Werror -Wunused
@@ -12,11 +13,13 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
-ftemplate-depth=1024
)
elseif (CMAKE_CXX_COMPILER_ID MATCHES "GNU")
+ MESSAGE( STATUS "gnu compiler version: " ${CMAKE_CXX_COMPILER_VERSION} )
MESSAGE( STATUS "using gnu settings" )
set(RX_COMPILE_OPTIONS
-Wall -Wextra -Werror -Wunused
)
elseif (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
+ MESSAGE( STATUS "msvc compiler version: " ${CMAKE_CXX_COMPILER_VERSION} )
MESSAGE( STATUS "using msvc settings" )
set(RX_COMPILE_OPTIONS
/W4 /WX
@@ -25,6 +28,12 @@ elseif (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
/bigobj
/DUNICODE /D_UNICODE # it is a new millenium
)
+ if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "19.0.23506.0")
+ set(RX_COMPILE_OPTIONS
+ ${RX_COMPILE_OPTIONS}
+ /await # enable coroutines
+ )
+ endif()
endif()
set(RX_COMPILE_FEATURES