Skip to content

Commit

Permalink
FMOD import stuff added from Phoenix, should fix win32-vc2005 buildbot
Browse files Browse the repository at this point in the history
  • Loading branch information
N3X15 committed Oct 18, 2010
1 parent d32403f commit aeb2e71
Show file tree
Hide file tree
Showing 4 changed files with 89 additions and 91 deletions.
92 changes: 33 additions & 59 deletions indra/cmake/FMOD.cmake
@@ -1,64 +1,38 @@
# -*- 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)
if (ARCH MATCHES "x86_64")
MESSAGE(FATAL_ERROR "fmod not available for 64-bit. fmod can be disabled by passing -DFMOD=OFF to cmake configure step")
endif (ARCH MATCHES x86_64)
set(FMOD_FIND_REQUIRED ON)
include(FindFMOD)
else (STANDALONE)
include(Prebuilt)
use_prebuilt_binary(fmod)

if (WINDOWS)
set(FMOD_LIBRARY ${CMAKE_SOURCE_DIR}/../fmodapi375win/api/lib/fmodvc.lib)
elseif (DARWIN)
if (ARCH MATCHES "i386")
set(FMOD_LIBRARY ${CMAKE_SOURCE_DIR}/../fmodapi375mac/api/lib/libfmodx86.a)
else (ARCH MATCHES "i386")
set(FMOD_LIBRARY ${CMAKE_SOURCE_DIR}/../fmodapi375mac/api/lib/libfmod.a)
endif (ARCH MATCHES "i386")
elseif (LINUX)
set(FMOD_LIBRARY ${CMAKE_SOURCE_DIR}/../fmodapi375linux/api/libfmod-3.75.so)
endif (WINDOWS)
SET(FMOD_LIBRARIES ${FMOD_LIBRARY})

if (WINDOWS)
set(FMOD_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/../fmodapi375win/api/inc)
elseif (DARWIN)
set(FMOD_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/../fmodapi375mac/api/inc)
elseif (LINUX)
set(FMOD_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/../fmodapi375linux/api/inc)
endif (WINDOWS)

endif (STANDALONE)
endif (FMOD)
12 changes: 8 additions & 4 deletions indra/newview/CMakeLists.txt
Expand Up @@ -1166,7 +1166,7 @@ if (WINDOWS)
comdlg32
${DINPUT_LIBRARY}
${DXGUID_LIBRARY}
fmodvc
${FMOD_LIBRARIES}
gdi32
kernel32
odbc32
Expand Down Expand Up @@ -1447,8 +1447,6 @@ target_link_libraries(${VIEWER_BINARY_NAME}
${Boost_THREAD_LIBRARY}
${DBUSGLIB_LIBRARIES}
${OPENGL_LIBRARIES}
${FMODWRAPPER_LIBRARY}
${OPENGL_LIBRARIES}
${JSONCPP_LIBRARIES}
${SDL_LIBRARY}
${SMARTHEAP_LIBRARY}
Expand All @@ -1460,6 +1458,12 @@ target_link_libraries(${VIEWER_BINARY_NAME}
${GROWL_LIBRARY}
)

if (DARWIN)
target_link_libraries(${VIEWER_BINARY_NAME}
${FMODWRAPPER_LIBRARY}
)
endif (DARWIN)

if (LINUX)
add_custom_command(
OUTPUT secondlife-stripped
Expand All @@ -1468,7 +1472,7 @@ if (LINUX)
DEPENDS ${VIEWER_BINARY_NAME}
)

set(product ${VIEWER_BRANDING_NAME_CAMELCASE}-${ARCH}-${viewer_VERSION})
set(product ${VIEWER_BRANDING_NAME_CAMELCASE}-${ARCH}-${VERSION_VIEWER})

add_custom_command(
OUTPUT ${product}.tar.bz2
Expand Down
12 changes: 6 additions & 6 deletions install.xml
Expand Up @@ -432,23 +432,23 @@
<key>darwin</key>
<map>
<key>md5sum</key>
<string>c7e317bec481b7efa2a0319e163dcc65</string>
<string>69011586de5725de08c10611b1a0289a</string>
<key>url</key>
<uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/fmod-3.75-darwin-20080818.tar.bz2</uri>
<uri>http://www.fmod.org/files/fmod3/fmodapi375mac.zip</uri>
</map>
<key>linux</key>
<map>
<key>md5sum</key>
<string>abd2b4ba4ac993f19d82804af387eb7c</string>
<string>4fbd42fb8187c37ea454cc66186a1dfa</string>
<key>url</key>
<uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/fmod-3.75-linux-20080818.tar.bz2</uri>
<uri>http://www.fmod.org/files/fmod3/fmodapi375linux.tar.gz</uri>
</map>
<key>windows</key>
<map>
<key>md5sum</key>
<string>1a55dec2907821f5f785648a660126c3</string>
<string>4d28a685a92557c0dac06f9ab2567203</string>
<key>url</key>
<uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/fmod-3.75-windows-20080611.tar.bz2</uri>
<uri>http://www.fmod.org/files/fmod3/fmodapi375win.zip</uri>
</map>
</map>
</map>
Expand Down
64 changes: 42 additions & 22 deletions scripts/install.py
Expand Up @@ -78,6 +78,7 @@ def add_indra_lib_path():

from indra.base import llsd
from indra.util import helpformatter
from indra.util import zipfile

# *HACK: Necessary for python 2.4. Consider replacing this code wart
# after python >=2.5 has deployed everywhere. 2009-10-05
Expand Down Expand Up @@ -501,7 +502,7 @@ def _uninstall(self, installables):
for filename in remove_file_list:
print "rm",filename
if not self._dryrun:
if os.path.exists(filename):
if os.path.lexists(filename):
remove_dir_set.add(os.path.dirname(filename))
try:
os.remove(filename)
Expand Down Expand Up @@ -563,28 +564,47 @@ def _build_ifiles(self, platform, cache_dir):

def _install(self, to_install, install_dir):
for ifile in to_install:
tar = tarfile.open(ifile.filename, 'r')
print "Extracting",ifile.filename,"to",install_dir
if not self._dryrun:
# *NOTE: try to call extractall, which first appears
# in python 2.5. Phoenix 2008-01-28
try:
tar.extractall(path=install_dir)
except AttributeError:
_extractall(tar, path=install_dir)
if ifile.pkgname in self._installed:
self._installed[ifile.pkgname].add_files(
ifile.url,
tar.getnames())
self._installed[ifile.pkgname].set_md5sum(
ifile.url,
ifile.md5sum)
if ifile.filename.endswith("zip"):
zip = zipfile.ZipFile(ifile.filename, 'r')
print "Extracting",ifile.filename,"to",install_dir
if not self._dryrun:
zip.extractall(install_dir)
if ifile.pkgname in self._installed:
self._installed[ifile.pkgname].add_files(
ifile.url,
zip.namelist())
self._installed[ifile.pkgname].set_md5sum(
ifile.url,
ifile.md5sum)
else:
# *HACK: this understands the installed package syntax.
definition = { ifile.url :
{'files': zip.namelist(),
'md5sum' : ifile.md5sum } }
self._installed[ifile.pkgname] = InstalledPackage(definition)
else:
# *HACK: this understands the installed package syntax.
definition = { ifile.url :
{'files': tar.getnames(),
'md5sum' : ifile.md5sum } }
self._installed[ifile.pkgname] = InstalledPackage(definition)
tar = tarfile.open(ifile.filename, 'r')
print "Extracting",ifile.filename,"to",install_dir
if not self._dryrun:
# *NOTE: try to call extractall, which first appears
# in python 2.5. Phoenix 2008-01-28
try:
tar.extractall(path=install_dir)
except AttributeError:
_extractall(tar, path=install_dir)
if ifile.pkgname in self._installed:
self._installed[ifile.pkgname].add_files(
ifile.url,
tar.getnames())
self._installed[ifile.pkgname].set_md5sum(
ifile.url,
ifile.md5sum)
else:
# *HACK: this understands the installed package syntax.
definition = { ifile.url :
{'files': tar.getnames(),
'md5sum' : ifile.md5sum } }
self._installed[ifile.pkgname] = InstalledPackage(definition)
self._installed_changed = True

def install(self, installables, platform, install_dir, cache_dir):
Expand Down

0 comments on commit aeb2e71

Please sign in to comment.