cmake_minimum_required(VERSION 3.13) project(predictable_parallel_patterns VERSION 0.0.1 DESCRIPTION "predictable parallel patterns for scalable smart systems using work stealing") set(CMAKE_CXX_STANDARD 11) # seperate library and test/example executable output paths. set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin) set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib) # specific setup code is located in individual files. include(cmake/DisabelInSource.cmake) include(cmake/SetupOptimizationLevel.cmake) include(cmake/SetupThreadingSupport.cmake) # make our internal cmake script collection avaliable in the build process. list(APPEND CMAKE_PREFIX_PATH "${PROJECT_SOURCE_DIR}/cmake") # Include external libraries within the project structure (prefered, as no instalation is reqired). # Each library has an own CMakeLists.txt that should make it avaliabale as a library target, # thus allowing one to include it as any cmake dependency later on. add_subdirectory(extern/catch2) # Include all internal subprojects (library, examples, testing). add_subdirectory(lib/pls) add_subdirectory(app/playground)