-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
50 lines (40 loc) · 1.17 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
cmake_minimum_required(VERSION 3.21)
include(FetchContent)
FetchContent_Declare(
serious-cmake-library
GIT_REPOSITORY [email protected]:UsatiyNyan/serious-cmake-library.git
GIT_TAG main
)
FetchContent_MakeAvailable(serious-cmake-library)
sl_project_prologue(
C_STANDARD 17
CXX_STANDARD 23)
project(
serious-execution-library
VERSION 0.0.1
DESCRIPTION "coroutines, futures, async, parallelism, exclusively for linux for now"
HOMEPAGE_URL "TODO"
LANGUAGES CXX)
add_library(${PROJECT_NAME} STATIC
src/algo/sched/manual.cpp
src/algo/sync/serial.cpp
src/coro/async.cpp
src/thread/event/nowait.cpp
src/thread/event/atomic.cpp
src/thread/event/mutex.cpp
src/thread/sync/wait_group.cpp
src/thread/pool/config.cpp
src/thread/pool/monolithic.cpp
)
add_library(sl::exec ALIAS ${PROJECT_NAME})
target_include_directories(${PROJECT_NAME} PUBLIC include)
add_subdirectory(dependencies)
if (NOT PROJECT_IS_TOP_LEVEL)
return()
endif ()
sl_compiler_warnings(${PROJECT_NAME} WARNINGS_AS_ERRORS)
add_subdirectory(examples)
include(CTest)
if (BUILD_TESTING)
add_subdirectory(test)
endif ()