rlm@0: # CMake build file list for OpenAL rlm@0: rlm@0: CMAKE_MINIMUM_REQUIRED(VERSION 2.4) rlm@0: rlm@0: IF(COMMAND CMAKE_POLICY) rlm@0: CMAKE_POLICY(SET CMP0003 NEW) rlm@0: ENDIF(COMMAND CMAKE_POLICY) rlm@0: rlm@0: SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") rlm@0: rlm@0: INCLUDE(CheckFunctionExists) rlm@0: INCLUDE(CheckLibraryExists) rlm@0: INCLUDE(CheckSharedFunctionExists) rlm@0: INCLUDE(CheckIncludeFile) rlm@0: INCLUDE(CheckIncludeFiles) rlm@0: INCLUDE(CheckSymbolExists) rlm@0: INCLUDE(CheckCCompilerFlag) rlm@0: INCLUDE(CheckCSourceCompiles) rlm@0: INCLUDE(CheckTypeSize) rlm@0: rlm@0: rlm@0: PROJECT(OpenAL C) rlm@0: rlm@0: rlm@0: SET(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE) rlm@0: rlm@0: rlm@0: OPTION(SEND "Enable Send Backend" ON) rlm@0: rlm@0: OPTION(DLOPEN "Check for the dlopen API for loading optional libs" ON) rlm@0: rlm@0: OPTION(WERROR "Treat compile warnings as errors" OFF) rlm@0: rlm@0: OPTION(UTILS "Build and install utility programs" ON) rlm@0: rlm@0: rlm@0: IF(WIN32) rlm@0: SET(LIBNAME OpenAL32) rlm@0: ADD_DEFINITIONS("-D_WIN32") rlm@0: ELSE() rlm@0: SET(LIBNAME openal) rlm@0: ENDIF() rlm@0: rlm@0: IF(NOT LIBTYPE) rlm@0: SET(LIBTYPE SHARED) rlm@0: ENDIF() rlm@0: rlm@0: SET(LIB_MAJOR_VERSION "1") rlm@0: SET(LIB_MINOR_VERSION "13") rlm@0: SET(LIB_VERSION "${LIB_MAJOR_VERSION}.${LIB_MINOR_VERSION}") rlm@0: rlm@0: SET(EXPORT_DECL "") rlm@0: rlm@0: rlm@0: CHECK_TYPE_SIZE("long" SIZEOF_LONG) rlm@0: CHECK_TYPE_SIZE("long long" SIZEOF_LONG_LONG) rlm@0: CHECK_TYPE_SIZE("unsigned int" SIZEOF_UINT) rlm@0: CHECK_TYPE_SIZE("void*" SIZEOF_VOIDP) rlm@0: rlm@0: rlm@0: CHECK_C_SOURCE_COMPILES("int *restrict foo; rlm@0: int main() {return 0;}" HAVE_RESTRICT) rlm@0: CHECK_C_SOURCE_COMPILES("int *__restrict foo; rlm@0: int main() {return 0;}" HAVE___RESTRICT) rlm@0: rlm@0: rlm@0: # Add definitions, compiler switches, etc. rlm@7: INCLUDE_DIRECTORIES(OpenAL32/Include include "${OpenAL_BINARY_DIR}" java/headers) rlm@0: rlm@0: IF(NOT CMAKE_BUILD_TYPE) rlm@0: SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING rlm@0: "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." rlm@0: FORCE) rlm@0: ENDIF() rlm@0: IF(NOT CMAKE_DEBUG_POSTFIX) rlm@0: SET(CMAKE_DEBUG_POSTFIX "" CACHE STRING rlm@0: "Library postfix for debug builds. Normally left blank." rlm@0: FORCE) rlm@0: ENDIF() rlm@0: rlm@0: rlm@0: rlm@0: IF(MSVC) rlm@0: # ??? rlm@0: SET(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -D_DEBUG") rlm@0: SET(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} -DNDEBUG") rlm@0: SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNDEBUG") rlm@0: SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG") rlm@0: ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS) rlm@0: ADD_DEFINITIONS(-D_CRT_NONSTDC_NO_DEPRECATE) rlm@0: rlm@0: IF(NOT DXSDK_DIR) rlm@0: STRING(REGEX REPLACE "\\\\" "/" DXSDK_DIR "$ENV{DXSDK_DIR}") rlm@0: ELSE() rlm@0: STRING(REGEX REPLACE "\\\\" "/" DXSDK_DIR "${DXSDK_DIR}") rlm@0: ENDIF() rlm@0: IF(DXSDK_DIR) rlm@0: MESSAGE(STATUS "Using DirectX SDK directory: ${DXSDK_DIR}") rlm@0: SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} "${DXSDK_DIR}/Include") rlm@0: INCLUDE_DIRECTORIES("${DXSDK_DIR}/Include") rlm@0: LINK_DIRECTORIES("${DXSDK_DIR}/Lib") rlm@0: ENDIF() rlm@0: rlm@0: OPTION(FORCE_STATIC_VCRT "Force /MT for static VC runtimes" OFF) rlm@0: IF(FORCE_STATIC_VCRT) rlm@0: FOREACH(flag_var rlm@0: CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE rlm@0: CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO) rlm@0: IF(${flag_var} MATCHES "/MD") rlm@0: STRING(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}") rlm@0: ENDIF() rlm@0: ENDFOREACH(flag_var) rlm@0: ENDIF() rlm@0: ELSE() rlm@0: ADD_DEFINITIONS(-Winline -Wall) rlm@0: CHECK_C_COMPILER_FLAG(-Wextra HAVE_W_EXTRA) rlm@0: IF(HAVE_W_EXTRA) rlm@0: ADD_DEFINITIONS(-Wextra) rlm@0: ENDIF() rlm@0: rlm@0: IF(WERROR) rlm@0: ADD_DEFINITIONS(-Werror) rlm@0: ENDIF() rlm@0: rlm@0: SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-g -O2 -D_DEBUG" CACHE STRING rlm@0: "Flags used by the compiler during Release with Debug Info builds." rlm@0: FORCE) rlm@0: SET(CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG" CACHE STRING rlm@0: "Flags used by the compiler during release minsize builds." rlm@0: FORCE) rlm@0: SET(CMAKE_C_FLAGS_RELEASE "-O2 -fomit-frame-pointer -DNDEBUG" CACHE STRING rlm@0: "Flags used by the compiler during release builds" rlm@0: FORCE) rlm@0: SET(CMAKE_C_FLAGS_DEBUG "-g3 -D_DEBUG" CACHE STRING rlm@0: "Flags used by the compiler during debug builds." rlm@0: FORCE) rlm@0: rlm@0: CHECK_C_SOURCE_COMPILES("int foo() __attribute__((destructor)); rlm@0: int main() {return 0;}" HAVE_GCC_DESTRUCTOR) rlm@0: ENDIF() rlm@0: rlm@0: # Set visibility/export options if available rlm@0: IF(WIN32) rlm@0: SET(EXPORT_DECL "__declspec(dllexport)") rlm@0: rlm@0: OPTION(WINE "Enable use of Wine headers when compiling" OFF) rlm@0: IF(WINE) rlm@0: FIND_PATH(WINE_INCLUDE_DIR library.h rlm@0: PATHS rlm@0: /usr/include/wine rlm@0: /usr/local/include/wine rlm@0: CMAKE_FIND_ROOT_PATH_BOTH) rlm@0: IF(WINE_INCLUDE_DIR) rlm@0: MESSAGE(STATUS "Found Wine header files - ${WINE_INCLUDE_DIR}" ) rlm@0: INCLUDE_DIRECTORIES("${WINE_INCLUDE_DIR}/windows") rlm@0: SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} "${WINE_INCLUDE_DIR}/windows") rlm@0: ELSE() rlm@0: MESSAGE(STATUS "Could not find Wine header files" ) rlm@0: ENDIF() rlm@0: ENDIF() rlm@0: ELSE() rlm@0: CHECK_C_COMPILER_FLAG(-fvisibility=internal HAVE_VISIBILITY_SWITCH) rlm@0: CHECK_C_SOURCE_COMPILES("int foo() __attribute__((visibility(\"protected\"))); rlm@0: int main() {return 0;}" HAVE_GCC_VISIBILITY) rlm@0: IF(HAVE_VISIBILITY_SWITCH AND HAVE_GCC_VISIBILITY) rlm@0: #ADD_DEFINITIONS(-fvisibility=internal) rlm@0: #SET(EXPORT_DECL "__attribute__((visibility(\"protected\")))") rlm@0: ENDIF() rlm@0: ENDIF() rlm@0: rlm@0: CHECK_C_SOURCE_COMPILES("int foo(const char *str, ...) __attribute__((format(printf, 1, 2))); rlm@0: int main() {return 0;}" HAVE_GCC_FORMAT) rlm@0: rlm@0: CHECK_INCLUDE_FILE(fenv.h HAVE_FENV_H) rlm@0: CHECK_INCLUDE_FILE(float.h HAVE_FLOAT_H) rlm@0: CHECK_INCLUDE_FILE(ieeefp.h HAVE_IEEEFP_H) rlm@0: CHECK_INCLUDE_FILE(guiddef.h HAVE_GUIDDEF_H) rlm@0: IF(NOT HAVE_GUIDDEF_H) rlm@0: CHECK_INCLUDE_FILE(initguid.h HAVE_INITGUID_H) rlm@0: ENDIF() rlm@0: CHECK_INCLUDE_FILE(arm_neon.h HAVE_ARM_NEON_H) rlm@0: rlm@0: CHECK_LIBRARY_EXISTS(m powf "" HAVE_POWF) rlm@0: CHECK_LIBRARY_EXISTS(m sqrtf "" HAVE_SQRTF) rlm@0: CHECK_LIBRARY_EXISTS(m acosf "" HAVE_ACOSF) rlm@0: CHECK_LIBRARY_EXISTS(m atanf "" HAVE_ATANF) rlm@0: CHECK_LIBRARY_EXISTS(m fabsf "" HAVE_FABSF) rlm@0: IF(HAVE_FENV_H) rlm@0: CHECK_LIBRARY_EXISTS(m fesetround "" HAVE_FESETROUND) rlm@0: ENDIF() rlm@0: IF(HAVE_SQRTF OR HAVE_ACOSF OR HAVE_ATANF OR HAVE_FABSF OR HAVE_FESETROUND) rlm@0: SET(EXTRA_LIBS m ${EXTRA_LIBS}) rlm@0: ENDIF() rlm@0: CHECK_FUNCTION_EXISTS(strtof HAVE_STRTOF) rlm@0: CHECK_FUNCTION_EXISTS(_controlfp HAVE__CONTROLFP) rlm@0: rlm@0: CHECK_FUNCTION_EXISTS(stat HAVE_STAT) rlm@0: CHECK_FUNCTION_EXISTS(strcasecmp HAVE_STRCASECMP) rlm@0: IF(NOT HAVE_STRCASECMP) rlm@0: CHECK_FUNCTION_EXISTS(_stricmp HAVE__STRICMP) rlm@0: IF(NOT HAVE__STRICMP) rlm@0: MESSAGE(FATAL_ERROR "No case-insensitive compare function found, please report!") rlm@0: ENDIF() rlm@0: rlm@0: ADD_DEFINITIONS(-Dstrcasecmp=_stricmp) rlm@0: ENDIF() rlm@0: rlm@0: CHECK_FUNCTION_EXISTS(strncasecmp HAVE_STRNCASECMP) rlm@0: IF(NOT HAVE_STRNCASECMP) rlm@0: CHECK_FUNCTION_EXISTS(_strnicmp HAVE__STRNICMP) rlm@0: IF(NOT HAVE__STRNICMP) rlm@0: MESSAGE(FATAL_ERROR "No case-insensitive size-limitted compare function found, please report!") rlm@0: ENDIF() rlm@0: rlm@0: ADD_DEFINITIONS(-Dstrncasecmp=_strnicmp) rlm@0: ENDIF() rlm@0: rlm@0: CHECK_FUNCTION_EXISTS(snprintf HAVE_SNPRINTF) rlm@0: IF(NOT HAVE_SNPRINTF) rlm@0: CHECK_FUNCTION_EXISTS(_snprintf HAVE__SNPRINTF) rlm@0: IF(NOT HAVE__SNPRINTF) rlm@0: MESSAGE(FATAL_ERROR "No snprintf function found, please report!") rlm@0: ENDIF() rlm@0: rlm@0: ADD_DEFINITIONS(-Dsnprintf=_snprintf) rlm@0: ENDIF() rlm@0: rlm@0: CHECK_FUNCTION_EXISTS(vsnprintf HAVE_VSNPRINTF) rlm@0: IF(NOT HAVE_VSNPRINTF) rlm@0: CHECK_FUNCTION_EXISTS(_vsnprintf HAVE__VSNPRINTF) rlm@0: IF(NOT HAVE__VSNPRINTF) rlm@0: MESSAGE(FATAL_ERROR "No vsnprintf function found, please report!") rlm@0: ENDIF() rlm@0: rlm@0: ADD_DEFINITIONS(-Dvsnprintf=_vsnprintf) rlm@0: ENDIF() rlm@0: rlm@0: CHECK_SYMBOL_EXISTS(isfinite math.h HAVE_ISFINITE) rlm@0: IF(NOT HAVE_ISFINITE) rlm@0: CHECK_FUNCTION_EXISTS(finite HAVE_FINITE) rlm@0: IF(NOT HAVE_FINITE) rlm@0: CHECK_FUNCTION_EXISTS(_finite HAVE__FINITE) rlm@0: IF(NOT HAVE__FINITE) rlm@0: MESSAGE(FATAL_ERROR "No isfinite function found, please report!") rlm@0: ENDIF() rlm@0: ADD_DEFINITIONS(-Disfinite=_finite) rlm@0: ELSE() rlm@0: ADD_DEFINITIONS(-Disfinite=finite) rlm@0: ENDIF() rlm@0: ENDIF() rlm@0: rlm@0: CHECK_SYMBOL_EXISTS(isnan math.h HAVE_ISNAN) rlm@0: IF(NOT HAVE_ISNAN) rlm@0: CHECK_FUNCTION_EXISTS(_isnan HAVE__ISNAN) rlm@0: IF(NOT HAVE__ISNAN) rlm@0: MESSAGE(FATAL_ERROR "No isnan function found, please report!") rlm@0: ENDIF() rlm@0: rlm@0: ADD_DEFINITIONS(-Disnan=_isnan) rlm@0: ENDIF() rlm@0: rlm@0: rlm@0: # Check for the dlopen API (for dynamicly loading backend libs) rlm@0: IF(DLOPEN) rlm@0: CHECK_INCLUDE_FILE(dlfcn.h HAVE_DLFCN_H) rlm@0: IF(HAVE_DLFCN_H) rlm@0: CHECK_LIBRARY_EXISTS(dl dlopen "" HAVE_LIBDL) rlm@0: IF(HAVE_LIBDL) rlm@0: SET(EXTRA_LIBS dl ${EXTRA_LIBS}) rlm@0: ENDIF() rlm@0: ENDIF() rlm@0: ENDIF() rlm@0: rlm@0: # Check if we have Windows headers rlm@0: CHECK_INCLUDE_FILE(windows.h HAVE_WINDOWS_H -D_WIN32_WINNT=0x0500) rlm@0: IF(NOT HAVE_WINDOWS_H) rlm@0: CHECK_FUNCTION_EXISTS(gettimeofday HAVE_GETTIMEOFDAY) rlm@0: IF(NOT HAVE_GETTIMEOFDAY) rlm@0: MESSAGE(FATAL_ERROR "No timing function found!") rlm@0: ENDIF() rlm@0: rlm@0: CHECK_FUNCTION_EXISTS(nanosleep HAVE_NANOSLEEP) rlm@0: IF(NOT HAVE_NANOSLEEP) rlm@0: MESSAGE(FATAL_ERROR "No sleep function found!") rlm@0: ENDIF() rlm@0: rlm@0: CHECK_C_COMPILER_FLAG(-pthread HAVE_PTHREAD) rlm@0: IF(HAVE_PTHREAD) rlm@0: ADD_DEFINITIONS(-pthread) rlm@0: SET(EXTRA_LIBS ${EXTRA_LIBS} -pthread) rlm@0: ENDIF() rlm@0: rlm@0: # We need pthreads outside of Windows rlm@0: CHECK_INCLUDE_FILE(pthread.h HAVE_PTHREAD_H) rlm@0: IF(NOT HAVE_PTHREAD_H) rlm@0: MESSAGE(FATAL_ERROR "PThreads is required for non-Windows builds!") rlm@0: ENDIF() rlm@0: # Some systems need pthread_np.h to get recursive mutexes rlm@0: CHECK_INCLUDE_FILES("pthread.h;pthread_np.h" HAVE_PTHREAD_NP_H) rlm@0: rlm@0: # _GNU_SOURCE is needed on some systems for extra attributes, and rlm@0: # _REENTRANT is needed for libc thread-safety rlm@0: ADD_DEFINITIONS(-D_GNU_SOURCE=1) rlm@0: CHECK_LIBRARY_EXISTS(pthread pthread_create "" HAVE_LIBPTHREAD) rlm@0: IF(HAVE_LIBPTHREAD) rlm@0: SET(EXTRA_LIBS pthread ${EXTRA_LIBS}) rlm@0: ENDIF() rlm@0: rlm@0: CHECK_LIBRARY_EXISTS(pthread pthread_setschedparam "" HAVE_PTHREAD_SETSCHEDPARAM) rlm@0: rlm@0: CHECK_LIBRARY_EXISTS(rt clock_gettime "" HAVE_LIBRT) rlm@0: IF(HAVE_LIBRT) rlm@0: SET(EXTRA_LIBS rt ${EXTRA_LIBS}) rlm@0: ENDIF() rlm@0: ENDIF() rlm@0: rlm@0: # Check for a 64-bit type rlm@0: CHECK_INCLUDE_FILE(stdint.h HAVE_STDINT_H) rlm@0: IF(NOT HAVE_STDINT_H) rlm@0: IF(HAVE_WINDOWS_H) rlm@0: CHECK_C_SOURCE_COMPILES("\#define _WIN32_WINNT 0x0500 rlm@0: \#include rlm@0: __int64 foo; rlm@0: int main() {return 0;}" HAVE___INT64) rlm@0: ENDIF() rlm@0: IF(NOT HAVE___INT64) rlm@0: IF(NOT SIZEOF_LONG MATCHES "8") rlm@0: IF(NOT SIZEOF_LONG_LONG MATCHES "8") rlm@0: MESSAGE(FATAL_ERROR "No 64-bit types found, please report!") rlm@0: ENDIF() rlm@0: ENDIF() rlm@0: ENDIF() rlm@0: ENDIF() rlm@0: rlm@0: # Windows needs winmm for timeGetTime, even if the backend is disabled rlm@0: CHECK_SHARED_FUNCTION_EXISTS(timeGetTime "windows.h;mmsystem.h" winmm "" HAVE_LIBWINMM) rlm@0: IF(HAVE_LIBWINMM) rlm@0: SET(EXTRA_LIBS winmm ${EXTRA_LIBS}) rlm@0: SET(PKG_CONFIG_LIBS ${PKG_CONFIG_LIBS} -lwinmm) rlm@0: ENDIF() rlm@0: rlm@0: rlm@0: SET(OPENAL_OBJS OpenAL32/alAuxEffectSlot.c rlm@0: OpenAL32/alBuffer.c rlm@0: OpenAL32/alEffect.c rlm@0: OpenAL32/alError.c rlm@0: OpenAL32/alExtension.c rlm@0: OpenAL32/alFilter.c rlm@0: OpenAL32/alListener.c rlm@0: OpenAL32/alSource.c rlm@0: OpenAL32/alState.c rlm@0: OpenAL32/alThunk.c rlm@0: ) rlm@0: SET(ALC_OBJS Alc/ALc.c rlm@0: Alc/ALu.c rlm@0: Alc/alcConfig.c rlm@0: Alc/alcDedicated.c rlm@0: Alc/alcEcho.c rlm@0: Alc/alcModulator.c rlm@0: Alc/alcReverb.c rlm@0: Alc/alcRing.c rlm@0: Alc/alcThread.c rlm@0: Alc/bs2b.c rlm@0: Alc/helpers.c rlm@0: Alc/hrtf.c rlm@0: Alc/mixer.c rlm@0: Alc/panning.c rlm@0: # Default backends, always available rlm@0: Alc/backends/loopback.c rlm@0: Alc/backends/null.c rlm@0: # RLM: add send device rlm@0: Alc/backends/send.c rlm@0: ) rlm@0: rlm@0: SET(BACKENDS "") rlm@0: rlm@0: rlm@0: rlm@0: SET(ALC_OBJS ${ALC_OBJS} Alc/backends/send.c) rlm@0: SET(BACKENDS "${BACKENDS} Send,") rlm@0: rlm@0: rlm@0: # This is always available rlm@0: SET(BACKENDS "${BACKENDS} Null") rlm@0: rlm@0: IF(LIBTYPE STREQUAL "STATIC") rlm@0: ADD_DEFINITIONS(-DAL_LIBTYPE_STATIC) rlm@0: SET(PKG_CONFIG_CFLAGS -DAL_LIBTYPE_STATIC ${PKG_CONFIG_CFLAGS}) rlm@0: ENDIF() rlm@0: rlm@0: # Needed for openal.pc.in rlm@0: SET(prefix ${CMAKE_INSTALL_PREFIX}) rlm@0: SET(exec_prefix "\${prefix}") rlm@0: SET(libdir "\${exec_prefix}/lib${LIB_SUFFIX}") rlm@0: SET(bindir "\${exec_prefix}/bin") rlm@0: SET(includedir "\${prefix}/include") rlm@0: SET(PACKAGE_VERSION "${LIB_VERSION}") rlm@0: rlm@0: # End configuration rlm@0: CONFIGURE_FILE( rlm@0: "${OpenAL_SOURCE_DIR}/config.h.in" rlm@0: "${OpenAL_BINARY_DIR}/config.h") rlm@0: CONFIGURE_FILE( rlm@0: "${OpenAL_SOURCE_DIR}/openal.pc.in" rlm@0: "${OpenAL_BINARY_DIR}/openal.pc" rlm@0: @ONLY) rlm@0: rlm@0: # Build a library rlm@0: ADD_LIBRARY(${LIBNAME} ${LIBTYPE} ${OPENAL_OBJS} ${ALC_OBJS}) rlm@0: SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES DEFINE_SYMBOL AL_BUILD_LIBRARY rlm@0: COMPILE_FLAGS -DAL_ALEXT_PROTOTYPES rlm@0: VERSION ${LIB_VERSION}.0 rlm@0: SOVERSION ${LIB_MAJOR_VERSION}) rlm@0: IF(WIN32 AND NOT LIBTYPE STREQUAL "STATIC") rlm@0: SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES PREFIX "") rlm@0: ENDIF() rlm@0: rlm@0: rlm@11: # RLM: link java rlm@8: find_package (JNI REQUIRED) rlm@8: if (JNI_FOUND) rlm@8: include_directories(${JNI_INCLUDE_DIRS}) rlm@8: endif (JNI_FOUND) rlm@8: rlm@0: TARGET_LINK_LIBRARIES(${LIBNAME} ${EXTRA_LIBS}) rlm@0: rlm@0: # Add an install target here rlm@0: INSTALL(TARGETS ${LIBNAME} rlm@0: RUNTIME DESTINATION bin rlm@0: LIBRARY DESTINATION "lib${LIB_SUFFIX}" rlm@0: ARCHIVE DESTINATION "lib${LIB_SUFFIX}" rlm@0: ) rlm@0: INSTALL(FILES include/AL/al.h rlm@0: include/AL/alc.h rlm@0: include/AL/alext.h rlm@0: include/AL/efx.h rlm@0: include/AL/efx-creative.h rlm@0: DESTINATION include/AL rlm@0: ) rlm@0: INSTALL(FILES "${OpenAL_BINARY_DIR}/openal.pc" rlm@0: DESTINATION "lib${LIB_SUFFIX}/pkgconfig") rlm@0: rlm@0: rlm@0: MESSAGE(STATUS "") rlm@0: MESSAGE(STATUS "Building OpenAL with support for the following backends:") rlm@0: MESSAGE(STATUS " ${BACKENDS}") rlm@0: MESSAGE(STATUS "") rlm@0: rlm@0: rlm@0: IF(UTILS) rlm@0: ADD_EXECUTABLE(openal-info utils/openal-info.c) rlm@0: TARGET_LINK_LIBRARIES(openal-info ${LIBNAME}) rlm@0: INSTALL(TARGETS openal-info rlm@0: RUNTIME DESTINATION bin rlm@0: LIBRARY DESTINATION "lib${LIB_SUFFIX}" rlm@0: ARCHIVE DESTINATION "lib${LIB_SUFFIX}" rlm@0: ) rlm@0: MESSAGE(STATUS "Building utility programs") rlm@0: MESSAGE(STATUS "") rlm@0: ENDIF() rlm@0: rlm@0: