Skip to content

Commit 1dc07c0

Browse files
authored
Merge pull request #8 from PazerOP/cmake_msvc
Add support for MSVC + CMake, Removal of sln/vcxproj files.
2 parents bd66f4b + a95cd0d commit 1dc07c0

39 files changed

+99
-2087
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,5 @@
4242

4343
#Specific directories
4444
/build
45-
/msvc_intermediate
45+
/msvc_intermediate
46+
out/

CMakeLists.txt

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,25 @@
1-
cmake_minimum_required(VERSION 3.17.0)
1+
cmake_minimum_required(VERSION 3.16)
22
project(concurrencpp)
33

4+
set(CMAKE_CXX_STANDARD 20)
5+
6+
if (MSVC)
7+
add_compile_options(/W3)
8+
else()
9+
add_compile_options(-Wall -Wextra)
10+
11+
option(CONCURRENCPP_ENABLE_TSAN "Enables thread-sanitizer checks" OFF)
12+
if (CONCURRENCPP_ENABLE_TSAN)
13+
add_compile_options(-fsanitize=thread)
14+
add_link_options(-fsanitize=thread)
15+
endif()
16+
endif()
17+
418
add_subdirectory(concurrencpp)
519
add_subdirectory(tests)
620
add_subdirectory(sandbox)
721
add_subdirectory(examples)
8-
#add_subdirectory(thread_sanitizers)
22+
23+
if (CONCURRENCPP_ENABLE_TSAN)
24+
add_subdirectory(thread_sanitizers)
25+
endif()

concurrencpp.sln

Lines changed: 0 additions & 99 deletions
This file was deleted.

concurrencpp/CMakeLists.txt

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,8 @@
1-
cmake_minimum_required(VERSION 3.17.0)
1+
cmake_minimum_required(VERSION 3.16)
22
project(concurrencpp)
33

4-
set(CMAKE_CXX_COMPILER clang++)
5-
set(CMAKE_CXX_STANDARD 20)
6-
7-
set(CLANG_COROUTINES_COMPILE_FLAGS "-Wall -Wextra -stdlib=libc++ -fcoroutines-ts")
8-
9-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CLANG_COROUTINES_COMPILE_FLAGS}")
10-
set(CMAKE_BUILD_TYPE Release)
11-
#set(CMAKE_BUILD_TYPE RELWITHDEBINFO)
12-
134
add_library(
14-
concurrencpp
5+
concurrencpp
156
src/executors/executor.cpp
167
src/runtime/runtime.cpp
178
src/threads/thread.cpp
@@ -25,8 +16,17 @@ add_library(
2516
src/timers/timer.cpp
2617
)
2718

19+
target_include_directories(concurrencpp PUBLIC include)
20+
21+
if (MSVC)
22+
target_compile_options(concurrencpp PUBLIC /await /permissive-)
23+
else()
24+
target_compile_options(concurrencpp PUBLIC -stdlib=libc++ -fcoroutines-ts)
25+
target_link_options(concurrencpp PUBLIC -stdlib=libc++)
26+
target_link_libraries(concurrencpp PUBLIC pthread)
27+
endif()
28+
2829
find_library(LIBRT rt)
29-
if(LIBRT)
30-
target_link_libraries(concurrencpp ${LIBRT})
31-
endif()
32-
target_link_libraries(concurrencpp pthread)
30+
if(LIBRT)
31+
target_link_libraries(concurrencpp PUBLIC ${LIBRT})
32+
endif()

concurrencpp/concurrencpp.vcxproj

Lines changed: 0 additions & 206 deletions
This file was deleted.

0 commit comments

Comments
 (0)