1 # CMakeLists.txt for ALURE
2 CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
4 IF(COMMAND CMAKE_POLICY)
5 CMAKE_POLICY(SET CMP0003 NEW)
6 ENDIF(COMMAND CMAKE_POLICY)
8 SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
10 INCLUDE(CheckCCompilerFlag)
11 INCLUDE(CheckCSourceCompiles)
12 INCLUDE(CheckFunctionExists)
13 INCLUDE(CheckIncludeFile)
14 INCLUDE(CheckIncludeFiles)
15 INCLUDE(CheckLibraryExists)
16 INCLUDE(CheckSharedLibraryExists)
17 INCLUDE(FindPkgConfig)
19 INCLUDE(CheckFileOffsetBits)
29 SET(LIB_MAJOR_VERSION "1")
30 SET(LIB_MINOR_VERSION "0")
31 SET(LIB_VERSION "${LIB_MAJOR_VERSION}.${LIB_MINOR_VERSION}")
34 INCLUDE_DIRECTORIES(include "${ALURE_BINARY_DIR}")
37 OPTION(BUILD_SHARED "Build the shared version of the library" ON)
38 OPTION(BUILD_STATIC "Build the static version of the library" ON)
40 IF(NOT BUILD_SHARED AND NOT BUILD_STATIC)
41 MESSAGE(FATAL_ERROR "No libtype being built!")
42 ENDIF(NOT BUILD_SHARED AND NOT BUILD_STATIC)
44 IF(NOT CMAKE_BUILD_TYPE)
45 SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
46 "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel."
48 ENDIF(NOT CMAKE_BUILD_TYPE)
49 IF(NOT DEFINED CMAKE_DEBUG_POSTFIX)
50 SET(CMAKE_DEBUG_POSTFIX "" CACHE STRING
51 "Library postfix for debug builds. Normally left blank."
53 ENDIF(NOT DEFINED CMAKE_DEBUG_POSTFIX)
56 CHECK_SHARED_LIBRARY_EXISTS(stdc++ memset "" HAS_STDCXX)
58 SET(EXTRA_LIBS stdc++ ${EXTRA_LIBS})
61 CHECK_SHARED_LIBRARY_EXISTS(m pow "" HAS_LIBM)
63 SET(EXTRA_LIBS m ${EXTRA_LIBS})
66 CHECK_FILE_OFFSET_BITS()
68 ADD_DEFINITIONS(-D_FILE_OFFSET_BITS=${_FILE_OFFSET_BITS})
69 SET(CMAKE_REQUIRED_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} -D_FILE_OFFSET_BITS=${_FILE_OFFSET_BITS})
70 ENDIF(_FILE_OFFSET_BITS)
72 CHECK_FUNCTION_EXISTS(fseeko HAVE_FSEEKO)
74 CHECK_FUNCTION_EXISTS(_fseeki64 HAVE__FSEEKI64)
75 ENDIF(NOT HAVE_FSEEKO)
81 CHECK_C_SOURCE_COMPILES("int foo() __attribute__((constructor));
82 int main() {return 0;}" HAVE_GCC_CONSTRUCTOR)
84 CHECK_C_COMPILER_FLAG(-fvisibility=hidden HAVE_GCC_VISIBILITY)
85 IF(HAVE_GCC_VISIBILITY)
86 ADD_DEFINITIONS(-fvisibility=hidden)
87 ENDIF(HAVE_GCC_VISIBILITY)
90 CHECK_C_COMPILER_FLAG(-Wextra HAVE_WEXTRA)
92 ADD_DEFINITIONS(-Wextra)
94 ADD_DEFINITIONS(-Wall)
96 CHECK_C_COMPILER_FLAG(-funswitch-loops HAVE_FUNSWITCH_LOOPS)
97 IF(HAVE_FUNSWITCH_LOOPS)
98 ADD_DEFINITIONS(-funswitch-loops)
99 ENDIF(HAVE_FUNSWITCH_LOOPS)
103 CHECK_INCLUDE_FILE(windows.h HAVE_WINDOWS_H -D_WIN32_WINNT=0x0500)
104 IF(NOT HAVE_WINDOWS_H)
105 CHECK_C_COMPILER_FLAG(-pthread HAVE_PTHREAD)
107 ADD_DEFINITIONS(-pthread)
108 SET(EXTRA_LIBS ${EXTRA_LIBS} -pthread)
111 # We need pthreads outside of Windows
112 CHECK_INCLUDE_FILE(pthread.h HAVE_PTHREAD_H)
113 IF(NOT HAVE_PTHREAD_H)
114 MESSAGE(FATAL_ERROR "PThreads is required for non-Windows builds!")
116 # Some systems need pthread_np.h to get recursive mutexes
117 CHECK_INCLUDE_FILES("pthread.h;pthread_np.h" HAVE_PTHREAD_NP_H)
119 # _GNU_SOURCE is needed on some systems for extra attributes, and
120 # _REENTRANT is needed for libc thread-safety
121 ADD_DEFINITIONS(-D_GNU_SOURCE=1)
122 CHECK_FUNCTION_EXISTS(pthread_create HAS_PTHREAD_CREATE)
123 IF(NOT HAS_PTHREAD_CREATE)
124 CHECK_SHARED_LIBRARY_EXISTS(pthread pthread_create "" HAVE_LIBPTHREAD)
125 IF(NOT HAVE_LIBPTHREAD)
126 MESSAGE(FATAL_ERROR "pthread_create not found on non-Windows target!")
127 ENDIF(NOT HAVE_LIBPTHREAD)
128 SET(EXTRA_LIBS pthread ${EXTRA_LIBS})
129 ENDIF(NOT HAS_PTHREAD_CREATE)
131 CHECK_FUNCTION_EXISTS(nanosleep HAVE_NANOSLEEP)
132 IF(NOT HAVE_NANOSLEEP)
133 MESSAGE(FATAL_ERROR "No sleep function found!")
134 ENDIF(NOT HAVE_NANOSLEEP)
135 ENDIF(NOT HAVE_WINDOWS_H)
137 CHECK_INCLUDE_FILE(sys/types.h HAVE_SYS_TYPES_H)
138 CHECK_INCLUDE_FILE(sys/wait.h HAVE_SYS_WAIT_H)
139 CHECK_INCLUDE_FILE(signal.h HAVE_SIGNAL_H)
140 CHECK_INCLUDE_FILE(dlfcn.h HAVE_DLFCN_H)
143 CHECK_SHARED_LIBRARY_EXISTS(dl dlopen "" HAVE_LIBDL)
145 SET(EXTRA_LIBS dl ${EXTRA_LIBS})
149 OPTION(DYNLOAD "Dynamically load support libs at run-time" ON)
150 OPTION(SNDFILE "SoundFile support (for various formats)" ON)
151 OPTION(VORBIS "VorbisFile support (for Ogg Vorbis)" ON)
152 OPTION(FLAC "FLAC support (for FLAC and Ogg FLAC)" ON)
153 OPTION(MPG123 "MPG123 support (for MP1/MP2/MP3)" ON)
154 OPTION(DUMB "DUMB support (for IT/XM/S3M/MOD)" ON)
155 OPTION(MODPLUG "ModPlug support (for IT/XM/S3M/MOD)" OFF)
156 OPTION(FLUIDSYNTH "FluidSynth support (for MID)" ON)
159 ADD_DEFINITIONS(-D_WIN32)
161 IF(CMAKE_SIZEOF_VOID_P MATCHES "8")
164 ELSE(CMAKE_SIZEOF_VOID_P MATCHES "8")
167 ENDIF(CMAKE_SIZEOF_VOID_P MATCHES "8")
169 SET(OPENAL_SEARCH_PATHS
172 "C:/Program Files/OpenAL 1.1 SDK"
173 "C:/Program Files (x86)/OpenAL 1.1 SDK"
174 "E:/Programs/Dev/OpenAL"
175 "E:/Program Files (x86)/OpenAL 1.1 SDK" )
177 FIND_PATH(OPENAL_INCLUDE_DIR al.h
178 PATHS ${OPENAL_SEARCH_PATHS}
179 PATH_SUFFIXES include include/AL )
180 IF(OPENAL_INCLUDE_DIR)
181 INCLUDE_DIRECTORIES(${OPENAL_INCLUDE_DIR})
182 FIND_LIBRARY(OPENAL_LIBRARIES OpenAL32
183 PATHS ${OPENAL_SEARCH_PATHS}
184 PATH_SUFFIXES lib libs/${WIN_TYPE} )
185 ENDIF(OPENAL_INCLUDE_DIR)
187 IF(NOT OPENAL_LIBRARIES)
188 MESSAGE(FATAL_ERROR "OpenAL not found!\nPlease try setting the ALSDK_DIR environment variable and try again.")
189 ENDIF(NOT OPENAL_LIBRARIES)
191 MESSAGE(STATUS "OpenAL include: ${OPENAL_INCLUDE_DIR}")
192 MESSAGE(STATUS "OpenAL lib: ${OPENAL_LIBRARIES}")
194 IF(NOT HAVE_DLFCN_H OR NOT HAVE_LIBDL)
196 ENDIF(NOT HAVE_DLFCN_H OR NOT HAVE_LIBDL)
198 PKG_CHECK_MODULES(OPENAL openal)
201 CHECK_INCLUDE_FILE(OpenAL/al.h HAVE_OPENAL_AL_H)
203 SET(OPENAL_LIBRARIES "-framework OpenAL")
205 ENDIF(HAVE_OPENAL_AL_H)
207 CHECK_INCLUDE_FILE(AL/al.h HAVE_AL_AL_H)
209 CHECK_SHARED_LIBRARY_EXISTS(openal alcOpenDevice "" HAS_OPENAL)
211 SET(OPENAL_LIBRARIES openal)
216 MESSAGE(FATAL_ERROR "OpenAL not found!")
217 ENDIF(NOT HAS_OPENAL)
218 ELSE(NOT OPENAL_FOUND)
219 INCLUDE_DIRECTORIES(${OPENAL_INCLUDE_DIRS})
220 LINK_DIRECTORIES(${OPENAL_LIBRARY_DIRS})
221 ENDIF(NOT OPENAL_FOUND)
226 PKG_CHECK_MODULES(SNDFILE sndfile)
227 IF(NOT SNDFILE_FOUND)
228 CHECK_INCLUDE_FILE(sndfile.h HAVE_SNDFILE_H)
230 CHECK_SHARED_LIBRARY_EXISTS(sndfile sf_open "" HAVE_LIBSNDFILE)
231 CHECK_SHARED_LIBRARY_EXISTS(libsndfile-1 sf_open "" HAVE_LIBSNDFILE1)
232 IF(DYNLOAD OR HAVE_LIBSNDFILE OR HAVE_LIBSNDFILE1)
235 SET(SNDFILE_LIBRARIES "sndfile")
236 ELSEIF(HAVE_LIBSNDFILE1)
237 SET(SNDFILE_LIBRARIES "libsndfile-1")
238 ENDIF(HAVE_LIBSNDFILE)
239 ENDIF(DYNLOAD OR HAVE_LIBSNDFILE OR HAVE_LIBSNDFILE1)
240 ENDIF(HAVE_SNDFILE_H)
241 ELSE(NOT SNDFILE_FOUND)
243 INCLUDE_DIRECTORIES(${SNDFILE_INCLUDE_DIRS})
244 LINK_DIRECTORIES(${SNDFILE_LIBRARY_DIRS})
245 ENDIF(NOT SNDFILE_FOUND)
247 SET(SNDFILE_LIBRARIES "")
252 PKG_CHECK_MODULES(VORBISFILE vorbisfile)
253 IF(NOT VORBISFILE_FOUND)
254 CHECK_INCLUDE_FILE(vorbis/vorbisfile.h HAVE_VORBIS_VORBISFILE_H)
255 IF(HAVE_VORBIS_VORBISFILE_H)
256 CHECK_SHARED_LIBRARY_EXISTS(vorbisfile ov_open "" HAVE_LIBVORBISFILE)
257 IF(DYNLOAD OR HAVE_LIBVORBISFILE)
258 SET(HAS_VORBISFILE 1)
259 IF(HAVE_LIBVORBISFILE)
260 SET(VORBISFILE_LIBRARIES "vorbisfile")
261 ENDIF(HAVE_LIBVORBISFILE)
262 ENDIF(DYNLOAD OR HAVE_LIBVORBISFILE)
263 ENDIF(HAVE_VORBIS_VORBISFILE_H)
264 ELSE(NOT VORBISFILE_FOUND)
265 SET(HAS_VORBISFILE 1)
266 INCLUDE_DIRECTORIES(${VORBISFILE_INCLUDE_DIRS})
267 LINK_DIRECTORIES(${VORBISFILE_LIBRARY_DIRS})
268 ENDIF(NOT VORBISFILE_FOUND)
270 SET(VORBISFILE_LIBRARIES "")
275 #PKG_CHECK_MODULES(LIBFLAC flac)
276 #IF(NOT LIBFLAC_FOUND)
277 CHECK_INCLUDE_FILE(FLAC/all.h HAVE_FLAC_ALL_H)
279 CHECK_SHARED_LIBRARY_EXISTS(FLAC FLAC__stream_decoder_new "" HAVE_LIBFLAC)
280 IF(DYNLOAD OR HAVE_LIBFLAC)
283 SET(LIBFLAC_LIBRARIES "FLAC")
285 ENDIF(DYNLOAD OR HAVE_LIBFLAC)
286 ENDIF(HAVE_FLAC_ALL_H)
287 #ELSE(NOT LIBFLAC_FOUND)
289 # INCLUDE_DIRECTORIES(${LIBFLAC_INCLUDE_DIRS})
290 # LINK_DIRECTORIES(${LIBFLAC_LIBRARY_DIRS})
291 #ENDIF(NOT LIBFLAC_FOUND)
293 SET(LIBFLAC_LIBRARIES "")
298 PKG_CHECK_MODULES(MPG123 libmpg123)
300 CHECK_INCLUDE_FILE(mpg123.h HAVE_MPG123_H)
302 CHECK_SHARED_LIBRARY_EXISTS(mpg123 mpg123_init "" HAVE_LIBMPG123)
303 IF(DYNLOAD OR HAVE_LIBMPG123)
306 SET(MPG123_LIBRARIES "mpg123")
307 ENDIF(HAVE_LIBMPG123)
308 ENDIF(DYNLOAD OR HAVE_LIBMPG123)
310 ELSE(NOT MPG123_FOUND)
312 INCLUDE_DIRECTORIES(${MPG123_INCLUDE_DIRS})
313 LINK_DIRECTORIES(${MPG123_LIBRARY_DIRS})
314 ENDIF(NOT MPG123_FOUND)
316 SET(MPG123_LIBRARIES "")
321 CHECK_INCLUDE_FILE(dumb.h HAVE_DUMB_H)
324 CHECK_LIBRARY_EXISTS("dumb;m" dumbfile_open_ex "" HAVE_LIBDUMB)
326 CHECK_LIBRARY_EXISTS(dumb dumbfile_open_ex "" HAVE_LIBDUMB)
328 IF(DYNLOAD OR HAVE_LIBDUMB)
331 SET(DUMB_LIBRARIES dumb)
333 ENDIF(DYNLOAD OR HAVE_LIBDUMB)
336 SET(DUMB_LIBRARIES "")
341 PKG_CHECK_MODULES(MODPLUG libmodplug)
342 IF(NOT MODPLUG_FOUND)
343 CHECK_INCLUDE_FILE(modplug.h HAVE_MODPLUG_H)
345 CHECK_SHARED_LIBRARY_EXISTS(modplug ModPlug_Load "" HAVE_LIBMODPLUG)
346 IF(DYNLOAD OR HAVE_LIBMODPLUG)
349 SET(MODPLUG_LIBRARIES "modplug")
350 ENDIF(HAVE_LIBMODPLUG)
351 ENDIF(DYNLOAD OR HAVE_LIBMODPLUG)
352 ENDIF(HAVE_MODPLUG_H)
353 ELSE(NOT MODPLUG_FOUND)
355 INCLUDE_DIRECTORIES(${MODPLUG_INCLUDE_DIRS})
356 LINK_DIRECTORIES(${MODPLUG_LIBRARY_DIRS})
357 ENDIF(NOT MODPLUG_FOUND)
359 SET(MODPLUG_LIBRARIES "")
364 PKG_CHECK_MODULES(FLUIDSYNTH fluidsynth>=1.1.1)
365 IF(NOT FLUIDSYNTH_FOUND)
366 CHECK_INCLUDE_FILE(fluidsynth.h HAVE_FLUIDSYNTH_H)
367 IF(HAVE_FLUIDSYNTH_H)
368 CHECK_SHARED_LIBRARY_EXISTS(fluidsynth new_fluid_synth "" HAVE_LIBFLUIDSYNTH)
369 IF(DYNLOAD OR HAVE_LIBFLUIDSYNTH)
370 SET(HAS_FLUIDSYNTH 1)
371 IF(HAVE_LIBFLUIDSYNTH)
372 SET(FLUIDSYNTH_LIBRARIES "fluidsynth")
373 ENDIF(HAVE_LIBFLUIDSYNTH)
374 ENDIF(DYNLOAD OR HAVE_LIBFLUIDSYNTH)
375 ENDIF(HAVE_FLUIDSYNTH_H)
376 ELSE(NOT FLUIDSYNTH_FOUND)
377 SET(HAS_FLUIDSYNTH 1)
378 INCLUDE_DIRECTORIES(${FLUIDSYNTH_INCLUDE_DIRS})
379 LINK_DIRECTORIES(${FLUIDSYNTH_LIBRARY_DIRS})
380 ENDIF(NOT FLUIDSYNTH_FOUND)
382 SET(FLUIDSYNTH_LIBRARIES "")
387 SET(EXTRA_LIBS ${SNDFILE_LIBRARIES} ${VORBISFILE_LIBRARIES} ${LIBFLAC_LIBRARIES} ${MPG123_LIBRARIES} ${DUMB_LIBRARIES} ${MODPLUG_LIBRARIES} ${FLUIDSYNTH_LIBRARIES} ${EXTRA_LIBS})
389 ADD_DEFINITIONS(-DDYNLOAD=1)
393 SET(prefix ${CMAKE_INSTALL_PREFIX})
394 SET(exec_prefix "\${prefix}")
395 SET(libdir "\${exec_prefix}/lib${LIB_SUFFIX}")
396 SET(bindir "\${exec_prefix}/bin")
397 SET(includedir "\${prefix}/include")
398 SET(PKG_CONFIG_REQUIRES openal)
399 SET(PACKAGE_VERSION "${LIB_VERSION}")
403 "${ALURE_SOURCE_DIR}/config.h.in"
404 "${ALURE_BINARY_DIR}/config.h")
407 "${ALURE_SOURCE_DIR}/alure.pc.in"
408 "${ALURE_BINARY_DIR}/alure.pc"
413 "${ALURE_SOURCE_DIR}/alure-static.pc.in"
414 "${ALURE_BINARY_DIR}/alure-static.pc"
418 ADD_DEFINITIONS(-DHAVE_CONFIG_H)
421 SET(ALURE_OBJS src/alure.cpp
431 SET(ALURE_OBJS ${ALURE_OBJS} src/codec_vorbisfile.cpp)
432 ENDIF(HAS_VORBISFILE)
434 SET(ALURE_OBJS ${ALURE_OBJS} src/codec_flac.cpp)
437 SET(ALURE_OBJS ${ALURE_OBJS} src/codec_sndfile.cpp)
440 SET(ALURE_OBJS ${ALURE_OBJS} src/codec_fluidsynth.cpp)
441 ENDIF(HAS_FLUIDSYNTH)
443 SET(ALURE_OBJS ${ALURE_OBJS} src/codec_dumb.cpp)
446 SET(ALURE_OBJS ${ALURE_OBJS} src/codec_modplug.cpp)
449 SET(ALURE_OBJS ${ALURE_OBJS} src/codec_mpg123.cpp)
453 #build a shared library
454 ADD_LIBRARY(${LIBNAME} SHARED ${ALURE_OBJS})
455 SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES DEFINE_SYMBOL ALURE_BUILD_LIBRARY
456 VERSION ${LIB_VERSION}.0
457 SOVERSION ${LIB_MAJOR_VERSION})
459 SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES PREFIX "")
461 TARGET_LINK_LIBRARIES(${LIBNAME} ${OPENAL_LIBRARIES} ${EXTRA_LIBS})
463 INSTALL(TARGETS ${LIBNAME}
464 RUNTIME DESTINATION bin
465 LIBRARY DESTINATION lib${LIB_SUFFIX}
466 ARCHIVE DESTINATION lib${LIB_SUFFIX}
470 #build a static library
471 ADD_LIBRARY(${LIBNAME}-static STATIC ${ALURE_OBJS})
472 SET_TARGET_PROPERTIES(${LIBNAME}-static PROPERTIES DEFINE_SYMBOL ALURE_BUILD_LIBRARY
473 COMPILE_FLAGS -DALURE_STATIC_LIBRARY
474 VERSION ${LIB_VERSION}.0)
475 INSTALL(TARGETS ${LIBNAME}-static
476 RUNTIME DESTINATION bin
477 LIBRARY DESTINATION lib${LIB_SUFFIX}
478 ARCHIVE DESTINATION lib${LIB_SUFFIX}
483 ADD_EXECUTABLE(alureplay examples/alureplay.c)
484 ADD_EXECUTABLE(alurestream examples/alurestream.c)
486 TARGET_LINK_LIBRARIES(alureplay ${LIBNAME} ${OPENAL_LIBRARIES} ${EXTRA_LIBS})
487 TARGET_LINK_LIBRARIES(alurestream ${LIBNAME} ${OPENAL_LIBRARIES} ${EXTRA_LIBS})
489 SET_TARGET_PROPERTIES(alureplay PROPERTIES COMPILE_FLAGS -DALURE_STATIC_LIBRARY)
490 SET_TARGET_PROPERTIES(alurestream PROPERTIES COMPILE_FLAGS -DALURE_STATIC_LIBRARY)
491 TARGET_LINK_LIBRARIES(alureplay ${LIBNAME}-static ${OPENAL_LIBRARIES} ${EXTRA_LIBS})
492 TARGET_LINK_LIBRARIES(alurestream ${LIBNAME}-static ${OPENAL_LIBRARIES} ${EXTRA_LIBS})
496 FIND_PROGRAM(NATDOCS_BIN NaturalDocs)
498 ADD_CUSTOM_TARGET(docs
499 "${NATDOCS_BIN}" -i "${ALURE_SOURCE_DIR}/src" -o HTML "${ALURE_SOURCE_DIR}/docs/html" -p "${ALURE_SOURCE_DIR}/docs/naturaldocs" -s Default CustomStyle
500 COMMENT "Building NaturalDocs documentation..." VERBATIM)
502 MESSAGE(STATUS "\nNaturalDocs not found; building documentation is disabled")
506 #add an install target here
513 INSTALL(DIRECTORY "${ALURE_SOURCE_DIR}/docs/html"
514 DESTINATION share/doc/alure
516 INSTALL(FILES include/AL/alure.h
517 DESTINATION "include/${INCPATH}"
520 INSTALL(FILES "${ALURE_BINARY_DIR}/alure.pc"
521 DESTINATION "lib${LIB_SUFFIX}/pkgconfig"
525 INSTALL(FILES "${ALURE_BINARY_DIR}/alure-static.pc"
526 DESTINATION "lib${LIB_SUFFIX}/pkgconfig"
531 MESSAGE(STATUS "\n********************** Configured options **********************")
532 IF(BUILD_SHARED AND BUILD_STATIC)
533 MESSAGE(STATUS "Building shared, static library")
535 MESSAGE(STATUS "Building shared library")
536 ELSE(BUILD_SHARED AND BUILD_STATIC)
537 MESSAGE(STATUS "Building static library")
538 ENDIF(BUILD_SHARED AND BUILD_STATIC)
541 MESSAGE(STATUS "SndFile support: enabled")
543 MESSAGE(STATUS "SndFile support: disabled")
546 MESSAGE(STATUS "VorbisFile support: enabled")
548 MESSAGE(STATUS "VorbisFile support: disabled")
549 ENDIF(HAS_VORBISFILE)
551 MESSAGE(STATUS "FLAC support: enabled")
553 MESSAGE(STATUS "FLAC support: disabled")
556 MESSAGE(STATUS "MPG123 support: enabled")
558 MESSAGE(STATUS "MPG123 support: disabled")
561 MESSAGE(STATUS "DUMB support: enabled")
563 MESSAGE(STATUS "DUMB support: disabled")
566 MESSAGE(STATUS "ModPlug support: enabled")
568 MESSAGE(STATUS "ModPlug support: disabled")
571 MESSAGE(STATUS "FluidSynth support: enabled")
573 MESSAGE(STATUS "FluidSynth support: disabled")
574 ENDIF(HAS_FLUIDSYNTH)