Constify some globals
[openal-soft/android/lowlatency.git] / CMakeLists.txt
blobe30f4ff100b04db72d2aa65947784b1cb00af91a
1 # CMake build file list for OpenAL
3 CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
5 IF(COMMAND CMAKE_POLICY)
6   CMAKE_POLICY(SET CMP0003 NEW)
7 ENDIF(COMMAND CMAKE_POLICY)
9 SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
11 INCLUDE(CheckFunctionExists)
12 INCLUDE(CheckLibraryExists)
13 INCLUDE(CheckIncludeFile)
14 INCLUDE(CheckIncludeFiles)
15 INCLUDE(CheckSymbolExists)
16 INCLUDE(CheckCCompilerFlag)
17 INCLUDE(CheckCSourceCompiles)
18 INCLUDE(CheckTypeSize)
21 PROJECT(OpenAL C)
24 SET(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE)
27 OPTION(ALSA    "Check for ALSA backend"                ON)
28 OPTION(OSS     "Check for OSS backend"                 ON)
29 OPTION(SOLARIS "Check for Solaris backend"             ON)
30 OPTION(DSOUND  "Check for DirectSound backend"         ON)
31 OPTION(WINMM   "Check for Windows Multimedia backend"  ON)
32 OPTION(PORTAUDIO  "Check for PortAudio backend"        ON)
33 OPTION(PULSEAUDIO "Check for PulseAudio backend"       ON)
35 OPTION(DLOPEN  "Check for the dlopen API for loading optional libs"  ON)
37 OPTION(WERROR  "Treat compile warnings as errors"      OFF)
39 OPTION(EXAMPLES  "Build example programs"              ON)
41 OPTION(ALSOFT_CONFIG "Install alsoft.conf configuration file" OFF)
44 IF(WIN32)
45     SET(LIBNAME OpenAL32)
46     ADD_DEFINITIONS("-D_WIN32")
47 ELSE()
48     SET(LIBNAME openal)
49 ENDIF()
51 SET(LIB_MAJOR_VERSION "1")
52 SET(LIB_MINOR_VERSION "11")
53 SET(LIB_BUILD_VERSION "753")
54 SET(LIB_VERSION "${LIB_MAJOR_VERSION}.${LIB_MINOR_VERSION}.${LIB_BUILD_VERSION}")
55 IF(NOT DEFINED LIB_INSTALL_DIR)
56   SET(LIB_INSTALL_DIR "lib${LIB_SUFFIX}")
57 ENDIF(NOT DEFINED LIB_INSTALL_DIR)
60 CHECK_TYPE_SIZE("long" SIZEOF_LONG)
61 CHECK_TYPE_SIZE("long long" SIZEOF_LONG_LONG)
62 CHECK_TYPE_SIZE("unsigned int" SIZEOF_UINT)
63 CHECK_TYPE_SIZE("void*" SIZEOF_VOIDP)
66 # Add definitions, compiler switches, etc.
67 INCLUDE_DIRECTORIES(OpenAL32/Include include "${OpenAL_BINARY_DIR}")
69 IF(NOT CMAKE_BUILD_TYPE)
70     SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
71         "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel."
72         FORCE)
73 ENDIF()
74 IF(NOT CMAKE_DEBUG_POSTFIX)
75     SET(CMAKE_DEBUG_POSTFIX "" CACHE STRING
76         "Library postfix for debug builds. Normally left blank."
77         FORCE)
78 ENDIF()
80 IF(NOT DXSDK_DIR)
81     STRING(REGEX REPLACE "\\\\" "/" DXSDK_DIR "$ENV{DXSDK_DIR}")
82 ELSE()
83     STRING(REGEX REPLACE "\\\\" "/" DXSDK_DIR "${DXSDK_DIR}")
84 ENDIF()
85 IF(DXSDK_DIR)
86     MESSAGE(STATUS "Using DirectX SDK directory: ${DXSDK_DIR}")
87     SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} "${DXSDK_DIR}/Include")
88     INCLUDE_DIRECTORIES("${DXSDK_DIR}/Include")
89     LINK_DIRECTORIES("${DXSDK_DIR}/Lib")
90 ENDIF()
92 IF(MSVC)
93     # ???
94     SET(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -D_DEBUG")
95     SET(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} -DNDEBUG")
96     SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNDEBUG")
97     SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG")
98     ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS)
99 ELSE()
100     ADD_DEFINITIONS(-Wall)
101     CHECK_C_COMPILER_FLAG(-Wextra HAVE_W_EXTRA)
102     IF(HAVE_W_EXTRA)
103         ADD_DEFINITIONS(-Wextra)
104     ENDIF()
106     IF(WERROR)
107         ADD_DEFINITIONS(-Werror)
108     ENDIF()
110     SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-g -O2 -funroll-loops -D_DEBUG" CACHE STRING
111         "Flags used by the compiler during Release with Debug Info builds."
112         FORCE)
113     SET(CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG" CACHE STRING
114         "Flags used by the compiler during release minsize builds."
115         FORCE)
116     SET(CMAKE_C_FLAGS_RELEASE "-O2 -funroll-loops -fomit-frame-pointer -DNDEBUG" CACHE STRING
117         "Flags used by the compiler during release builds"
118         FORCE)
119     SET(CMAKE_C_FLAGS_DEBUG "-g3 -D_DEBUG" CACHE STRING
120         "Flags used by the compiler during debug builds."
121         FORCE)
123     # Set visibility options if available
124     IF(NOT WIN32)
125         CHECK_C_SOURCE_COMPILES("int foo() __attribute__((destructor));
126                                  int main() {return 0;}" HAVE_GCC_DESTRUCTOR)
128         CHECK_C_COMPILER_FLAG(-fvisibility=hidden HAVE_VISIBILITY_SWITCH)
129         IF(HAVE_VISIBILITY_SWITCH)
130             CHECK_C_SOURCE_COMPILES("int foo() __attribute__((visibility(\"default\")));
131                                      int main() {return 0;}" HAVE_GCC_VISIBILITY)
132             IF(HAVE_GCC_VISIBILITY)
133                 ADD_DEFINITIONS(-fvisibility=hidden -DHAVE_GCC_VISIBILITY)
134             ENDIF()
135         ENDIF()
136     ENDIF()
137 ENDIF()
139 CHECK_C_SOURCE_COMPILES("int foo(const char *str, ...) __attribute__((format(printf, 1, 2)));
140                          int main() {return 0;}" HAVE_GCC_FORMAT)
142 CHECK_INCLUDE_FILE(fenv.h HAVE_FENV_H)
143 CHECK_INCLUDE_FILE(float.h HAVE_FLOAT_H)
145 CHECK_LIBRARY_EXISTS(m  sqrtf  "" HAVE_SQRTF)
146 CHECK_LIBRARY_EXISTS(m  acosf  "" HAVE_ACOSF)
147 CHECK_LIBRARY_EXISTS(m  atanf  "" HAVE_ATANF)
148 CHECK_LIBRARY_EXISTS(m  fabsf  "" HAVE_FABSF)
149 IF(HAVE_FENV_H)
150     CHECK_LIBRARY_EXISTS(m  fesetround  "" HAVE_FESETROUND)
151 ENDIF()
152 IF(HAVE_SQRTF OR HAVE_ACOSF OR HAVE_ATANF OR HAVE_FABSF OR HAVE_FESETROUND)
153     SET(EXTRA_LIBS m ${EXTRA_LIBS})
154 ENDIF()
155 CHECK_FUNCTION_EXISTS(strtof HAVE_STRTOF)
156 CHECK_FUNCTION_EXISTS(_controlfp HAVE__CONTROLFP)
158 CHECK_FUNCTION_EXISTS(stat HAVE_STAT)
159 CHECK_FUNCTION_EXISTS(strcasecmp HAVE_STRCASECMP)
160 IF(NOT HAVE_STRCASECMP)
161     CHECK_FUNCTION_EXISTS(_stricmp HAVE__STRICMP)
162     IF(NOT HAVE__STRICMP)
163         MESSAGE(FATAL_ERROR "No case-insensitive compare function found, please report!")
164     ENDIF()
166     ADD_DEFINITIONS(-Dstrcasecmp=_stricmp)
167 ENDIF()
169 CHECK_FUNCTION_EXISTS(strncasecmp HAVE_STRNCASECMP)
170 IF(NOT HAVE_STRNCASECMP)
171     CHECK_FUNCTION_EXISTS(_strnicmp HAVE__STRNICMP)
172     IF(NOT HAVE__STRNICMP)
173         MESSAGE(FATAL_ERROR "No case-insensitive size-limitted compare function found, please report!")
174     ENDIF()
176     ADD_DEFINITIONS(-Dstrncasecmp=_strnicmp)
177 ENDIF()
179 CHECK_FUNCTION_EXISTS(snprintf HAVE_SNPRINTF)
180 IF(NOT HAVE_SNPRINTF)
181     CHECK_FUNCTION_EXISTS(_snprintf HAVE__SNPRINTF)
182     IF(NOT HAVE__SNPRINTF)
183         MESSAGE(FATAL_ERROR "No snprintf function found, please report!")
184     ENDIF()
186     ADD_DEFINITIONS(-Dsnprintf=_snprintf)
187 ENDIF()
189 CHECK_FUNCTION_EXISTS(vsnprintf HAVE_VSNPRINTF)
190 IF(NOT HAVE_VSNPRINTF)
191     CHECK_FUNCTION_EXISTS(_vsnprintf HAVE__VSNPRINTF)
192     IF(NOT HAVE__VSNPRINTF)
193         MESSAGE(FATAL_ERROR "No vsnprintf function found, please report!")
194     ENDIF()
196     ADD_DEFINITIONS(-Dvsnprintf=_vsnprintf)
197 ENDIF()
199 CHECK_SYMBOL_EXISTS(isnan math.h HAVE_ISNAN)
200 IF(NOT HAVE_ISNAN)
201     CHECK_FUNCTION_EXISTS(_isnan HAVE__ISNAN)
202     IF(NOT HAVE__ISNAN)
203         MESSAGE(FATAL_ERROR "No isnan function found, please report!")
204     ENDIF()
206     ADD_DEFINITIONS(-Disnan=_isnan)
207 ENDIF()
210 # Check for the dlopen API (for dynamicly loading backend libs)
211 IF(DLOPEN)
212     CHECK_INCLUDE_FILE(dlfcn.h HAVE_DLFCN_H)
213     IF(HAVE_DLFCN_H)
214         CHECK_LIBRARY_EXISTS(dl dlopen "" HAVE_LIBDL)
215         IF(HAVE_LIBDL)
216             SET(EXTRA_LIBS dl ${EXTRA_LIBS})
217         ENDIF()
218     ENDIF()
219 ENDIF()
221 # Check if we have Windows headers
222 CHECK_INCLUDE_FILE(windows.h HAVE_WINDOWS_H -D_WIN32_WINNT=0x0500)
223 IF(NOT HAVE_WINDOWS_H)
224     CHECK_FUNCTION_EXISTS(gettimeofday HAVE_GETTIMEOFDAY)
225     IF(NOT HAVE_GETTIMEOFDAY)
226         MESSAGE(FATAL_ERROR "No timing function found!")
227     ENDIF()
229     CHECK_FUNCTION_EXISTS(nanosleep HAVE_NANOSLEEP)
230     IF(NOT HAVE_NANOSLEEP)
231         MESSAGE(FATAL_ERROR "No sleep function found!")
232     ENDIF()
234     CHECK_C_COMPILER_FLAG(-pthread HAVE_PTHREAD)
235     IF(HAVE_PTHREAD)
236         ADD_DEFINITIONS(-pthread)
237         SET(EXTRA_LIBS ${EXTRA_LIBS} -pthread)
238     ENDIF()
240     # We need pthreads outside of Windows
241     CHECK_INCLUDE_FILE(pthread.h HAVE_PTHREAD_H)
242     IF(NOT HAVE_PTHREAD_H)
243         MESSAGE(FATAL_ERROR "PThreads is required for non-Windows builds!")
244     ENDIF()
245     # Some systems need pthread_np.h to get recursive mutexes
246     CHECK_INCLUDE_FILES("pthread.h;pthread_np.h" HAVE_PTHREAD_NP_H)
248     # _GNU_SOURCE is needed on some systems for extra attributes, and
249     # _REENTRANT is needed for libc thread-safety
250     ADD_DEFINITIONS(-D_GNU_SOURCE=1)
251     CHECK_LIBRARY_EXISTS(pthread pthread_create "" HAVE_LIBPTHREAD)
252     IF(HAVE_LIBPTHREAD)
253         SET(EXTRA_LIBS pthread ${EXTRA_LIBS})
254     ENDIF()
256     CHECK_LIBRARY_EXISTS(pthread pthread_setschedparam "" HAVE_PTHREAD_SETSCHEDPARAM)
258     CHECK_LIBRARY_EXISTS(rt clock_gettime "" HAVE_LIBRT)
259     IF(HAVE_LIBRT)
260         SET(EXTRA_LIBS rt ${EXTRA_LIBS})
261     ENDIF()
262 ENDIF()
264 # Check for a 64-bit type
265 CHECK_INCLUDE_FILE(stdint.h HAVE_STDINT_H)
266 IF(NOT HAVE_STDINT_H)
267     IF(HAVE_WINDOWS_H)
268         CHECK_C_SOURCE_COMPILES("\#define _WIN32_WINNT 0x0500
269                                  \#include <windows.h>
270                                  __int64 foo;
271                                  int main() {return 0;}" HAVE___INT64)
272     ENDIF()
273     IF(NOT HAVE___INT64)
274         IF(NOT SIZEOF_LONG MATCHES "8")
275             IF(NOT SIZEOF_LONG_LONG MATCHES "8")
276                 MESSAGE(FATAL_ERROR "No 64-bit types found, please report!")
277             ENDIF()
278         ENDIF()
279     ENDIF()
280 ENDIF()
283 SET(OPENAL_OBJS  OpenAL32/alAuxEffectSlot.c
284                  OpenAL32/alBuffer.c
285                  OpenAL32/alDatabuffer.c
286                  OpenAL32/alEffect.c
287                  OpenAL32/alError.c
288                  OpenAL32/alExtension.c
289                  OpenAL32/alFilter.c
290                  OpenAL32/alListener.c
291                  OpenAL32/alSource.c
292                  OpenAL32/alState.c
293                  OpenAL32/alThunk.c
295 SET(ALC_OBJS  Alc/ALc.c
296               Alc/ALu.c
297               Alc/alcConfig.c
298               Alc/alcEcho.c
299               Alc/alcReverb.c
300               Alc/alcRing.c
301               Alc/alcThread.c
302               Alc/bs2b.c
303               Alc/wave.c
306 SET(BACKENDS "")
308 # Check ALSA backend
309 IF(ALSA)
310     CHECK_INCLUDE_FILE(alsa/asoundlib.h HAVE_ALSA_ASOUNDLIB_H)
311     IF(HAVE_ALSA_ASOUNDLIB_H)
312         CHECK_LIBRARY_EXISTS(asound snd_pcm_open "" HAVE_LIBASOUND)
313         IF(HAVE_DLFCN_H OR HAVE_LIBASOUND)
314             SET(HAVE_ALSA 1)
315             SET(ALC_OBJS  ${ALC_OBJS} Alc/alsa.c)
316             IF(HAVE_DLFCN_H)
317                 SET(BACKENDS  "${BACKENDS} ALSA,")
318             ELSE()
319                 SET(BACKENDS  "${BACKENDS} ALSA \(linked\),")
320                 SET(EXTRA_LIBS asound ${EXTRA_LIBS})
321             ENDIF()
322         ENDIF()
323     ENDIF()
324 ENDIF()
326 # Check OSS backend
327 IF(OSS)
328     CHECK_INCLUDE_FILE(sys/soundcard.h HAVE_SYS_SOUNDCARD_H)
329     IF(HAVE_SYS_SOUNDCARD_H)
330         SET(HAVE_OSS 1)
331         SET(ALC_OBJS  ${ALC_OBJS} Alc/oss.c)
332         SET(BACKENDS  "${BACKENDS} OSS,")
333     ENDIF()
334 ENDIF()
336 # Check Solaris backend
337 IF(SOLARIS)
338     CHECK_INCLUDE_FILE(sys/audioio.h HAVE_SYS_AUDIOIO_H)
339     IF(HAVE_SYS_AUDIOIO_H)
340         SET(HAVE_SOLARIS 1)
341         SET(ALC_OBJS  ${ALC_OBJS} Alc/solaris.c)
342         SET(BACKENDS  "${BACKENDS} Solaris,")
343     ENDIF()
344 ENDIF()
346 # Check DSound/MMSystem backend
347 IF(DSOUND)
348     CHECK_INCLUDE_FILE(dsound.h HAVE_DSOUND_H)
349     IF(HAVE_DSOUND_H)
350         CHECK_LIBRARY_EXISTS(dsound DirectSoundCreate "" HAVE_LIBDSOUND)
351         IF(HAVE_LIBDSOUND OR WIN32)
352             SET(HAVE_DSOUND 1)
353             SET(ALC_OBJS  ${ALC_OBJS} Alc/dsound.c)
355             IF(WIN32)
356                 SET(BACKENDS  "${BACKENDS} DirectSound,")
357             ELSE()
358                 SET(BACKENDS  "${BACKENDS} DirectSound \(linked\),")
359                 SET(EXTRA_LIBS dsound ${EXTRA_LIBS})
360             ENDIF()
361         ENDIF()
362     ENDIF()
363 ENDIF()
364 IF(HAVE_WINDOWS_H)
365     IF(WINMM)
366         CHECK_INCLUDE_FILES("windows.h;mmsystem.h" HAVE_MMSYSTEM_H -D_WIN32_WINNT=0x0500)
367         IF(HAVE_MMSYSTEM_H)
368             SET(CMAKE_REQUIRED_LIBRARIES winmm)
369             CHECK_C_SOURCE_COMPILES("int main() {return 0;}" HAVE_LIBWINMM)
370             SET(CMAKE_REQUIRED_LIBRARIES "")
371 #            CHECK_LIBRARY_EXISTS(winmm waveInOpen "" HAVE_LIBWINMM)
372             IF(HAVE_LIBWINMM)
373                 SET(HAVE_WINMM 1)
374                 SET(ALC_OBJS  ${ALC_OBJS} Alc/winmm.c)
375                 SET(BACKENDS  "${BACKENDS} WinMM,")
377                 SET(EXTRA_LIBS winmm ${EXTRA_LIBS})
378             ENDIF()
379         ENDIF()
380     ENDIF()
381 ENDIF()
383 # Check PortAudio backend
384 IF(PORTAUDIO)
385     CHECK_INCLUDE_FILE(portaudio.h HAVE_PORTAUDIO_H)
386     IF(HAVE_PORTAUDIO_H)
387         CHECK_LIBRARY_EXISTS(portaudio Pa_Initialize "" HAVE_LIBPORTAUDIO)
388         IF(HAVE_LIBPORTAUDIO)
389             SET(HAVE_PORTAUDIO 1)
390             SET(ALC_OBJS  ${ALC_OBJS} Alc/portaudio.c)
391             IF(HAVE_DLFCN_H)
392                 SET(BACKENDS  "${BACKENDS} PortAudio,")
393             ELSE()
394                 SET(BACKENDS  "${BACKENDS} PortAudio \(linked\),")
395                 SET(EXTRA_LIBS portaudio ${EXTRA_LIBS})
396             ENDIF()
397         ENDIF()
398     ENDIF()
399 ENDIF()
401 # Check PortAudio backend
402 IF(PULSEAUDIO)
403     CHECK_INCLUDE_FILE(pulse/pulseaudio.h HAVE_PULSE_PULSEAUDIO_H)
404     IF(HAVE_PULSE_PULSEAUDIO_H)
405         CHECK_LIBRARY_EXISTS(pulse pa_context_new "" HAVE_LIBPULSE)
406         IF(HAVE_LIBPULSE)
407             SET(HAVE_PULSEAUDIO 1)
408             SET(ALC_OBJS  ${ALC_OBJS} Alc/pulseaudio.c)
409             IF(HAVE_DLFCN_H)
410                 SET(BACKENDS  "${BACKENDS} PulseAudio,")
411             ELSE()
412                 SET(BACKENDS  "${BACKENDS} PulseAudio \(linked\),")
413                 SET(EXTRA_LIBS pulse ${EXTRA_LIBS})
414             ENDIF()
415         ENDIF()
416     ENDIF()
417 ENDIF()
419 # This is always available
420 SET(BACKENDS  "${BACKENDS} WaveFile")
422 # Needed for openal.pc.in
423 SET(prefix ${CMAKE_INSTALL_PREFIX})
424 SET(exec_prefix "\${prefix}")
425 SET(libdir "\${exec_prefix}/${LIB_INSTALL_DIR}")
426 SET(bindir "\${exec_prefix}/bin")
427 SET(includedir "\${prefix}/include")
428 SET(PACKAGE_VERSION "${LIB_VERSION}")
430 # End configuration
431 CONFIGURE_FILE(
432     "${OpenAL_SOURCE_DIR}/config.h.in"
433     "${OpenAL_BINARY_DIR}/config.h")
434 CONFIGURE_FILE(
435     "${OpenAL_SOURCE_DIR}/openal.pc.in"
436     "${OpenAL_BINARY_DIR}/openal.pc"
437     @ONLY)
439 ADD_DEFINITIONS(-DAL_BUILD_LIBRARY)
441 # Build a library
442 IF(NOT LIBTYPE)
443     SET(LIBTYPE SHARED)
444 ENDIF()
445 ADD_LIBRARY(${LIBNAME} ${LIBTYPE} ${OPENAL_OBJS} ${ALC_OBJS})
446 SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES VERSION ${LIB_VERSION}
447                                             SOVERSION ${LIB_MAJOR_VERSION})
448 IF(WIN32)
449     SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES PREFIX "")
450 ENDIF()
452 TARGET_LINK_LIBRARIES(${LIBNAME} ${EXTRA_LIBS})
454 # Add an install target here
455 INSTALL(TARGETS ${LIBNAME}
456         RUNTIME DESTINATION bin
457         LIBRARY DESTINATION ${LIB_INSTALL_DIR}
458         ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
460 INSTALL(FILES include/AL/al.h
461               include/AL/alc.h
462               include/AL/alext.h
463         DESTINATION include/AL
465 INSTALL(FILES "${OpenAL_BINARY_DIR}/openal.pc"
466         DESTINATION "${LIB_INSTALL_DIR}/pkgconfig")
468 # Install alsoft.conf configuration file
469 IF(ALSOFT_CONFIG)
470     INSTALL(FILES alsoftrc.sample
471             DESTINATION /etc/openal
472             RENAME alsoft.conf
473     )
474 ENDIF()
476 IF(EXAMPLES)
477     ADD_EXECUTABLE(openal-info examples/openal-info.c)
478     TARGET_LINK_LIBRARIES(openal-info ${LIBNAME})
479     INSTALL(TARGETS openal-info
480             RUNTIME DESTINATION bin
481             LIBRARY DESTINATION ${LIB_INSTALL_DIR}
482             ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
483     )
484 ENDIF()
486 MESSAGE(STATUS "")
487 MESSAGE(STATUS "Building OpenAL with support for the following backends:")
488 MESSAGE(STATUS "    ${BACKENDS}")
489 MESSAGE(STATUS "")
491 IF(WIN32)
492     IF(NOT HAVE_DSOUND)
493         MESSAGE(STATUS "WARNING: Building the Windows version without DirectSound output")
494         MESSAGE(STATUS "         This is probably NOT what you want!")
495         MESSAGE(STATUS "")
496     ENDIF()
497 ENDIF()