Add FMOD Studio support
This commit is contained in:
@@ -29,8 +29,8 @@ set(cmake_SOURCE_FILES
|
||||
ELFIO.cmake
|
||||
EXPAT.cmake
|
||||
ExamplePlugin.cmake
|
||||
FMOD.cmake
|
||||
FMODEX.cmake
|
||||
FMODSTUDIO.cmake
|
||||
FindAPR.cmake
|
||||
FindBerkeleyDB.cmake
|
||||
FindCARes.cmake
|
||||
|
||||
@@ -233,6 +233,29 @@ if(WORD_SIZE EQUAL 32)
|
||||
)
|
||||
endif(WORD_SIZE EQUAL 32)
|
||||
|
||||
if(FMODSTUDIO)
|
||||
if (WORD_SIZE EQUAL 32)
|
||||
set(fmodstudio_dll_file "fmod.dll")
|
||||
else (WORD_SIZE EQUAL 32)
|
||||
set(fmodstudio_dll_file "fmod64.dll")
|
||||
endif (WORD_SIZE EQUAL 32)
|
||||
|
||||
find_path(FMODSTUDIO_BINARY_DIR "${fmodstudio_dll_file}"
|
||||
"${release_src_dir}"
|
||||
"${FMODSTUDIO_SDK_DIR}/api/lowlevel/lib"
|
||||
"${FMODSTUDIO_SDK_DIR}"
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
if(FMODSTUDIO_BINARY_DIR)
|
||||
copy_if_different("${FMODSTUDIO_BINARY_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/Release" out_targets "${fmodstudio_dll_file}")
|
||||
set(all_targets ${all_targets} ${out_targets})
|
||||
copy_if_different("${FMODSTUDIO_BINARY_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo" out_targets "${fmodstudio_dll_file}")
|
||||
set(all_targets ${all_targets} ${out_targets})
|
||||
copy_if_different("${FMODSTUDIO_BINARY_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/Debug" out_targets "${fmodstudio_dll_file}")
|
||||
set(all_targets ${all_targets} ${out_targets})
|
||||
endif(FMODSTUDIO_BINARY_DIR)
|
||||
endif(FMODSTUDIO)
|
||||
|
||||
if(FMODEX)
|
||||
if (WORD_SIZE EQUAL 32)
|
||||
@@ -258,25 +281,6 @@ if(FMODEX)
|
||||
endif(FMODEX_BINARY_DIR)
|
||||
endif(FMODEX)
|
||||
|
||||
if(FMOD)
|
||||
find_path(FMOD_BINARY_DIR fmod.dll
|
||||
${release_src_dir}
|
||||
${FMOD_SDK_DIR}/api
|
||||
${FMOD_SDK_DIR}
|
||||
)
|
||||
|
||||
if(FMOD_BINARY_DIR)
|
||||
copy_if_different("${FMOD_BINARY_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/Release" out_targets fmod.dll)
|
||||
set(all_targets ${all_targets} ${out_targets})
|
||||
copy_if_different("${FMOD_BINARY_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo" out_targets fmod.dll)
|
||||
set(all_targets ${all_targets} ${out_targets})
|
||||
copy_if_different("${FMOD_BINARY_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/Debug" out_targets fmod.dll)
|
||||
set(all_targets ${all_targets} ${out_targets})
|
||||
else(FMOD_BINARY_DIR)
|
||||
list(APPEND release_files fmod.dll) #Required for compile. This will cause an error in copying binaries.
|
||||
endif(FMOD_BINARY_DIR)
|
||||
endif(FMOD)
|
||||
|
||||
copy_if_different(
|
||||
${release_src_dir}
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/Release"
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
# -*- cmake -*-
|
||||
|
||||
include(Linking)
|
||||
|
||||
if(INSTALL_PROPRIETARY)
|
||||
include(Prebuilt)
|
||||
use_prebuilt_binary(fmod)
|
||||
endif(INSTALL_PROPRIETARY)
|
||||
|
||||
find_library(FMOD_LIBRARY
|
||||
NAMES fmod fmodvc fmod-3.75
|
||||
PATHS
|
||||
optimized ${ARCH_PREBUILT_DIRS_RELEASE}
|
||||
debug ${ARCH_PREBUILT_DIRS_DEBUG}
|
||||
)
|
||||
|
||||
if (NOT FMOD_LIBRARY)
|
||||
set(FMOD_SDK_DIR CACHE PATH "Path to the FMOD SDK.")
|
||||
if (FMOD_SDK_DIR)
|
||||
find_library(FMOD_LIBRARY
|
||||
NAMES fmodvc fmod-3.75 fmod
|
||||
PATHS
|
||||
${FMOD_SDK_DIR}/api/lib
|
||||
${FMOD_SDK_DIR}/api
|
||||
${FMOD_SDK_DIR}/lib
|
||||
${FMOD_SDK_DIR}
|
||||
)
|
||||
endif (FMOD_SDK_DIR)
|
||||
endif (NOT FMOD_LIBRARY)
|
||||
|
||||
find_path(FMOD_INCLUDE_DIR fmod.h
|
||||
${LIBS_PREBUILT_DIR}/include
|
||||
${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include
|
||||
${FMOD_SDK_DIR}/api/inc
|
||||
${FMOD_SDK_DIR}/inc
|
||||
${FMOD_SDK_DIR}
|
||||
)
|
||||
|
||||
if (FMOD_LIBRARY AND FMOD_INCLUDE_DIR)
|
||||
set(FMOD ON CACHE BOOL "Use closed source FMOD sound library.")
|
||||
else (FMOD_LIBRARY AND FMOD_INCLUDE_DIR)
|
||||
set(FMOD_LIBRARY "")
|
||||
set(FMOD_INCLUDE_DIR "")
|
||||
if (FMOD)
|
||||
message(STATUS "No support for FMOD audio (need to set FMOD_SDK_DIR?)")
|
||||
endif (FMOD)
|
||||
set(FMOD OFF CACHE BOOL "Use closed source FMOD sound library.")
|
||||
endif (FMOD_LIBRARY AND FMOD_INCLUDE_DIR)
|
||||
|
||||
if (FMOD)
|
||||
message(STATUS "Building with FMOD audio support")
|
||||
endif (FMOD)
|
||||
@@ -2,6 +2,10 @@
|
||||
|
||||
include(Linking)
|
||||
|
||||
if (FMODEX AND FMODSTUDIO)
|
||||
message( FATAL_ERROR "You can not enable two FMOD variants at the same time." )
|
||||
endif (FMODEX AND FMODSTUDIO)
|
||||
|
||||
if (NOT FMODEX_LIBRARY)
|
||||
set(FMODEX_SDK_DIR CACHE PATH "Path to the FMOD Ex SDK.")
|
||||
if (FMODEX_SDK_DIR)
|
||||
|
||||
83
indra/cmake/FMODSTUDIO.cmake
Normal file
83
indra/cmake/FMODSTUDIO.cmake
Normal file
@@ -0,0 +1,83 @@
|
||||
# -*- cmake -*-
|
||||
|
||||
include(Linking)
|
||||
|
||||
if (FMODEX AND FMODSTUDIO)
|
||||
message( FATAL_ERROR "You can not enable two FMOD variants at the same time." )
|
||||
endif (FMODEX AND FMODSTUDIO)
|
||||
|
||||
if (NOT FMODSTUDIO_LIBRARY)
|
||||
set(FMODSTUDIO_SDK_DIR CACHE PATH "Path to the FMOD Ex SDK.")
|
||||
if (FMODSTUDIO_SDK_DIR)
|
||||
if(WORD_SIZE EQUAL 32)
|
||||
find_library(FMODSTUDIO_LIBRARY
|
||||
fmod_vc fmodL_vc fmod fmodL
|
||||
PATHS
|
||||
"${FMODSTUDIO_SDK_DIR}/api/lowlevel/lib"
|
||||
"${FMODSTUDIO_SDK_DIR}/api/lowlevel"
|
||||
"${FMODSTUDIO_SDK_DIR}"
|
||||
)
|
||||
elseif(WORD_SIZE EQUAL 64)
|
||||
find_library(FMODSTUDIO_LIBRARY
|
||||
fmod64_vc fmodL64_vc fmod64 fmodL64
|
||||
PATHS
|
||||
"${FMODSTUDIO_SDK_DIR}/api/lowlevel/lib"
|
||||
"${FMODSTUDIO_SDK_DIR}/api/lowlevel"
|
||||
"${FMODSTUDIO_SDK_DIR}"
|
||||
)
|
||||
endif(WORD_SIZE EQUAL 32)
|
||||
endif(FMODSTUDIO_SDK_DIR)
|
||||
if(WINDOWS AND NOT FMODSTUDIO_SDK_DIR)
|
||||
GET_FILENAME_COMPONENT(FMODSTUDIO_PROG_DIR [HKEY_CURRENT_USER\\Software\\FMOD\ Studio\ API\ Windows] ABSOLUTE CACHE)
|
||||
if(WORD_SIZE EQUAL 32)
|
||||
find_library(FMODSTUDIO_LIBRARY
|
||||
fmod_vc fmodL_vc
|
||||
PATHS
|
||||
"${FMODSTUDIO_PROG_DIR}/api/lowlevel/lib"
|
||||
"${FMODSTUDIO_PROG_DIR}/api/lowlevel"
|
||||
"${FMODSTUDIO_PROG_DIR}"
|
||||
)
|
||||
else(WORD_SIZE EQUAL 32)
|
||||
find_library(FMODSTUDIO_LIBRARY
|
||||
fmod64_vc fmodL64_vc
|
||||
PATHS
|
||||
"${FMODSTUDIO_PROG_DIR}/api/lowlevel/lib"
|
||||
"${FMODSTUDIO_PROG_DIR}/api/lowlevel"
|
||||
"${FMODSTUDIO_PROG_DIR}"
|
||||
)
|
||||
endif(WORD_SIZE EQUAL 32)
|
||||
if(FMODSTUDIO_LIBRARY)
|
||||
message(STATUS "Found fmodstudio in ${FMODSTUDIO_PROG_DIR}")
|
||||
set(FMODSTUDIO_SDK_DIR "${FMODSTUDIO_PROG_DIR}")
|
||||
set(FMODSTUDIO_SDK_DIR "${FMODSTUDIO_PROG_DIR}" CACHE PATH "Path to the FMOD Studio SDK." FORCE)
|
||||
endif(FMODSTUDIO_LIBRARY)
|
||||
endif(WINDOWS AND NOT FMODSTUDIO_SDK_DIR)
|
||||
endif (NOT FMODSTUDIO_LIBRARY)
|
||||
|
||||
find_path(FMODSTUDIO_INCLUDE_DIR fmod.hpp
|
||||
"${LIBS_PREBUILT_DIR}/include/fmodstudio"
|
||||
"${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/fmodstudio"
|
||||
"${FMODSTUDIO_SDK_DIR}/api/lowlevel/inc"
|
||||
"${FMODSTUDIO_SDK_DIR}"
|
||||
)
|
||||
|
||||
if(DARWIN)
|
||||
set(FMODSTUDIO_ORIG_LIBRARY "${FMODSTUDIO_LIBRARY}")
|
||||
set(FMODSTUDIO_LIBRARY "${CMAKE_CURRENT_BINARY_DIR}/libfmod.dylib")
|
||||
endif(DARWIN)
|
||||
|
||||
if (FMODSTUDIO_LIBRARY AND FMODSTUDIO_INCLUDE_DIR)
|
||||
set(FMODSTUDIO ON CACHE BOOL "Use closed source FMOD Studio sound library.")
|
||||
else (FMODSTUDIO_LIBRARY AND FMODSTUDIO_INCLUDE_DIR)
|
||||
set(FMODSTUDIO_LIBRARY "")
|
||||
set(FMODSTUDIO_INCLUDE_DIR "")
|
||||
if (FMODSTUDIO)
|
||||
message(STATUS "No support for FMOD Studio audio (need to set FMODSTUDIO_SDK_DIR?)")
|
||||
endif (FMODSTUDIO)
|
||||
set(FMODSTUDIO OFF CACHE BOOL "Use closed source FMOD Studio sound library.")
|
||||
set(FMODSTUDIO OFF)
|
||||
endif (FMODSTUDIO_LIBRARY AND FMODSTUDIO_INCLUDE_DIR)
|
||||
|
||||
if (FMODSTUDIO)
|
||||
message(STATUS "Building with FMOD Studio audio support")
|
||||
endif (FMODSTUDIO)
|
||||
Reference in New Issue
Block a user