File tree Expand file tree Collapse file tree 5 files changed +22
-7
lines changed
Expand file tree Collapse file tree 5 files changed +22
-7
lines changed Original file line number Diff line number Diff line change @@ -5,9 +5,10 @@ set(CMAKE_CXX_EXTENSIONS OFF)
55set (CMAKE_EXPORT_COMPILE_COMMANDS ON )
66
77list (APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR} /cmake" )
8- include (CTest)
98
109add_subdirectory (lib)
10+
11+ enable_testing ()
1112if (BUILD_TESTING)
1213 add_subdirectory (test )
1314endif ()
@@ -20,10 +21,10 @@ configure_file(cmake/cppcoroConfig.cmake
2021 COPYONLY )
2122
2223set (config_package_location lib/cmake/cppcoro)
23- install (DIRECTORY include
24- DESTINATION .
24+ install (DIRECTORY include /cppcoro
25+ DESTINATION include
2526 COMPONENT Devel)
26- install (FILES cmake/FindCppcoroCoroutines .cmake
27+ install (FILES cmake/FindCoroutines .cmake
2728 DESTINATION ${config_package_location}
2829 COMPONENT Devel)
2930install (EXPORT cppcoroTargets
Original file line number Diff line number Diff line change @@ -110,11 +110,15 @@ cmake_push_check_state()
110110set (CMAKE_REQUIRED_QUIET ${Coroutines_FIND_QUIETLY} )
111111
112112check_cxx_compiler_flag(/await _CXX_COROUTINES_SUPPORTS_MS_FLAG)
113+ check_cxx_compiler_flag(/await:heapelide _CXX_COROUTINES_SUPPORTS_MS_HEAPELIDE_FLAG)
113114check_cxx_compiler_flag(-fcoroutines-ts _CXX_COROUTINES_SUPPORTS_TS_FLAG)
114115check_cxx_compiler_flag(-fcoroutines _CXX_COROUTINES_SUPPORTS_CORO_FLAG)
115116
116117if (_CXX_COROUTINES_SUPPORTS_MS_FLAG)
117118 set (_CXX_COROUTINES_EXTRA_FLAGS "/await" )
119+ if (_CXX_COROUTINES_SUPPORTS_MS_HEAPELIDE_FLAG AND CMAKE_SIZEOF_VOID_P GREATER_EQUAL 8)
120+ list (APPEND _CXX_COROUTINES_EXTRA_FLAGS "/await:heapelide" )
121+ endif ()
118122elseif (_CXX_COROUTINES_SUPPORTS_TS_FLAG)
119123 set (_CXX_COROUTINES_EXTRA_FLAGS "-fcoroutines-ts" )
120124elseif (_CXX_COROUTINES_SUPPORTS_CORO_FLAG)
Original file line number Diff line number Diff line change 11list (APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR} )
22
33include (CMakeFindDependencyMacro)
4- find_dependency(CppcoroCoroutines QUIET REQUIRED)
4+ find_dependency(Coroutines QUIET REQUIRED)
55
66include ("${CMAKE_CURRENT_LIST_DIR} /cppcoroTargets.cmake" )
Original file line number Diff line number Diff line change @@ -144,6 +144,14 @@ if(WIN32)
144144 socket_recv_from_operation.cpp
145145 )
146146 list (APPEND sources ${win32Sources} )
147+
148+ list (APPEND libraries Ws2_32 Mswsock Synchronization)
149+ list (APPEND compile_options /EHsc)
150+
151+ if ("${MSVC_VERSION} " VERSION_GREATER_EQUAL 1900)
152+ # TODO remove this when experimental/non-experimental include are fixed
153+ list (APPEND compile_definition _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING=1)
154+ endif ()
147155endif ()
148156
149157add_library (cppcoro
@@ -158,9 +166,11 @@ target_include_directories(cppcoro PUBLIC
158166 $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR} /include >
159167 $<INSTALL_INTERFACE:include >)
160168target_compile_features (cppcoro PUBLIC cxx_std_20)
169+ target_compile_definitions (cppcoro PUBLIC ${compile_definition} )
170+ target_compile_options (cppcoro PUBLIC ${compile_options} )
161171
162172find_package (Coroutines COMPONENTS Experimental Final REQUIRED)
163- target_link_libraries (cppcoro PUBLIC std::coroutines)
173+ target_link_libraries (cppcoro PUBLIC std::coroutines ${libraries} )
164174
165175install (TARGETS cppcoro EXPORT cppcoroTargets
166176 LIBRARY DESTINATION lib
Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ include(${CMAKE_CURRENT_LIST_DIR}/doctest/doctest.cmake)
55
66find_package (Threads REQUIRED)
77
8- add_library (tests-main SHARED
8+ add_library (tests-main STATIC
99 main.cpp
1010 counted.cpp
1111)
You can’t perform that action at this time.
0 commit comments