-
Notifications
You must be signed in to change notification settings - Fork 154
/
CMakeLists.txt
executable file
·54 lines (39 loc) · 1.32 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
51
52
53
###############################################################################
# Copyright (c) 2016-2023 Joel de Guzman. All rights reserved.
#
# Distributed under the MIT License (https://opensource.org/licenses/MIT)
###############################################################################
cmake_minimum_required(VERSION 3.16.0)
project(q)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
include(FetchContent)
option(Q_BUILD_EXAMPLES "build Q library examples" ON)
option(Q_BUILD_TEST "build Q library tests" ON)
option(Q_BUILD_IO "build Q IO library" ON)
###############################################################################
# Cycfi Infra
FetchContent_Declare(
cycfi_infra
GIT_REPOSITORY https://github.com/cycfi/infra.git
GIT_TAG 2024_MAY
GIT_SUBMODULES_RECURSE ON
)
FetchContent_MakeAvailable(cycfi_infra)
###############################################################################
# q_lib
add_subdirectory(q_lib)
###############################################################################
# q_io
if (Q_BUILD_IO)
add_subdirectory(q_io)
endif()
###############################################################################
# Examples and Tests
if (Q_BUILD_EXAMPLES)
add_subdirectory(example)
endif()
if (Q_BUILD_TEST)
add_subdirectory(test)
enable_testing()
endif()