[Audio] Make Fmod cooperate with the new PCH shiny. Also fixes OpenAL in Windows.

This commit is contained in:
Router Gray
2019-10-21 19:07:49 -05:00
parent 2ba3ff852c
commit e3d69b4d8e
6 changed files with 40 additions and 21 deletions

View File

@@ -86,6 +86,11 @@ if(WINDOWS)
set(release_files ${release_files} libtcmalloc_minimal.dll)
endif(NOT DISABLE_TCMALLOC)
if(OPENAL)
set(debug_files ${debug_files} alut.dll OpenAL32.dll)
set(release_files ${release_files} alut.dll OpenAL32.dll)
endif(OPENAL)
if (FMODSTUDIO)
set(debug_files ${debug_files} fmodL.dll)
set(release_files ${release_files} fmod.dll)

View File

@@ -30,22 +30,21 @@ if (FMODSTUDIO)
optimized ${FMOD_LINK_LIBRARY_RELEASE}
)
set(FMOD_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/fmodstudio)
set(FMODSTUDIO_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/fmodstudio)
endif(FMODSTUDIO)
if(FMOD_LIBRARY_RELEASE AND FMOD_INCLUDE_DIR)
if(FMOD_LIBRARY_RELEASE AND FMODSTUDIO_INCLUDE_DIR)
set(FMOD ON)
if (NOT FMOD_LIBRARY_DEBUG) #Use release library in debug configuration if debug library is absent.
set(FMOD_LIBRARY_DEBUG ${FMOD_LIBRARY_RELEASE})
endif (NOT FMOD_LIBRARY_DEBUG)
else (FMOD_LIBRARY_RELEASE AND FMOD_INCLUDE_DIR)
else (FMOD_LIBRARY_RELEASE AND FMODSTUDIO_INCLUDE_DIR)
message(STATUS "No support for FMOD Studio audio (need to set FMODSTUDIO_SDK_DIR?)")
set(FMOD OFF)
set(FMODSTUDIO OFF)
endif (FMOD_LIBRARY_RELEASE AND FMOD_INCLUDE_DIR)
endif (FMOD_LIBRARY_RELEASE AND FMODSTUDIO_INCLUDE_DIR)
if (FMOD)
message(STATUS "Building with FMOD Studio audio support")
set(LLSTARTUP_COMPILE_FLAGS "${LLSTARTUP_COMPILE_FLAGS} -DLL_FMODSTUDIO=1")
endif (FMOD)

View File

@@ -2,7 +2,6 @@
include(Linking)
include(Prebuilt)
if(NOT FMOD)
if (LINUX)
set(OPENAL ON CACHE BOOL "Enable OpenAL")
else (LINUX)
@@ -10,6 +9,7 @@ else (LINUX)
endif (LINUX)
if (OPENAL)
set(OPENAL_LIB_INCLUDE_DIRS "${LIBS_PREBUILT_DIR}/include/AL")
if (STANDALONE)
include(FindPkgConfig)
include(FindOpenAL)
@@ -18,15 +18,16 @@ if (OPENAL)
else (STANDALONE)
use_prebuilt_binary(openal)
endif (STANDALONE)
if(WINDOWS)
set(OPENAL_LIBRARIES
openal
OpenAL32
alut
)
set(OPENAL_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include)
endif (OPENAL)
if (OPENAL)
else()
set(OPENAL_LIBRARIES
openal
alut
)
endif()
message(STATUS "Building with OpenAL audio support")
set(LLSTARTUP_COMPILE_FLAGS "${LLSTARTUP_COMPILE_FLAGS} -DLL_OPENAL")
endif (OPENAL)
endif(NOT FMOD)

View File

@@ -3,8 +3,6 @@
project(llaudio)
include(00-Common)
include(Audio)
include(LLAudio)
include(FMODSTUDIO)
include(OPENAL)
include(LLCommon)
@@ -12,10 +10,6 @@ include(LLMath)
include(LLMessage)
include(LLVFS)
if (FMOD)
include_directories(${FMOD_INCLUDE_DIR})
endif(FMOD)
include_directories(
${LLAUDIO_INCLUDE_DIRS}
${LLCOMMON_INCLUDE_DIRS}
@@ -26,7 +20,7 @@ include_directories(
${VORBISENC_INCLUDE_DIRS}
${VORBISFILE_INCLUDE_DIRS}
${VORBIS_INCLUDE_DIRS}
${OPENAL_INCLUDE_DIRS}
${OPENAL_LIB_INCLUDE_DIRS}
${FREEAULT_LIB_INCLUDE_DIRS}
)
@@ -50,6 +44,9 @@ set(llaudio_HEADER_FILES
)
if (FMODSTUDIO)
include_directories(
${FMODSTUDIO_INCLUDE_DIR}
)
list(APPEND llaudio_SOURCE_FILES
llaudioengine_fmodstudio.cpp
lllistener_fmodstudio.cpp

View File

@@ -49,6 +49,10 @@ include(WinManifest)
include(ZLIB)
include(URIPARSER)
if(FMODSTUDIO)
include_directories(${FMODSTUDIO_INCLUDE_DIR})
endif(FMODSTUDIO)
include_directories(
${STATEMACHINE_INCLUDE_DIRS}
${DBUSGLIB_INCLUDE_DIRS}
@@ -71,6 +75,7 @@ include_directories(
${LLWINDOW_INCLUDE_DIRS}
${LLXML_INCLUDE_DIRS}
${HUNSPELL_INCLUDE_DIR}
${OPENAL_LIB_INCLUDE_DIRS}
${LLAPPEARANCE_INCLUDE_DIRS}
${CMAKE_CURRENT_SOURCE_DIR}
)
@@ -1422,7 +1427,15 @@ if (WINDOWS)
list(APPEND viewer_SOURCE_FILES ${viewer_INSTALLER_FILES})
endif (WINDOWS)
set_source_files_properties(llstartup.cpp PROPERTIES COMPILE_FLAGS "${LLSTARTUP_COMPILE_FLAGS}")
if (OPENAL)
list(APPEND LLSTARTUP_COMPILE_DEFINITIONS "LL_OPENAL=1")
endif (OPENAL)
if (FMODSTUDIO)
list(APPEND LLSTARTUP_COMPILE_DEFINITIONS "LL_FMODSTUDIO=1")
endif (FMODSTUDIO)
set_source_files_properties(llstartup.cpp PROPERTIES COMPILE_DEFINITIONS "${LLSTARTUP_COMPILE_DEFINITIONS}")
if (LIBVLCPLUGIN)
set_source_files_properties(llfloaterabout.cpp PROPERTIES COMPILE_DEFINITIONS "VLCPLUGIN=1")

View File

@@ -477,6 +477,10 @@ class WindowsManifest(ViewerManifest):
if self.path("fmod.dll") == 0:
print "Skipping fmodstudio audio library(assuming other audio engine)"
# Get OpenAL dlls, continue if missing
if self.path("alut.dll","OpenAL32.dll") == 0:
print "Skipping OpenAL audio library (assuming other audio engine)"
# Vivox runtimes
self.path("SLVoice.exe")
if (self.address_size == 64):