From 55089fda95d006ea9da0b1e8c4c2d2fb75d650c7 Mon Sep 17 00:00:00 2001 From: kestred Date: Mon, 9 Dec 2013 03:30:49 -0700 Subject: [PATCH] CMake: Configure: Add FMOD Ex support. --- cmake/modules/FindFMODEx.cmake | 96 ++++++++++++++++++++++++++++++++++ dtool/Configure.cmake | 18 +++---- 2 files changed, 104 insertions(+), 10 deletions(-) create mode 100644 cmake/modules/FindFMODEx.cmake diff --git a/cmake/modules/FindFMODEx.cmake b/cmake/modules/FindFMODEx.cmake new file mode 100644 index 0000000000..ce624e41bf --- /dev/null +++ b/cmake/modules/FindFMODEx.cmake @@ -0,0 +1,96 @@ +# Filename: FindFMODEx.cmake +# Author: kestred (8 Dec, 2013) +# +# Usage: +# find_package(FMODEx [REQUIRED] [QUIET]) +# +# It sets the following variables: +# FOUND_FMODEX - system has FMOD Ex +# FMODEX_IPATH - the FMOD Ex include directory +# FMODEX_LPATH - the FMOD Ex library directory +# FMODEX_LIBS - the FMOD Ex components found +# + +if(FMODEX_LPATH AND FMODEX_IPATH) + # If its cached, we don't need to refind it + set(FOUND_FMODEX TRUE) + + if(FMODEX_32_LIBRARY) + set(FMODEX_LIBS fmodex) + elseif(FMODEX_64_LIBRARY) + set(FMODEX_LIBS fmodex64) + endif() +else() + # Find the include directory + find_path(FMODEX_IPATH + NAMES "fmod.h" + PATHS "/usr/include" + "/usr/local/include" + "/sw/include" + "/opt/include" + "/opt/local/include" + "/opt/csw/include" + "/opt/fmodex/include" + "/opt/fmodex/api/inc" + "C:/Program Files (x86)/FMOD SoundSystem/FMOD Programmers API Win32/api/inc" + PATH_SUFFIXES "" "fmodex/fmod" "fmodex/fmod3" "fmod" "fmod3" + DOC "The path to FMOD Ex's include directory." + ) + + # Find the 32-bit library + find_library(FMODEX_32_LIBRARY + NAMES "fmodex_vc" "fmodex_bc" "fmodex" "fmodexL" "libfmodex" "libfmodexL" + PATHS "/usr" + "/usr/local" + "/usr/X11R6" + "/usr/local/X11R6" + "/sw" + "/opt" + "/opt/local" + "/opt/csw" + "/opt/fmodex" + "/opt/fmodex/api" + "C:/Program Files (x86)/FMOD SoundSystem/FMOD Programmers API Win32/api/lib" + PATH_SUFFIXES "" "lib" "lib32" + ) + + # Find the 64-bit library + find_library(FMODEX_64_LIBRARY + NAMES "fmodex64" "libfmodex64" "fmodexL64" "libfmodexL64" + PATHS "/usr" + "/usr/local" + "/usr/X11R6" + "/usr/local/X11R6" + "/sw" + "/opt" + "/opt/local" + "/opt/csw" + "/opt/fmodex" + "/opt/fmodex/api" + "/usr/freeware" + PATH_SUFFIXES "" "lib" "lib64" + ) + + if(FMODEX_32_LIBRARY) + set(FMODEX_LIBRARY ${FMODEX_32_LIBRARY}) + set(FMODEX_LIBS fmodex) + elseif(FMODEX_64_LIBRARY) + set(FMODEX_LIBRARY ${FMODEX_64_LIBRARY}) + set(FMODEX_LIBS fmodex64) + endif() + + get_filename_component(FMODEX_LIBRARY_DIR "${FMODEX_LIBRARY}" PATH) + set(FMODEX_LPATH "${FMODEX_LIBRARY_DIR}" CACHE PATH "The path to FMOD Ex's library directory.") + + # Check if we have everything we need + if(FMODEX_IPATH AND FMODEX_LPATH) + set(FOUND_FMODEX TRUE) + endif() + + mark_as_advanced(FMODEX_IPATH) + mark_as_advanced(FMODEX_LPATH) + mark_as_advanced(FMODEX_32_LIBRARY) + mark_as_advanced(FMODEX_64_LIBRARY) + unset(FMODEX_LIBRARY_DIR) + unset(FMODEX_LIBRARY CACHE) +endif() diff --git a/dtool/Configure.cmake b/dtool/Configure.cmake index 4a34453108..d5f7410a33 100644 --- a/dtool/Configure.cmake +++ b/dtool/Configure.cmake @@ -85,24 +85,22 @@ find_package(VRPN) config_package(VRPN) # Find and configure zlib -find_package(ZLIB) +find_package(ZLIB QUIET COMPONENTS z) mangle_package(ZLIB) config_package(ZLIB COMMENT "zlib") - - - -######## -# TODO # -######## - # Find and configure Miles Sound System find_package(Miles) config_package(RAD_MSS COMMENT "Miles Sound System") # Find and configure FMOD Ex -#find_package(FMODEX) -#config_package(FMODEX COMMENT "FMOD Ex sound library") +find_package(FMODEx) +config_package(FMODEX COMMENT "FMOD Ex sound library") + + +######## +# TODO # +######## # Find and configure OpenAL #find_package(OpenAL)