forked from copperspice/cs_paint
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
75 lines (55 loc) · 1.8 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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
cmake_minimum_required(VERSION 3.16.0 FATAL_ERROR)
cmake_policy(VERSION 3.16..3.23)
if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.20.0")
# enable RTTI on MSVC
cmake_policy(SET CMP0117 OLD)
endif()
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules")
project(CsPaint)
set(BUILD_MAJOR "1")
set(BUILD_MINOR "0")
set(BUILD_MICRO "1")
include(CheckCXXCompilerFlag)
include(CheckCXXSourceCompiles)
include(CheckIncludeFile)
include(CheckIncludeFiles)
include(CheckTypeSize)
include(FeatureSummary)
include(CompileShaders)
# file locations for building
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
# file locations for installing
if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
include(GNUInstallDirs)
set(CMAKE_INSTALL_RPATH "@executable_path")
elseif(CMAKE_SYSTEM_NAME MATCHES "(Linux|OpenBSD|FreeBSD|NetBSD|DragonFly)")
include(GNUInstallDirs)
set(CMAKE_INSTALL_RPATH "\$ORIGIN")
elseif(MSVC)
# use defaults
elseif(CMAKE_SYSTEM_NAME MATCHES "Windows")
set(CMAKE_INSTALL_BINDIR .)
set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION .)
include(cmake/InstallMinGW.cmake)
endif()
find_package(sdl2 NAMES SDL2 sdl2)
set_package_properties(sdl2 PROPERTIES
DESCRIPTION "Used only by the demo"
URL "https://www.libsdl.org"
TYPE RECOMMENDED
)
find_package(Vulkan)
set_package_properties(Vulkan PROPERTIES
DESCRIPTION "Required to build CsPaint"
URL "https://vulkan.lunarg.com"
TYPE REQUIRED
)
include(src/cspaint.cmake)
include(demo/demo.cmake)
# turn off glm tests
option(GLM_TEST_ENABLE_CXX_17 "" ON)
option(GLM_TEST_ENABLE "" OFF)
add_subdirectory(src/3rdparty/glm)
feature_summary(WHAT PACKAGES_FOUND PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES)