Skip to content

Latest commit

 

History

History
427 lines (390 loc) · 16.2 KB

CMakeLists.txt

File metadata and controls

427 lines (390 loc) · 16.2 KB
 
Jun 21, 2021
Jun 21, 2021
1
2
3
# NOTE: If you installed SDL2 at an unusual place and find_package()
# fails, define SDL2_DIR environment variable to point to your SDL2
# installation.
Jul 7, 2023
Jul 7, 2023
5
set(SDLSOUND_VERSION 2.0.3)
6
7
# Increment this if/when we break backwards compatibility.
Jan 14, 2021
Jan 14, 2021
8
set(SDLSOUND_SOVERSION 2)
Sep 19, 2022
Sep 19, 2022
10
11
12
13
14
15
16
cmake_minimum_required(VERSION 3.0)
project(SDL_sound
VERSION ${SDLSOUND_VERSION}
LANGUAGES C
)
Oct 14, 2022
Oct 14, 2022
17
18
19
include(CMakePackageConfigHelpers)
include(GNUInstallDirs)
20
21
include_directories(src)
Dec 2, 2020
Dec 2, 2020
22
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang")
Apr 7, 2022
Apr 7, 2022
23
add_compile_options(-Wall)
24
25
26
endif()
if(CMAKE_C_COMPILER_ID STREQUAL "SunPro")
Apr 7, 2022
Apr 7, 2022
27
28
add_compile_options(-erroff=E_EMPTY_TRANSLATION_UNIT)
add_compile_options(-xldscope=hidden)
29
30
31
endif()
find_package(SDL2 REQUIRED)
Dec 2, 2020
Dec 2, 2020
32
33
34
35
36
37
38
39
40
41
if(WIN32)
# -lmingw32: gcc adds it automatically.
# -mwindows: doesn't make sense.
# -lSDL2main: the dll doesn't need it, the test apps are console-only
# and specifically define SDL_MAIN_HANDLED. it will be ignored.
string(REGEX REPLACE "-mwindows" "" SDL2_LIBRARIES "${SDL2_LIBRARIES}")
string(REGEX REPLACE "-lmingw32" "" SDL2_LIBRARIES "${SDL2_LIBRARIES}")
# string(REGEX REPLACE "-lSDL2main" "" SDL2_LIBRARIES "${SDL2_LIBRARIES}")
string(STRIP "${SDL2_LIBRARIES}" SDL2_LIBRARIES)
endif()
Mar 26, 2022
Mar 26, 2022
43
44
45
46
47
48
49
if(UNIX AND NOT (WIN32 OR APPLE OR HAIKU OR EMSCRIPTEN))
find_library(LIBM_LIBRARY m)
if(LIBM_LIBRARY)
set(LIBM_LIBRARY m)
endif()
endif()
50
51
52
53
# Decoders ...
# These are (mostly) on by default now, so these options are only useful for
# disabling them.
Mar 25, 2022
Mar 25, 2022
54
55
macro(sdlsound_decoder_option _VAR _NAME _EXTS _DEFLT)
option(SDLSOUND_DECODER_${_VAR} "Enable ${_NAME} support (${_EXTS})" ${_DEFLT})
56
57
58
59
60
if(NOT SDLSOUND_DECODER_${_VAR})
add_definitions("-DSOUND_SUPPORTS_${_VAR}=0")
endif()
endmacro()
Mar 25, 2022
Mar 25, 2022
61
62
63
64
65
66
67
68
69
70
71
72
73
sdlsound_decoder_option(WAV "Wave" ".WAV" TRUE)
sdlsound_decoder_option(AIFF "Audio Interchange" ".AIFF" TRUE)
sdlsound_decoder_option(AU "Sun/NeXT audio" ".AU" TRUE)
sdlsound_decoder_option(VOC "Creative Labs voice" ".VOC" TRUE)
sdlsound_decoder_option(FLAC "Free Lossless Audio Codec" ".FLAC" TRUE)
sdlsound_decoder_option(VORBIS "Ogg Vorbis" ".OGG" TRUE)
sdlsound_decoder_option(RAW "raw PCM audio" ".RAW" TRUE)
sdlsound_decoder_option(SHN "Shorten" ".SHN" TRUE)
sdlsound_decoder_option(MODPLUG "ModPlug" "various tracker formats" TRUE)
sdlsound_decoder_option(MP3 "MPEG-1 Layers I-III" ".MP3, .MP2, .MP1" TRUE)
# timidity is not public domain code, so default to not building it.
sdlsound_decoder_option(MIDI "Midi" ".MID" FALSE)
Mar 28, 2022
Mar 28, 2022
75
if(SDLSOUND_DECODER_VORBIS AND LIBM_LIBRARY)
Mar 26, 2022
Mar 26, 2022
76
# stb_vorbis uses exp(), SDL_exp() is available as of SDL2-2.0.9
Mar 28, 2022
Mar 28, 2022
77
78
# Instead of testing SDL_exp() presence, we unconditionally link
# with -lm which is just harmless.
Mar 26, 2022
Mar 26, 2022
79
set(OPTIONAL_LIBRARY_LIBS ${OPTIONAL_LIBRARY_LIBS} ${LIBM_LIBRARY})
Apr 7, 2022
Apr 7, 2022
80
set(PC_LIBS ${PC_LIBS} -l${LIBM_LIBRARY})
Mar 26, 2022
Mar 26, 2022
81
82
endif()
83
if(APPLE)
Mar 26, 2022
Mar 26, 2022
84
sdlsound_decoder_option(COREAUDIO "CoreAudio" "various audio formats" TRUE)
85
86
if(SDLSOUND_DECODER_COREAUDIO)
set(OPTIONAL_LIBRARY_LIBS ${OPTIONAL_LIBRARY_LIBS} "-framework AudioToolbox")
Apr 7, 2022
Apr 7, 2022
87
set(PC_LIBS ${PC_LIBS} "-framework AudioToolbox")
88
89
90
endif()
endif()
Mar 17, 2021
Mar 17, 2021
91
92
93
94
95
96
97
98
99
100
101
102
if(SDLSOUND_DECODER_MIDI)
set(TIMIDITY_SRCS
src/timidity/common.c
src/timidity/instrum.c
src/timidity/mix.c
src/timidity/output.c
src/timidity/playmidi.c
src/timidity/readmidi.c
src/timidity/resample.c
src/timidity/tables.c
src/timidity/timidity.c
)
Apr 8, 2022
Apr 8, 2022
103
104
105
106
107
108
109
110
111
112
113
114
115
set(TIMIDITY_HDRS
src/timidity/common.h
src/timidity/instrum.h
src/timidity/mix.h
src/timidity/options.h
src/timidity/output.h
src/timidity/playmidi.h
src/timidity/readmidi.h
src/timidity/resample.h
src/timidity/tables.h
src/timidity/timidity.h
)
source_group("src/timidity" FILES ${TIMIDITY_SRCS} ${TIMIDITY_HDRS})
Mar 17, 2021
Mar 17, 2021
116
endif()
117
118
if(SDLSOUND_DECODER_MODPLUG)
set(LIBMODPLUG_SRCS
Jul 19, 2018
Jul 19, 2018
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
src/libmodplug/fastmix.c
src/libmodplug/load_669.c
src/libmodplug/load_amf.c
src/libmodplug/load_ams.c
src/libmodplug/load_dbm.c
src/libmodplug/load_dmf.c
src/libmodplug/load_dsm.c
src/libmodplug/load_far.c
src/libmodplug/load_it.c
src/libmodplug/load_mdl.c
src/libmodplug/load_med.c
src/libmodplug/load_mod.c
src/libmodplug/load_mt2.c
src/libmodplug/load_mtm.c
src/libmodplug/load_okt.c
Jun 20, 2021
Jun 20, 2021
134
src/libmodplug/load_gdm.c
Jul 19, 2018
Jul 19, 2018
135
136
137
138
139
140
141
src/libmodplug/load_psm.c
src/libmodplug/load_ptm.c
src/libmodplug/load_s3m.c
src/libmodplug/load_stm.c
src/libmodplug/load_ult.c
src/libmodplug/load_umx.c
src/libmodplug/load_xm.c
Dec 29, 2021
Dec 29, 2021
142
src/libmodplug/mmcmp.c
Jul 19, 2018
Jul 19, 2018
143
144
145
146
147
148
src/libmodplug/modplug.c
src/libmodplug/snd_dsp.c
src/libmodplug/snd_flt.c
src/libmodplug/snd_fx.c
src/libmodplug/sndfile.c
src/libmodplug/sndmix.c
Apr 8, 2022
Apr 8, 2022
150
151
152
153
154
155
set(LIBMODPLUG_HDRS
src/libmodplug/libmodplug.h
src/libmodplug/modplug.h
src/libmodplug/tables.h
)
source_group("src/libmodplug" FILES ${LIBMODPLUG_SRCS} ${LIBMODPLUG_HDRS})
Apr 7, 2022
Apr 7, 2022
157
158
159
160
161
if(WIN32)
set(SDLSOUND_SHARED_SRCS
src/version.rc
)
endif()
162
163
164
165
166
167
168
169
170
171
172
# Almost everything is "compiled" here, but things that don't apply to the
# build are #ifdef'd out. This is to make it easy to embed SDL_sound into
# another project or bring up a new build system: just compile all the source
# code and #define the things you want.
set(SDLSOUND_SRCS
src/SDL_sound.c
src/SDL_sound_aiff.c
src/SDL_sound_au.c
src/SDL_sound_coreaudio.c
src/SDL_sound_flac.c
Mar 17, 2021
Mar 17, 2021
173
src/SDL_sound_midi.c
174
src/SDL_sound_modplug.c
Jul 17, 2018
Jul 17, 2018
175
src/SDL_sound_mp3.c
176
177
178
src/SDL_sound_raw.c
src/SDL_sound_shn.c
src/SDL_sound_voc.c
Jul 16, 2018
Jul 16, 2018
179
src/SDL_sound_vorbis.c
180
src/SDL_sound_wav.c
Apr 8, 2022
Apr 8, 2022
181
182
183
184
185
186
187
188
189
190
191
192
193
)
set(SDLSOUND_HDRS
src/dr_flac.h
src/dr_mp3.h
src/SDL_sound.h
src/SDL_sound_internal.h
src/stb_vorbis.h
)
source_group("src" FILES ${SDLSOUND_SRCS} ${SDLSOUND_HDRS} ${SDLSOUND_SHARED_SRCS})
set(SDLSOUND_ALL_SRCS
${SDLSOUND_SRCS}
${SDLSOUND_HDRS}
Mar 17, 2021
Mar 17, 2021
194
${TIMIDITY_SRCS}
Apr 8, 2022
Apr 8, 2022
195
${TIMIDITY_HDRS}
196
${LIBMODPLUG_SRCS}
Apr 8, 2022
Apr 8, 2022
197
${LIBMODPLUG_HDRS}
198
199
200
)
option(SDLSOUND_BUILD_STATIC "Build static library" TRUE)
Dec 2, 2021
Dec 2, 2021
201
202
203
if(OS2) # no static library on os/2
set(SDLSOUND_BUILD_STATIC FALSE)
endif()
204
if(SDLSOUND_BUILD_STATIC)
Apr 8, 2022
Apr 8, 2022
205
add_library(SDL2_sound-static STATIC ${SDLSOUND_ALL_SRCS})
Feb 15, 2023
Feb 15, 2023
206
add_library(SDL2_sound::SDL2_sound-static ALIAS SDL2_sound-static)
207
208
209
210
211
212
213
# Don't rename this on Windows, since DLLs will also produce an import
# library named "SDL2_sound.lib" which would conflict; Unix tend to like
# the same library name with a different extension for static libs, but
# Windows can just have a separate name.
if(NOT MSVC)
set_target_properties(SDL2_sound-static PROPERTIES OUTPUT_NAME "SDL2_sound")
endif()
Feb 15, 2023
Feb 15, 2023
214
215
216
217
target_include_directories(SDL2_sound-static PUBLIC
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/SDL2>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>)
Jul 5, 2023
Jul 5, 2023
218
219
target_include_directories(SDL2_sound-static PUBLIC "$<BUILD_INTERFACE:${SDL2_INCLUDE_DIRS}>")
target_link_libraries(SDL2_sound-static PRIVATE "$<BUILD_INTERFACE:${SDL2_LIBRARIES}>" ${OPTIONAL_LIBRARY_LIBS} ${OTHER_LDFLAGS})
220
221
222
223
224
set(SDLSOUND_LIB_TARGET SDL2_sound-static)
endif()
option(SDLSOUND_BUILD_SHARED "Build shared library" TRUE)
if(SDLSOUND_BUILD_SHARED)
Apr 8, 2022
Apr 8, 2022
225
add_library(SDL2_sound SHARED ${SDLSOUND_ALL_SRCS} ${SDLSOUND_SHARED_SRCS})
Feb 15, 2023
Feb 15, 2023
226
add_library(SDL2_sound::SDL2_sound ALIAS SDL2_sound)
227
228
229
set_target_properties(SDL2_sound PROPERTIES MACOSX_RPATH 1)
set_target_properties(SDL2_sound PROPERTIES VERSION ${SDLSOUND_VERSION})
set_target_properties(SDL2_sound PROPERTIES SOVERSION ${SDLSOUND_SOVERSION})
Oct 14, 2022
Oct 14, 2022
230
231
232
# Use `Compatible Interface Properties` to ensure a shared SDL_sound is linked to a shared SDL library
set_property(TARGET SDL2_sound PROPERTY INTERFACE_SDL2_SHARED ON)
set_property(TARGET SDL2_sound APPEND PROPERTY COMPATIBLE_INTERFACE_BOOL SDL2_SHARED)
Dec 2, 2021
Dec 2, 2021
233
if(WIN32 OR OS2)
Dec 2, 2020
Dec 2, 2020
234
SET_TARGET_PROPERTIES(SDL2_sound PROPERTIES DEFINE_SYMBOL SDL_SOUND_DLL_EXPORTS)
Dec 2, 2020
Dec 2, 2020
235
236
# avoid DLL having "lib" prefix
SET(CMAKE_SHARED_LIBRARY_PREFIX "")
Dec 2, 2020
Dec 2, 2020
237
endif()
Dec 2, 2021
Dec 2, 2021
238
239
240
if(OS2) # OS/2 does not support a DLL name longer than 8 characters.
SET_TARGET_PROPERTIES(SDL2_sound PROPERTIES OUTPUT_NAME "SDL2snd")
endif()
Feb 15, 2023
Feb 15, 2023
241
242
243
244
target_include_directories(SDL2_sound PUBLIC
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/SDL2>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
Oct 14, 2022
Oct 14, 2022
245
)
Jul 5, 2023
Jul 5, 2023
246
247
target_include_directories(SDL2_sound PUBLIC "$<BUILD_INTERFACE:${SDL2_INCLUDE_DIRS}>")
target_link_libraries(SDL2_sound PRIVATE "$<BUILD_INTERFACE:${SDL2_LIBRARIES}>" ${OPTIONAL_LIBRARY_LIBS} ${OTHER_LDFLAGS})
248
249
250
set(SDLSOUND_LIB_TARGET SDL2_sound)
endif()
Oct 14, 2022
Oct 14, 2022
251
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/SDL2_sound.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/SDL2_sound.pc" @ONLY)
Apr 7, 2022
Apr 7, 2022
252
253
254
255
256
257
258
259
if(NOT SDLSOUND_BUILD_SHARED AND NOT SDLSOUND_BUILD_STATIC)
message(FATAL "Both shared and static libraries are disabled!")
endif()
option(SDLSOUND_BUILD_TEST "Build stdio test program." TRUE)
mark_as_advanced(SDLSOUND_BUILD_TEST)
if(SDLSOUND_BUILD_TEST)
Jan 14, 2021
Jan 14, 2021
260
add_executable(playsound examples/playsound.c)
Sep 19, 2022
Sep 19, 2022
261
262
263
264
265
266
267
if(TARGET SDL2::SDL2)
target_link_libraries(playsound PRIVATE SDL2::SDL2)
else()
target_include_directories(playsound PRIVATE ${SDL2_INCLUDE_DIRS})
target_link_libraries(playsound PRIVATE ${SDL2_LIBRARIES})
endif()
target_link_libraries(playsound PRIVATE ${SDLSOUND_LIB_TARGET} ${OTHER_LDFLAGS})
Mar 20, 2021
Mar 20, 2021
268
269
270
271
272
# assuming assert.h, signal.h and setbuf() being available universally
target_compile_definitions(playsound PRIVATE "HAVE_SETBUF")
target_compile_definitions(playsound PRIVATE "HAVE_ASSERT_H")
target_compile_definitions(playsound PRIVATE "HAVE_SIGNAL_H")
Oct 14, 2022
Oct 14, 2022
273
list(APPEND SDLSOUND_INSTALL_TARGETS playsound)
Jan 14, 2021
Jan 14, 2021
274
add_executable(playsound_simple examples/playsound_simple.c)
Sep 19, 2022
Sep 19, 2022
275
276
277
278
279
280
281
if(TARGET SDL2::SDL2)
target_link_libraries(playsound_simple PRIVATE SDL2::SDL2)
else()
target_include_directories(playsound_simple PRIVATE ${SDL2_INCLUDE_DIRS})
target_link_libraries(playsound_simple PRIVATE ${SDL2_LIBRARIES})
endif()
target_link_libraries(playsound_simple PRIVATE ${SDLSOUND_LIB_TARGET} ${OTHER_LDFLAGS})
Oct 14, 2022
Oct 14, 2022
282
#list(APPEND SDLSOUND_INSTALL_TARGETS playsound_simple)
Dec 2, 2020
Dec 2, 2020
283
284
285
286
287
288
289
290
291
292
IF (WIN32 AND MSVC)
SET_TARGET_PROPERTIES(playsound PROPERTIES LINK_FLAGS "/SUBSYSTEM:CONSOLE")
SET_TARGET_PROPERTIES(playsound_simple PROPERTIES LINK_FLAGS "/SUBSYSTEM:CONSOLE")
SET_TARGET_PROPERTIES(playsound PROPERTIES COMPILE_DEFINITIONS _CONSOLE)
SET_TARGET_PROPERTIES(playsound_simple PROPERTIES COMPILE_DEFINITIONS _CONSOLE)
ENDIF ()
IF (CMAKE_COMPILER_IS_MINGW)
SET_TARGET_PROPERTIES(playsound PROPERTIES LINK_FLAGS "-mconsole")
SET_TARGET_PROPERTIES(playsound_simple PROPERTIES LINK_FLAGS "-mconsole")
ENDIF ()
Jul 15, 2018
Jul 15, 2018
293
294
295
296
if(NOT SDLSOUND_BUILD_SHARED)
target_link_libraries(playsound ${SDL2_LIBRARIES} ${OPTIONAL_LIBRARY_LIBS} ${OTHER_LDFLAGS})
target_link_libraries(playsound_simple ${SDL2_LIBRARIES} ${OPTIONAL_LIBRARY_LIBS} ${OTHER_LDFLAGS})
endif()
297
298
endif()
Jul 7, 2023
Jul 7, 2023
299
set(PKGCONFIG_INSTALLDIR "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
Oct 14, 2022
Oct 14, 2022
300
301
if(WIN32 AND NOT MINGW)
Oct 20, 2022
Oct 20, 2022
302
set(SDLSOUND_INSTALL_CMAKEDIR_DEFAULT "cmake")
Oct 14, 2022
Oct 14, 2022
303
else()
Oct 20, 2022
Oct 20, 2022
304
set(SDLSOUND_INSTALL_CMAKEDIR_DEFAULT "${CMAKE_INSTALL_LIBDIR}/cmake/SDL2_sound")
Oct 14, 2022
Oct 14, 2022
305
endif()
Oct 20, 2022
Oct 20, 2022
306
set(SDLSOUND_INSTALL_CMAKEDIR "${SDLSOUND_INSTALL_CMAKEDIR_DEFAULT}" CACHE STRING "Location where to install SDL2_sound.cmake")
Oct 14, 2022
Oct 14, 2022
307
308
309
310
311
312
313
314
315
316
317
configure_package_config_file(cmake/SDL2_soundConfig.cmake.in SDL2_soundConfig.cmake
INSTALL_DESTINATION "${SDLSOUND_INSTALL_CMAKEDIR}"
)
write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/SDL2_soundConfigVersion.cmake"
VERSION "${SDLSOUND_VERSION}"
COMPATIBILITY AnyNewerVersion
)
if(SDLSOUND_BUILD_SHARED)
install(TARGETS SDL2_sound
EXPORT SDLSoundSharedExports
Mar 26, 2022
Mar 26, 2022
318
319
320
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
Oct 14, 2022
Oct 14, 2022
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
)
install(EXPORT SDLSoundSharedExports
FILE "${SDLSOUND_LIB_TARGET}-shared-targets.cmake"
NAMESPACE SDL2_sound::
DESTINATION "${SDLSOUND_INSTALL_CMAKEDIR}"
)
endif()
if(SDLSOUND_BUILD_STATIC)
install(TARGETS SDL2_sound-static
EXPORT SDLSoundStaticExports
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
install(EXPORT SDLSoundStaticExports
FILE "${SDLSOUND_LIB_TARGET}-static-targets.cmake"
NAMESPACE SDL2_sound::
DESTINATION "${SDLSOUND_INSTALL_CMAKEDIR}"
)
Apr 7, 2022
Apr 7, 2022
340
endif()
Oct 14, 2022
Oct 14, 2022
341
342
343
344
345
346
347
348
349
350
351
352
353
354
install(TARGETS ${SDLSOUND_INSTALL_TARGETS}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/SDL2_soundConfig.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/SDL2_soundConfigVersion.cmake"
DESTINATION "${SDLSOUND_INSTALL_CMAKEDIR}"
)
install(FILES src/SDL_sound.h
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/SDL2)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/SDL2_sound.pc
DESTINATION "${PKGCONFIG_INSTALLDIR}")
Jan 19, 2024
Jan 19, 2024
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
option(SDLSOUND_BUILD_DOCS "Build documentation" TRUE)
mark_as_advanced(SDLSOUND_BUILD_DOCS)
if(SDLSOUND_BUILD_DOCS)
find_package(Doxygen)
if(DOXYGEN_FOUND)
set(SDLSOUND_OUTPUT_DOXYFILE "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile")
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/docs/Doxyfile"
"${SDLSOUND_OUTPUT_DOXYFILE}"
COPYONLY
)
file(APPEND "${SDLSOUND_OUTPUT_DOXYFILE}" "\n\n# Below auto-generated by cmake...\n\n")
file(APPEND "${SDLSOUND_OUTPUT_DOXYFILE}" "PROJECT_NUMBER = \"${SDLSOUND_VERSION}\"\n")
file(APPEND "${SDLSOUND_OUTPUT_DOXYFILE}" "OUTPUT_DIRECTORY = \"${CMAKE_CURRENT_BINARY_DIR}/docs\"\n")
file(APPEND "${SDLSOUND_OUTPUT_DOXYFILE}" "\n# End auto-generated section.\n\n")
add_custom_target(
SDL2_sound-docs
${DOXYGEN_EXECUTABLE} "${SDLSOUND_OUTPUT_DOXYFILE}"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
COMMENT "Building documentation..."
)
else()
message(STATUS "Doxygen not found. You won't be able to build documentation.")
endif()
382
383
endif()
Apr 7, 2022
Apr 7, 2022
384
385
386
387
388
389
390
391
392
393
394
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
IMMEDIATE @ONLY)
add_custom_target(
SDL2_sound-uninstall
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
COMMENT "Uninstall the project..."
)
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
macro(message_bool_option _NAME _VALUE)
if(${_VALUE})
message(STATUS " ${_NAME}: enabled")
else()
message(STATUS " ${_NAME}: disabled")
endif()
endmacro()
message(STATUS "SDL_sound will build with the following options:")
message_bool_option("WAV support" SDLSOUND_DECODER_WAV)
message_bool_option("AIFF support" SDLSOUND_DECODER_AIFF)
message_bool_option("AU support" SDLSOUND_DECODER_AU)
message_bool_option("VOC support" SDLSOUND_DECODER_VOC)
message_bool_option("FLAC support" SDLSOUND_DECODER_FLAC)
Jul 16, 2018
Jul 16, 2018
410
message_bool_option("VORBIS support" SDLSOUND_DECODER_VORBIS)
411
412
413
message_bool_option("RAW support" SDLSOUND_DECODER_RAW)
message_bool_option("SHN support" SDLSOUND_DECODER_SHN)
message_bool_option("MODPLUG support" SDLSOUND_DECODER_MODPLUG)
Jul 17, 2018
Jul 17, 2018
414
message_bool_option("MP3 support" SDLSOUND_DECODER_MP3)
Mar 25, 2022
Mar 25, 2022
415
message_bool_option("TiMidity support" SDLSOUND_DECODER_MIDI)
416
417
418
419
message_bool_option("COREAUDIO support" SDLSOUND_DECODER_COREAUDIO)
message_bool_option("Build static library" SDLSOUND_BUILD_STATIC)
message_bool_option("Build shared library" SDLSOUND_BUILD_SHARED)
message_bool_option("Build stdio test program" SDLSOUND_BUILD_TEST)
Jan 19, 2024
Jan 19, 2024
420
message_bool_option("Build documentation" SDLSOUND_BUILD_DOCS)
Oct 26, 2023
Oct 26, 2023
422
423
424
425
426
# Make sure SDL2_sound::SDL2_sound always exists
if(TARGET SDL2_sound::SDL2_sound-static AND NOT TARGET SDL2_sound::SDL2_sound)
add_library(SDL2_sound::SDL2_sound ALIAS SDL2_sound-static)
endif()
Mar 17, 2021
Mar 17, 2021
427
# end of CMakeLists.txt