diff --git a/CMakeLists.txt b/CMakeLists.txt index d796995..d8b9751 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,7 +37,11 @@ option(CTI_CONTINUABLE_WITH_NO_EXCEPTIONS "Disable exception support" OFF) -option(CTI_CONTINUABLE_WITH_AWAIT +option(CTI_CONTINUABLE_WITH_UNHANDLED_EXCEPTIONS + "Enable unhandled asynchronous exceptions" + OFF) + +option(CTI_CONTINUABLE_WITH_EXPERIMENTAL_COROUTINE "Enable co_await support" OFF) @@ -77,7 +81,7 @@ target_compile_features(continuable-base cxx_trailing_return_types cxx_return_type_deduction) -if (CTI_CONTINUABLE_WITH_AWAIT) +if (CTI_CONTINUABLE_WITH_EXPERIMENTAL_COROUTINE) target_compile_options(continuable-base INTERFACE $<$:/await> @@ -88,6 +92,12 @@ if (CTI_CONTINUABLE_WITH_AWAIT) -DCONTINUABLE_WITH_EXPERIMENTAL_COROUTINE) endif() +if (CTI_CONTINUABLE_WITH_UNHANDLED_EXCEPTIONS) + target_compile_definitions(continuable-base + INTERFACE + -DCONTINUABLE_WITH_UNHANDLED_EXCEPTIONS) +endif() + add_library(continuable INTERFACE) add_library(continuable::continuable ALIAS continuable) diff --git a/appveyor.yml b/appveyor.yml index f0af5d1..82db213 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -22,7 +22,7 @@ before_build: - cmd: > cmake -H. -Bbuild -A%PLATFORM% -DCTI_CONTINUABLE_WITH_NO_EXCEPTIONS=%WITH_NO_EXCEPTIONS% - -DCTI_CONTINUABLE_WITH_AWAIT=ON + -DCTI_CONTINUABLE_WITH_EXPERIMENTAL_COROUTINE=ON build_script: - cmd: cmake --build build --config %CONFIGURATION% --target ALL_BUILD -- /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" /verbosity:minimal /maxcpucount:2 /nologo diff --git a/tools/travis-ci.sh b/tools/travis-ci.sh index 5e300c2..d1be75b 100644 --- a/tools/travis-ci.sh +++ b/tools/travis-ci.sh @@ -43,7 +43,7 @@ function renew_build { cd build # Configure the project and build it - cmake -GNinja -DCMAKE_CXX_FLAGS="$STD_CXX_FLAGS $CMAKE_CXX_FLAGS -Werror" -DCMAKE_EXE_LINKER_FLAGS="$STD_LINKER_FLAGS" -DCTI_CONTINUABLE_WITH_NO_EXCEPTIONS=$WITH_NO_EXCEPTIONS -DCTI_CONTINUABLE_WITH_AWAIT=$WITH_AWAIT -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=Debug .. + cmake -GNinja -DCMAKE_CXX_FLAGS="$STD_CXX_FLAGS $CMAKE_CXX_FLAGS -Werror" -DCMAKE_EXE_LINKER_FLAGS="$STD_LINKER_FLAGS" -DCTI_CONTINUABLE_WITH_NO_EXCEPTIONS=$WITH_NO_EXCEPTIONS -DCTI_CONTINUABLE_WITH_EXPERIMENTAL_COROUTINE=$WITH_AWAIT -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=Debug .. } if [[ $CXX == *"clang"* ]]; then