-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
57 lines (47 loc) · 1.49 KB
/
CMakeLists.txt
File metadata and controls
57 lines (47 loc) · 1.49 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
cmake_minimum_required(VERSION 4.0.0)
project(cae
VERSION 0.0.0
DESCRIPTION "Cross-API graphics engine"
HOMEPAGE_URL "https://bobis33.github.io/Cross-API-Engine/"
LANGUAGES C CXX
)
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/modules")
option(CAE_BUILD_DOC_HTML "Build html documentation" OFF)
option(CAE_BUILD_DOC_PDF "Build pdf documentation" OFF)
option(CAE_CLANG_FORMAT "Enable clang-format" OFF)
option(CAE_CLANG_TIDY "Enable clang-tidy static analysis" OFF)
file(GLOB_RECURSE PROJECT_FILES
${SOURCES}
"${PROJECT_SOURCE_DIR}/apps/*.cpp"
"${PROJECT_SOURCE_DIR}/apps/*.hpp"
"${PROJECT_SOURCE_DIR}/modules/*.cpp"
"${PROJECT_SOURCE_DIR}/modules/*.hpp"
"${PROJECT_SOURCE_DIR}/plugins/*.cpp"
"${PROJECT_SOURCE_DIR}/plugins/*.hpp"
)
include(FetchContent)
include(MakeVersion)
include(MakeDoc)
include(ClangTidy)
include(ClangFormat)
include(CopyAssets)
include(CompileOptions)
if (CAE_CLANG_FORMAT)
format_project(${PROJECT_FILES})
endif ()
if (CAE_CLANG_TIDY)
run_clang_tidy(${PROJECT_FILES})
endif ()
if (CAE_BUILD_DOC_HTML OR CAE_BUILD_DOC_PDF)
find_package(Doxygen REQUIRED)
cae_download_extra_css()
if (CAE_BUILD_DOC_HTML)
cae_add_doxygen_html(cae-doc-html ${PROJECT_FILES})
elseif (CAE_BUILD_DOC_PDF)
cae_add_doxygen_pdf(cae-doc-pdf ${PROJECT_FILES})
endif ()
endif ()
add_subdirectory(modules)
add_subdirectory(plugins)
add_subdirectory(tests)
add_subdirectory(apps)