-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
39 lines (28 loc) · 1.12 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
# HEADER-BEGIN
cmake_minimum_required(VERSION 3.16.3) # Change .lgtml.yml as well when this does.
include(GNUInstallDirs) # Make CMAKE_INSTALL_*DIR variables available.
set(CMAKE_CXX_STANDARD 20)
project(fluentcpp
VERSION 0.1
DESCRIPTION
"Fluent functions for C++. Provides statically typed objects for easily found fluent functions.")
# HEADER-END
include(assets/scripts/functions.cmake)
option(BUILD_TESTS "Build unit tests." OFF)
option(BUILD_BENCHMARKS "Build benchmark tests." OFF)
option(BUILD_WEBSITE "Build Doxygen and product website." OFF)
option(BUILD_EXAMPLES "Build code examples using the product." OFF)
# Make the src directory available for include lookup.
include_directories(src)
add_subdirectory(src)
# Must live in the top level file or tests won't be found.
# Options are evaluated in the subdirectory CMake file.
include(CTest) # Automatically invokes enable_testing()
add_subdirectory(tests)
if (BUILD_EXAMPLES)
add_subdirectory(examples)
endif()
if(BUILD_WEBSITE)
add_subdirectory(assets/artwork) # Distribute artwork first.
add_subdirectory(assets/doxygen) # Build API website.
endif()