-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
30 lines (26 loc) · 1.22 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
cmake_minimum_required (VERSION 3.20)
set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
cmake_policy(SET CMP0091 NEW)
function(SetPCH)
target_precompile_headers (${PROJECT_NAME} PRIVATE "<chrono>" "<cstdlib>" "<cmath>" "<functional>" "<stack>" "<queue>" "<map>" "<iostream>" "<array>" "<sstream>" "<algorithm>" "<vector>" "<string>" "<tuple>" "<stdexcept>" "<memory>" "<fstream>" "<filesystem>")
endfunction()
# Libraries
# I don't really know why this option in Z3 is forced to be DLL in Debug and static in Release but it has to be the same everywhere so we set it here
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded")
set(Z3_BUILD_LIBZ3_MSVC_STATIC On)
add_compile_definitions("$<$<CONFIG:Debug>:-D_ITERATOR_DEBUG_LEVEL=2> $<$<CONFIG:Release>:-D_ITERATOR_DEBUG_LEVEL=0> $<$<CONFIG:RelWithDebInfo>:-D_ITERATOR_DEBUG_LEVEL=0>")
add_subdirectory ("Lib/glad")
set (Z3_BUILD_LIBZ3_SHARED Off)
set (Z3_ENABLE_EXAMPLE_TARGETS Off)
set (Z3_BUILD_DOCUMENTATION Off)
add_subdirectory ("Lib/Z3")
set (GLFW_BUILD_EXAMPLES Off)
set (GLFW_BUILD_TESTS Off)
set (GLFW_BUILD_DOCS Off)
set (GLFW_INSTALL Off)
set (BUILD_SHARED_LIBS Off)
add_subdirectory ("Lib/glfw")
add_subdirectory ("Lib/stb")
# Include sub-projects.
project ("NeoGebra")
add_subdirectory ("NeoGebra")