1
1
cmake_minimum_required (VERSION 3.9)
2
2
3
- option (WITH_XMP "Use libxmp if available" ON )
4
- if (WITH_XMP)
5
- list (APPEND VCPKG_MANIFEST_FEATURES "libxmp" )
6
- endif ()
7
-
8
- option (WITH_FLUIDSYNTH "Use FluidSynth if available" ON )
9
- if (WITH_FLUIDSYNTH)
10
- list (APPEND VCPKG_MANIFEST_FEATURES "fluidsynth" )
11
- endif ()
3
+ list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR} /cmake" )
12
4
13
- option (WITH_IMAGE "Use SDL2_image if available" ON )
14
- if (WITH_IMAGE)
15
- list (APPEND VCPKG_MANIFEST_FEATURES "sdl2-image" )
16
- endif ()
17
-
18
- option (WITH_MAD "Use libmad if available" ON )
19
- if (WITH_MAD)
20
- list (APPEND VCPKG_MANIFEST_FEATURES "libmad" )
21
- endif ()
22
-
23
- option (WITH_PORTMIDI "Use PortMidi if available" ON )
24
- if (WITH_PORTMIDI)
25
- list (APPEND VCPKG_MANIFEST_FEATURES "portmidi" )
26
- endif ()
27
-
28
- option (WITH_VORBISFILE "Use vorbisfile if available" ON )
29
- if (WITH_VORBISFILE)
30
- list (APPEND VCPKG_MANIFEST_FEATURES "libvorbis" )
31
- endif ()
32
-
33
- # Automatically install dependencies
34
- set (CMAKE_POLICY_DEFAULT_CMP0077 NEW)
35
- set (X_VCPKG_APPLOCAL_DEPS_INSTALL TRUE )
5
+ # Setup dependencies options before `project()` so vcpkg features can be used
6
+ include (DsdaDepsSetup)
36
7
37
8
project ("dsda-doom" VERSION 0.29.3)
38
9
@@ -47,18 +18,12 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
47
18
"Debug" "Release" "MinSizeRel" "RelWithDebInfo" )
48
19
endif ()
49
20
50
- set (CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR} /cmake" )
51
-
52
- include (GNUInstallDirs)
53
-
54
21
if (POLICY CMP0099)
55
22
cmake_policy (SET CMP0099 NEW)
56
23
else ()
57
24
message (WARNING "Your version of CMake is very old. This may cause linking issues if your dependencies are not in your compiler's default search paths." )
58
25
endif ()
59
26
60
- option (CMAKE_FIND_PACKAGE_PREFER_CONFIG "Search for package config before using Find modules" ON )
61
-
62
27
if (VCPKG_TOOLCHAIN)
63
28
set (ENV{PKG_CONFIG_PATH} "${VCPKG_INSTALLED_DIR} /${VCPKG_TARGET_TRIPLET} /lib/pkgconfig" )
64
29
endif ()
@@ -67,16 +32,11 @@ if(POLICY CMP0069)
67
32
cmake_policy (SET CMP0069 NEW)
68
33
endif ()
69
34
70
- include (CheckIPOSupported)
71
- check_ipo_supported(RESULT HAVE_LTO)
72
-
73
- include (CMakeDependentOption)
74
- cmake_dependent_option(ENABLE_LTO "Use link-time optimisation" OFF "HAVE_LTO" OFF )
75
-
76
35
set (PROJECT_TARNAME "dsda-doom" )
77
36
set (WAD_DATA "dsda-doom.wad" )
78
37
set (PROJECT_STRING "${PROJECT_NAME} ${PROJECT_VERSION} " )
79
38
39
+ include (DsdaOptions)
80
40
include (DsdaTargetFeatures)
81
41
82
42
include (PkgConfigHelper)
@@ -149,26 +109,6 @@ if(WITH_PORTMIDI)
149
109
endif ()
150
110
endif ()
151
111
152
- if (WIN32 )
153
- set (DEFAULT_WAD_DIR "." )
154
- else ()
155
- set (DEFAULT_WAD_DIR "share/games/doom" )
156
- endif ()
157
-
158
- set (DSDAPWADDIR "${DEFAULT_WAD_DIR} " CACHE STRING "Path to install DSDA-Doom internal WAD, relative to CMAKE_INSTALL_PREFIX or absolute." )
159
- set (DOOMWADDIR "${CMAKE_INSTALL_PREFIX} /${DEFAULT_WAD_DIR} " CACHE PATH "Path to look for WAD files." )
160
-
161
- if (IS_ABSOLUTE "${DSDAPWADDIR} " )
162
- set (DSDA_ABSOLUTE_PWAD_PATH "${DSDAPWADDIR} " )
163
- else ()
164
- set (DSDA_ABSOLUTE_PWAD_PATH "${CMAKE_INSTALL_PREFIX} /${DSDAPWADDIR} " )
165
- endif ()
166
-
167
- option (SIMPLECHECKS "Enable checks which only impose significant overhead if a posible error is detected" ON )
168
-
169
- # Debug options, disabled by default
170
- option (RANGECHECK "Enable internal range checking" OFF )
171
-
172
112
include (DsdaConfigHeader)
173
113
174
114
set (DSDA_OUTPUT_PATH ${CMAKE_BINARY_DIR} )
@@ -212,11 +152,10 @@ install(FILES
212
152
DESTINATION "${DSDAPWADDIR} "
213
153
)
214
154
215
- if (WIN32 )
216
- install (FILES COPYING DESTINATION . RENAME COPYING.txt)
217
- else ()
218
- install (FILES COPYING DESTINATION "share/doc/${PROJECT_NAME} " )
219
- endif ()
155
+ install (FILES
156
+ "COPYING"
157
+ DESTINATION "${DSDA_INSTALL_COPYRIGHT_DIR} "
158
+ )
220
159
221
160
if (WIN32 )
222
161
set (CPACK_GENERATOR ZIP)
0 commit comments