Skip to content

Commit

Permalink
Merge pull request David-Haim#8 from PazerOP/cmake_msvc
Browse files Browse the repository at this point in the history
Add support for MSVC + CMake, Removal of sln/vcxproj files.
  • Loading branch information
David-Haim authored Sep 22, 2020
2 parents bd66f4b + a95cd0d commit 1dc07c0
Show file tree
Hide file tree
Showing 39 changed files with 99 additions and 2,087 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,5 @@

#Specific directories
/build
/msvc_intermediate
/msvc_intermediate
out/
21 changes: 19 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,25 @@
cmake_minimum_required(VERSION 3.17.0)
cmake_minimum_required(VERSION 3.16)
project(concurrencpp)

set(CMAKE_CXX_STANDARD 20)

if (MSVC)
add_compile_options(/W3)
else()
add_compile_options(-Wall -Wextra)

option(CONCURRENCPP_ENABLE_TSAN "Enables thread-sanitizer checks" OFF)
if (CONCURRENCPP_ENABLE_TSAN)
add_compile_options(-fsanitize=thread)
add_link_options(-fsanitize=thread)
endif()
endif()

add_subdirectory(concurrencpp)
add_subdirectory(tests)
add_subdirectory(sandbox)
add_subdirectory(examples)
#add_subdirectory(thread_sanitizers)

if (CONCURRENCPP_ENABLE_TSAN)
add_subdirectory(thread_sanitizers)
endif()
99 changes: 0 additions & 99 deletions concurrencpp.sln

This file was deleted.

30 changes: 15 additions & 15 deletions concurrencpp/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,17 +1,8 @@
cmake_minimum_required(VERSION 3.17.0)
cmake_minimum_required(VERSION 3.16)
project(concurrencpp)

set(CMAKE_CXX_COMPILER clang++)
set(CMAKE_CXX_STANDARD 20)

set(CLANG_COROUTINES_COMPILE_FLAGS "-Wall -Wextra -stdlib=libc++ -fcoroutines-ts")

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CLANG_COROUTINES_COMPILE_FLAGS}")
set(CMAKE_BUILD_TYPE Release)
#set(CMAKE_BUILD_TYPE RELWITHDEBINFO)

add_library(
concurrencpp
concurrencpp
src/executors/executor.cpp
src/runtime/runtime.cpp
src/threads/thread.cpp
Expand All @@ -25,8 +16,17 @@ add_library(
src/timers/timer.cpp
)

target_include_directories(concurrencpp PUBLIC include)

if (MSVC)
target_compile_options(concurrencpp PUBLIC /await /permissive-)
else()
target_compile_options(concurrencpp PUBLIC -stdlib=libc++ -fcoroutines-ts)
target_link_options(concurrencpp PUBLIC -stdlib=libc++)
target_link_libraries(concurrencpp PUBLIC pthread)
endif()

find_library(LIBRT rt)
if(LIBRT)
target_link_libraries(concurrencpp ${LIBRT})
endif()
target_link_libraries(concurrencpp pthread)
if(LIBRT)
target_link_libraries(concurrencpp PUBLIC ${LIBRT})
endif()
206 changes: 0 additions & 206 deletions concurrencpp/concurrencpp.vcxproj

This file was deleted.

Loading

0 comments on commit 1dc07c0

Please sign in to comment.