summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/cmake/CMakeLists.txt1
-rw-r--r--indra/cmake/Copy3rdPartyLibs.cmake37
-rw-r--r--indra/cmake/FMOD.cmake78
-rw-r--r--indra/cmake/FindFMOD.cmake44
-rw-r--r--indra/newview/CMakeLists.txt4
-rw-r--r--indra/newview/viewer_manifest.py12
-rw-r--r--install.xml12
7 files changed, 86 insertions, 102 deletions
diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt
index 4fc25dcc24..6470836286 100644
--- a/indra/cmake/CMakeLists.txt
+++ b/indra/cmake/CMakeLists.txt
@@ -26,6 +26,7 @@ set(cmake_SOURCE_FILES
FindBerkeleyDB.cmake
FindCARes.cmake
FindELFIO.cmake
+ FindFMOD.cmake
FindGooglePerfTools.cmake
FindMono.cmake
FindMT.cmake
diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake
index 95ed5d6bc8..e852cf463c 100644
--- a/indra/cmake/Copy3rdPartyLibs.cmake
+++ b/indra/cmake/Copy3rdPartyLibs.cmake
@@ -55,9 +55,10 @@ if(WINDOWS)
set(release_files ${release_files} libtcmalloc_minimal.dll)
endif(USE_GOOGLE_PERFTOOLS)
- if (FMOD_SDK_DIR)
- set(fmod_files fmod.dll)
- endif (FMOD_SDK_DIR)
+ if (FMOD)
+ set(debug_files ${debug_files} fmod.dll)
+ set(release_files ${release_files} fmod.dll)
+ endif (FMOD)
#*******************************
# LLKDU
@@ -237,9 +238,9 @@ elseif(LINUX)
libssl.so.0.9.7
)
- if (FMOD_SDK_DIR)
- set(fmod_files "libfmod-3.75.so")
- endif (FMOD_SDK_DIR)
+ if (FMOD)
+ set(release_files ${release_files} "libfmod-3.75.so")
+ endif (FMOD)
#*******************************
# LLKDU
@@ -333,30 +334,6 @@ copy_if_different(
)
set(third_party_targets ${third_party_targets} ${out_targets})
-if (FMOD_SDK_DIR)
- copy_if_different(
- ${FMOD_SDK_DIR}
- "${CMAKE_CURRENT_BINARY_DIR}/Debug"
- out_targets
- ${fmod_files}
- )
- set(all_targets ${all_targets} ${out_targets})
- copy_if_different(
- ${FMOD_SDK_DIR}
- "${CMAKE_CURRENT_BINARY_DIR}/Release"
- out_targets
- ${fmod_files}
- )
- set(all_targets ${all_targets} ${out_targets})
- copy_if_different(
- ${FMOD_SDK_DIR}
- "${CMAKE_CURRENT_BINARY_DIR}/RelWithDbgInfo"
- out_targets
- ${fmod_files}
- )
- set(all_targets ${all_targets} ${out_targets})
-endif (FMOD_SDK_DIR)
-
#*******************************
# LLKDU
set(internal_llkdu_path "${CMAKE_SOURCE_DIR}/llkdu")
diff --git a/indra/cmake/FMOD.cmake b/indra/cmake/FMOD.cmake
index 759b8f1340..96434e38fa 100644
--- a/indra/cmake/FMOD.cmake
+++ b/indra/cmake/FMOD.cmake
@@ -1,64 +1,24 @@
# -*- cmake -*-
-include(Linking)
-
-if(INSTALL_PROPRIETARY)
- include(Prebuilt)
- use_prebuilt_binary(fmod)
-endif(INSTALL_PROPRIETARY)
-
-find_library(FMOD_LIBRARY_RELEASE
- NAMES fmod fmodvc fmod-3.75
- PATHS
- ${ARCH_PREBUILT_DIRS_RELEASE}
- )
-
-find_library(FMOD_LIBRARY_DEBUG
- NAMES fmod fmodvc fmod-3.75
- PATHS
- ${ARCH_PREBUILT_DIRS_DEBUG}
- )
-
-if (FMOD_LIBRARY_RELEASE AND FMOD_LIBRARY_DEBUG)
- set(FMOD_LIBRARY
- debug ${FMOD_LIBRARY_DEBUG}
- optimized ${FMOD_LIBRARY_RELEASE})
-elseif (FMOD_LIBRARY_RELEASE)
- set(FMOD_LIBRARY ${FMOD_LIBRARY_RELEASE})
-endif (FMOD_LIBRARY_RELEASE AND FMOD_LIBRARY_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
- ${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)
+set(FMOD ON CACHE BOOL "Use FMOD sound library.")
if (FMOD)
- message(STATUS "Building with FMOD audio support")
+ if (STANDALONE)
+ set(FMOD_FIND_REQUIRED ON)
+ include(FindFMOD)
+ else (STANDALONE)
+ include(Prebuilt)
+ use_prebuilt_binary(fmod)
+
+ if (WINDOWS)
+ set(FMOD_LIBRARY fmod)
+ elseif (DARWIN)
+ set(FMOD_LIBRARY fmod)
+ elseif (LINUX)
+ set(FMOD_LIBRARY fmod-3.75)
+ endif (WINDOWS)
+
+ SET(FMOD_LIBRARIES ${FMOD_LIBRARY})
+ set(FMOD_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include)
+ endif (STANDALONE)
endif (FMOD)
diff --git a/indra/cmake/FindFMOD.cmake b/indra/cmake/FindFMOD.cmake
new file mode 100644
index 0000000000..e60b386027
--- /dev/null
+++ b/indra/cmake/FindFMOD.cmake
@@ -0,0 +1,44 @@
+# -*- cmake -*-
+
+# - Find FMOD
+# Find the FMOD includes and library
+# This module defines
+# FMOD_INCLUDE_DIR, where to find fmod.h and fmod_errors.h
+# FMOD_LIBRARIES, the libraries needed to use FMOD.
+# FMOD, If false, do not try to use FMOD.
+# also defined, but not for general use are
+# FMOD_LIBRARY, where to find the FMOD library.
+
+FIND_PATH(FMOD_INCLUDE_DIR fmod.h PATH_SUFFIXES fmod)
+
+SET(FMOD_NAMES ${FMOD_NAMES} fmod fmodvc fmod-3.75)
+FIND_LIBRARY(FMOD_LIBRARY
+ NAMES ${FMOD_NAMES}
+ PATH_SUFFIXES fmod
+ )
+
+IF (FMOD_LIBRARY AND FMOD_INCLUDE_DIR)
+ SET(FMOD_LIBRARIES ${FMOD_LIBRARY})
+ SET(FMOD_FOUND "YES")
+ELSE (FMOD_LIBRARY AND FMOD_INCLUDE_DIR)
+ SET(FMOD_FOUND "NO")
+ENDIF (FMOD_LIBRARY AND FMOD_INCLUDE_DIR)
+
+IF (FMOD_FOUND)
+ IF (NOT FMOD_FIND_QUIETLY)
+ MESSAGE(STATUS "Found FMOD: ${FMOD_LIBRARIES}")
+ ENDIF (NOT FMOD_FIND_QUIETLY)
+ELSE (FMOD_FOUND)
+ IF (FMOD_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR "Could not find FMOD library")
+ ENDIF (FMOD_FIND_REQUIRED)
+ENDIF (FMOD_FOUND)
+
+# Deprecated declarations.
+SET (NATIVE_FMOD_INCLUDE_PATH ${FMOD_INCLUDE_DIR} )
+GET_FILENAME_COMPONENT (NATIVE_FMOD_LIB_PATH ${FMOD_LIBRARY} PATH)
+
+MARK_AS_ADVANCED(
+ FMOD_LIBRARY
+ FMOD_INCLUDE_DIR
+ )
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index bd2489769a..c35aaa8bf5 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -1477,6 +1477,9 @@ if (WINDOWS)
${SHARED_LIB_STAGING_DIR}/Release/openjpeg.dll
${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/openjpeg.dll
${SHARED_LIB_STAGING_DIR}/Debug/openjpegd.dll
+ ${SHARED_LIB_STAGING_DIR}/Release/fmod.dll
+ ${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/fmod.dll
+ ${SHARED_LIB_STAGING_DIR}/Debug/fmod.dll
${SHARED_LIB_STAGING_DIR}/Release/msvcr80.dll
${SHARED_LIB_STAGING_DIR}/Release/msvcp80.dll
${SHARED_LIB_STAGING_DIR}/Release/Microsoft.VC80.CRT.manifest
@@ -1498,7 +1501,6 @@ if (WINDOWS)
${CMAKE_CURRENT_SOURCE_DIR}/featuretable.txt
${CMAKE_CURRENT_SOURCE_DIR}/featuretable_xp.txt
${CMAKE_CURRENT_SOURCE_DIR}/dbghelp.dll
- ${CMAKE_CURRENT_SOURCE_DIR}/fmod.dll
${ARCH_PREBUILT_DIRS_RELEASE}/libeay32.dll
${ARCH_PREBUILT_DIRS_RELEASE}/qtcore4.dll
${ARCH_PREBUILT_DIRS_RELEASE}/qtgui4.dll
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 648366fa4c..6861f02bfb 100644
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -271,6 +271,12 @@ class WindowsManifest(ViewerManifest):
self.disable_manifest_check()
+ # Get fmod dll, continue if missing
+ try:
+ self.path("fmod.dll")
+ except:
+ print "Skipping fmod.dll"
+
# For textures
if self.args['configuration'].lower() == 'debug':
self.path("openjpegd.dll")
@@ -315,12 +321,6 @@ class WindowsManifest(ViewerManifest):
# For use in crash reporting (generates minidumps)
self.path("dbghelp.dll")
- try:
- # FMOD for sound
- self.path("fmod.dll")
- except:
- print "Skipping FMOD - not found"
-
self.enable_no_crt_manifest_check()
# Media plugins - QuickTime
diff --git a/install.xml b/install.xml
index 5a9d704191..391d83b224 100644
--- a/install.xml
+++ b/install.xml
@@ -366,23 +366,23 @@
<key>darwin</key>
<map>
<key>md5sum</key>
- <string>c7e317bec481b7efa2a0319e163dcc65</string>
+ <string>261bcd3387066cf0a1d46549400052b5</string>
<key>url</key>
- <uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/fmod-3.75-darwin-20080818.tar.bz2</uri>
+ <uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/fmod-3.75-darwin-20101007.tar.bz2</uri>
</map>
<key>linux</key>
<map>
<key>md5sum</key>
- <string>abd2b4ba4ac993f19d82804af387eb7c</string>
+ <string>8490d97430c12c2e1ac19ff80a8d4db4</string>
<key>url</key>
- <uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/fmod-3.75-linux-20080818.tar.bz2</uri>
+ <uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/fmod-3.75-linux-20101007.tar.bz2</uri>
</map>
<key>windows</key>
<map>
<key>md5sum</key>
- <string>1a55dec2907821f5f785648a660126c3</string>
+ <string>bab1babcb01ff9849b7f072d352e1ecd</string>
<key>url</key>
- <uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/fmod-3.75-windows-20080611.tar.bz2</uri>
+ <uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/fmod-3.75-windows-20101007.tar.bz2</uri>
</map>
</map>
</map>