-
Notifications
You must be signed in to change notification settings - Fork 78
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
58 lines (42 loc) · 1.69 KB
/
CMakeLists.txt
File metadata and controls
58 lines (42 loc) · 1.69 KB
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
51
52
53
54
55
56
57
58
cmake_minimum_required(VERSION 3.25)
if(DEFINED CMAKE_OSX_SYSROOT AND NOT EXISTS "${CMAKE_OSX_SYSROOT}")
unset(CMAKE_OSX_SYSROOT CACHE)
endif()
message(STATUS "Parallel Programming Course (PPC)")
project(parallel_programming_course LANGUAGES NONE)
option(PPC_BUILD_COMPONENTS
"Build C++ modules, tasks, tests, and their dependencies" ON)
# ########################### Scoreboard #############################
message(STATUS "PPC step: Setup scoreboard generator")
include(cmake/scoreboard.cmake)
add_subdirectory(scoreboard)
# ########################## Documentation ###########################
message(STATUS "PPC step: Setup documentation generation")
include(cmake/sphinx.cmake)
add_subdirectory(docs)
if(PPC_BUILD_COMPONENTS)
enable_language(C CXX)
# ########################### Configures #############################
message(STATUS "PPC step: First configures")
include(cmake/configure.cmake)
include(cmake/modes.cmake)
include(cmake/sanitizers.cmake)
foreach(dep json libenvpp stb)
include(cmake/${dep}.cmake)
endforeach()
# ################ Parallel programming technologies #################
message(STATUS "PPC step: Setup parallel programming technologies")
foreach(dep mpi openmp onetbb)
include(cmake/${dep}.cmake)
endforeach()
# ######################## External projects #########################
message(STATUS "PPC step: Setup external projects")
include(cmake/gtest.cmake)
include(cmake/benchmark.cmake)
# ############################# Modules ##############################
message(STATUS "PPC step: Setup modules")
add_subdirectory(modules)
add_subdirectory(tasks)
else()
message(STATUS "PPC step: Skipping C++ components")
endif()