-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
38 lines (30 loc) · 1 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
cmake_minimum_required(VERSION 3.16.0)
project(base VERSION 0.0.0 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
include(cmake/git_update_submodule.cmake)
find_package(Git QUIET)
set(CAN_GIT ${GIT_FOUND} AND EXISTS "${PROJECT_SOURCE_DIR}/.git" CACHE STRING "Does git exist and are we in a git repo?")
# sfml
set(BUILD_SHARED_LIBS OFF) # use static linking
# message(STATUS "SFML ${SFML_BINARY_DIR}")
git_update_submodule("sfml" "CMakeLists.txt")
add_subdirectory("submodules/sfml")
# imgui
git_update_submodule("imgui" "imgui.h")
# # imgui-sfml
set(IMGUI_DIR "${PROJECT_SOURCE_DIR}/submodules/imgui")
set(SFML_DIR "${SFML_BINARY_DIR}")
git_update_submodule("imgui-sfml-sacxy" "CMakeLists.txt")
add_subdirectory("submodules/imgui-sfml-sacxy")
# source libraries
add_subdirectory("src")
# testing
include(CTest)
if(BUILD_TESTING)
# doctest
git_update_submodule("doctest" "CMakeLists.txt")
add_subdirectory("submodules/doctest")
add_subdirectory("tests")
endif()
# main executable
add_subdirectory("app")