-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathCMakeLists.txt
57 lines (44 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
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 3.26)
project(NoitaPatcher
VERSION 1.35.3.0
HOMEPAGE_URL "https://github.com/dextercd/NoitaPatcher"
DESCRIPTION "Noita Modding Extensions"
LANGUAGES CXX C
)
include(CTest)
set(NOITAPATCHER_DOCS OFF BOOL "Try building the Sphinx documentation.")
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_EXTENSIONS OFF)
set(VISIBILITY_INLINES_HIDDEN ON)
set(C_VISIBILITY_PRESET hidden)
set(CXX_VISIBILITY_PRESET hidden)
if (PROJECT_IS_TOP_LEVEL)
set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT "ProgramDatabase")
if (MSVC)
add_link_options(/DEBUG)
endif()
endif()
# Don't add lib suffix when crosscompiling from Linux
set(CMAKE_SHARED_LIBRARY_PREFIX "")
set(CMAKE_SHARED_MODULE_PREFIX "")
# Default to 'DOWNLOAD_EXTRACT_TIMESTAMP TRUE' when available
if(POLICY CMP0135)
cmake_policy(SET CMP0135 NEW)
endif()
# Dependencies
include(dependencies.cmake)
# Projects
add_subdirectory(vs2013)
add_subdirectory(src)
add_subdirectory(nsew)
add_subdirectory(Examples)
if (NOITAPATCHER_DOCS)
add_subdirectory(Documentation)
endif()
# Install NoitaPatcher dir verbatim
install(DIRECTORY NoitaPatcher/
DESTINATION NoitaPatcher
COMPONENT NoitaPatcher
)
# Packaging
add_subdirectory(packaging)