Trying fmodstudio as a prebuilt. (pushed to test on linux buildserver)

This commit is contained in:
Shyotl
2015-01-08 00:49:42 -06:00
parent b1954e411b
commit 2678d0f99e
3 changed files with 150 additions and 52 deletions

View File

@@ -10,24 +10,17 @@ unset(FMOD_LIBRARY_RELEASE CACHE)
unset(FMOD_LIBRARY_DEBUG CACHE) unset(FMOD_LIBRARY_DEBUG CACHE)
unset(FMOD_INCLUDE_DIR CACHE) unset(FMOD_INCLUDE_DIR CACHE)
if (NOT FMODSTUDIO_SDK_DIR AND WINDOWS) if(STANDALONE)
GET_FILENAME_COMPONENT(REG_DIR [HKEY_CURRENT_USER\\Software\\FMOD\ Studio\ API\ Windows] ABSOLUTE) if (NOT FMODSTUDIO_SDK_DIR AND WINDOWS)
set(FMODSTUDIO_SDK_DIR ${REG_DIR} CACHE PATH "Path to the FMOD Studio SDK." FORCE) GET_FILENAME_COMPONENT(REG_DIR [HKEY_CURRENT_USER\\Software\\FMOD\ Studio\ API\ Windows] ABSOLUTE)
endif (NOT FMODSTUDIO_SDK_DIR AND WINDOWS) set(FMODSTUDIO_SDK_DIR ${REG_DIR} CACHE PATH "Path to the FMOD Studio SDK." FORCE)
endif (NOT FMODSTUDIO_SDK_DIR AND WINDOWS)
if(NOT FMODSTUDIO_SDK_DIR)
message(FATAL_ERROR "FMODSTUDIO_SDK_DIR not set!")
endif(NOT FMODSTUDIO_SDK_DIR)
endif(STANDALONE)
set(release_fmod_lib_paths if(FMODSTUDIO_SDK_DIR)
${LIBS_PREBUILT_DIR}/release/lib/
${LIBS_PREBUILT_LEGACY_DIR}/release/lib)
set(debug_fmod_lib_paths
${LIBS_PREBUILT_DIR}/debug/lib
${LIBS_PREBUILT_LEGACY_DIR}/debug/lib)
set(fmod_inc_paths
${LIBS_PREBUILT_DIR}/include/fmodstudio
${LIBS_PREBUILT_LEGACY_DIR}/include/fmodstudio)
if (FMODSTUDIO_SDK_DIR)
if(LINUX AND WORD_SIZE EQUAL 32) if(LINUX AND WORD_SIZE EQUAL 32)
set(release_lib_paths ${release_fmod_lib_paths} "${FMODSTUDIO_SDK_DIR}/api/lowlevel/x86/lib" ) set(release_lib_paths ${release_fmod_lib_paths} "${FMODSTUDIO_SDK_DIR}/api/lowlevel/x86/lib" )
set(debug__lib_paths ${debug_fmod_lib_paths} "${FMODSTUDIO_SDK_DIR}/api/lowlevel/x86/lib") set(debug__lib_paths ${debug_fmod_lib_paths} "${FMODSTUDIO_SDK_DIR}/api/lowlevel/x86/lib")
@@ -39,30 +32,82 @@ if (FMODSTUDIO_SDK_DIR)
set(debug_fmod_lib_paths ${debug_fmod_lib_paths} "${FMODSTUDIO_SDK_DIR}/api/lowlevel/lib") set(debug_fmod_lib_paths ${debug_fmod_lib_paths} "${FMODSTUDIO_SDK_DIR}/api/lowlevel/lib")
endif(LINUX AND WORD_SIZE EQUAL 32) endif(LINUX AND WORD_SIZE EQUAL 32)
set(fmod_inc_paths ${fmod_inc_paths} "${FMODSTUDIO_SDK_DIR}/api/lowlevel/inc") set(fmod_inc_paths ${fmod_inc_paths} "${FMODSTUDIO_SDK_DIR}/api/lowlevel/inc")
if(LINUX AND WORD_SIZE EQUAL 32)
set(release_lib_paths "${FMODSTUDIO_SDK_DIR}/api/lowlevel/lib/x86" )
set(debug__lib_paths "${FMODSTUDIO_SDK_DIR}/api/lowlevel/lig/x86")
elseif(LINUX)
set(release__lib_paths "${FMODSTUDIO_SDK_DIR}/api/lowlevel/lib/x86_64")
set(debug_fmod_lib_paths "${FMODSTUDIO_SDK_DIR}/api/lowlevel/lib/x86_64")
else(LINUX AND WORD_SIZE EQUAL 32)
set(release_fmod_lib_paths "${FMODSTUDIO_SDK_DIR}/api/lowlevel/lib")
set(debug_fmod_lib_paths "${FMODSTUDIO_SDK_DIR}/api/lowlevel/lib")
endif(LINUX AND WORD_SIZE EQUAL 32)
set(fmod_inc_paths "${FMODSTUDIO_SDK_DIR}/api/lowlevel/inc")
if(WINDOWS)
set(CMAKE_FIND_LIBRARY_SUFFIXES_OLD ${CMAKE_FIND_LIBRARY_SUFFIXES})
set(CMAKE_FIND_LIBRARY_SUFFIXES .dll)
endif(WINDOWS)
if(WORD_SIZE EQUAL 64 AND WINDOWS)
find_library(FMOD_LIBRARY_RELEASE fmod64 PATHS ${release_fmod_lib_paths})
find_library(FMOD_LIBRARY_DEBUG fmodL64 PATHS ${debug_fmod_lib_paths})
else(WORD_SIZE EQUAL 64 AND WINDOWS)#Check if CMAKE_FIND_LIBRARY_PREFIXES is set to 'lib' for darwin.
find_library(FMOD_LIBRARY_RELEASE fmod PATHS ${release_fmod_lib_paths})
find_library(FMOD_LIBRARY_DEBUG fmodL PATHS ${debug_fmod_lib_paths})
endif(WORD_SIZE EQUAL 64 AND WINDOWS)
if(WINDOWS)
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_OLD})
string(REPLACE ".dll" "_vc.lib" FMOD_LINK_LIBRARY_RELEASE ${FMOD_LIBRARY_RELEASE})
string(REPLACE ".dll" "_vc.lib" FMOD_LINK_LIBRARY_DEBUG ${FMOD_LIBRARY_DEBUG})
else(WINDOWS)
set(FMOD_LINK_LIBRARY_RELEASE ${FMOD_LIBRARY_RELEASE})
set(FMOD_LINK_LIBRARY_DEBUG ${FMOD_LIBRARY_DEBUG})
endif(WINDOWS)
find_path(FMOD_INCLUDE_DIR fmod.hpp ${fmod_inc_paths})
if(NOT FMOD_LIBRARY_RELEASE OR NOT FMOD_INCLUDE_DIR)
if(STANDALONE)
message(FATAL_ERROR "Provided FMODSTUDIO_SDK_DIR path not found '{$FMODSTUDIO_SDK_DIR}'")
else(STANDALONE)
message(STATUS "Provided FMODSTUDIO_SDK_DIR path not found '${FMODSTUDIO_SDK_DIR}'. Falling back to prebuilts")
endif(STANDALONE)
else(NOT FMOD_LIBRARY_RELEASE OR NOT FMOD_INCLUDE_DIR)
message(STATUS "Using system-provided FMOD Studio Libraries")
endif(NOT FMOD_LIBRARY_RELEASE OR NOT FMOD_INCLUDE_DIR)
endif (FMODSTUDIO_SDK_DIR) endif (FMODSTUDIO_SDK_DIR)
if(WINDOWS) if (NOT FMOD_LIBRARY_RELEASE OR NOT FMOD_INCLUDE_DIR)
set(CMAKE_FIND_LIBRARY_SUFFIXES_OLD ${CMAKE_FIND_LIBRARY_SUFFIXES}) if(WINDOWS)
set(CMAKE_FIND_LIBRARY_SUFFIXES .dll) set(lib_suffix .dll)
endif(WINDOWS) elseif(DARWIN)
if(WORD_SIZE EQUAL 32) #Check if CMAKE_FIND_LIBRARY_PREFIXES is set to 'lib' for darwin. set(lib_suffix .dynlib)
find_library(FMOD_LIBRARY_RELEASE fmod PATHS ${release_fmod_lib_paths}) else(WINDOWS)
find_library(FMOD_LIBRARY_DEBUG fmodL PATHS ${debug_fmod_lib_paths}) set(lib_suffix .so)
elseif(WORD_SIZE EQUAL 64) endif(WINDOWS)
find_library(FMOD_LIBRARY_RELEASE fmod64 PATHS ${release_fmod_lib_paths}) if(WINDOWS)
find_library(FMOD_LIBRARY_DEBUG fmodL64 PATHS ${debug_fmod_lib_paths}) if(WORD_SIZE EQUAL 64)
endif (WORD_SIZE EQUAL 32) set(FMOD_LIBRARY_RELEASE ${LIBS_PREBUILT_DIR}/lib/release/fmod64${lib_suffix})
if(WINDOWS) set(FMOD_LIBRARY_DEBUG ${LIBS_PREBUILT_DIR}/lib/debug/fmodL64${lib_suffix})
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_OLD}) else(WORD_SIZE EQUAL 64)
string(REPLACE ".dll" "_vc.lib" FMOD_LINK_LIBRARY_RELEASE ${FMOD_LIBRARY_RELEASE}) set(FMOD_LIBRARY_RELEASE ${LIBS_PREBUILT_DIR}/lib/release/fmod${lib_suffix})
string(REPLACE ".dll" "_vc.lib" FMOD_LINK_LIBRARY_DEBUG ${FMOD_LIBRARY_DEBUG}) set(FMOD_LIBRARY_DEBUG ${LIBS_PREBUILT_DIR}/lib/debug/fmodL${lib_suffix})
else(WINDOWS) endif(WORD_SIZE EQUAL 64)
set(FMODSTUDIO_LINK_LIBRARY_RELEASE ${FMODSTUDIO_LIBRARY_RELEASE}) else(WINDOWS)
set(FMODSTUDIO_LINK_LIBRARY_DEBUG ${FMODSTUDIO_LIBRARY_DEBUG}) set(FMOD_LIBRARY_RELEASE ${LIBS_PREBUILT_DIR}/lib/release/libfmod${lib_suffix})
endif(WINDOWS) set(FMOD_LIBRARY_DEBUG ${LIBS_PREBUILT_DIR}/lib/debug/libfmodL${lib_suffix})
find_path(FMOD_INCLUDE_DIR fmod.hpp ${fmod_inc_paths}) endif(WINDOWS)
set(FMOD_LINK_LIBRARY_RELEASE ${FMOD_LIBRARY_RELEASE})
set(FMOD_LINK_LIBRARY_DEBUG ${FMOD_LIBRARY_DEBUG})
if(WINDOWS)
string(REPLACE ".dll" "_vc.lib" FMOD_LINK_LIBRARY_RELEASE ${FMOD_LIBRARY_RELEASE})
string(REPLACE ".dll" "_vc.lib" FMOD_LINK_LIBRARY_DEBUG ${FMOD_LIBRARY_DEBUG})
endif(WINDOWS)
use_prebuilt_binary(fmodstudio)
set(FMOD_INCLUDE_DIR
${LIBS_PREBUILT_DIR}/include/fmodstudio)
endif(NOT FMOD_LIBRARY_RELEASE OR NOT FMOD_INCLUDE_DIR)
if (FMOD_LIBRARY_RELEASE AND FMOD_INCLUDE_DIR) if(FMOD_LIBRARY_RELEASE AND FMOD_INCLUDE_DIR)
set(FMOD ON) set(FMOD ON)
if (NOT FMOD_LIBRARY_DEBUG) #Use release library in debug configuration if debug library is absent. if (NOT FMOD_LIBRARY_DEBUG) #Use release library in debug configuration if debug library is absent.
set(FMOD_LIBRARY_DEBUG ${FMOD_LIBRARY_RELEASE}) set(FMOD_LIBRARY_DEBUG ${FMOD_LIBRARY_RELEASE})

View File

@@ -576,8 +576,10 @@ class DarwinManifest(ViewerManifest):
): ):
self.path(libfile) self.path(libfile)
dylibs += self.add_extra_libraries() self.end_prefix()
if self.prefix(src=self.args['configuration'], alt_build=libdir):
dylibs += self.add_extra_libraries()
self.end_prefix() self.end_prefix()
# our apps # our apps
@@ -876,18 +878,20 @@ class Linux_i686Manifest(LinuxManifest):
self.path("libboost_system-mt.so.*") self.path("libboost_system-mt.so.*")
self.path("libboost_thread-mt.so.*") self.path("libboost_thread-mt.so.*")
self.add_extra_libraries()
self.end_prefix("lib") self.end_prefix("lib")
if (not self.standalone()) and self.prefix(src=self.args['configuration'], alt_build="../packages/lib/release", dst="lib"):
dylibs += self.add_extra_libraries()
self.end_prefix()
# Vivox runtimes # Vivox runtimes
if self.prefix(src="../packages/lib/release", dst="bin"): if self.prefix(src="../packages/lib/release", dst="bin"):
self.path("SLVoice") self.path("SLVoice")
self.end_prefix("bin") self.end_prefix("bin")
if self.prefix(src="../packages/lib/release", dst="lib"): if self.prefix(src="../packages/lib/release", dst="lib"):
self.path("libortp.so") self.path("libortp.so")
self.path("libvivoxsdk.so") self.path("libvivoxsdk.so")
self.end_prefix("lib") self.end_prefix("lib")
class Linux_x86_64Manifest(LinuxManifest): class Linux_x86_64Manifest(LinuxManifest):
def construct(self): def construct(self):
@@ -926,10 +930,12 @@ class Linux_x86_64Manifest(LinuxManifest):
self.path("libboost_system-mt.so.*") self.path("libboost_system-mt.so.*")
self.path("libboost_thread-mt.so.*") self.path("libboost_thread-mt.so.*")
self.add_extra_libraries()
self.end_prefix("lib") self.end_prefix("lib")
if (not self.standalone()) and self.prefix(src=self.args['configuration'], alt_build="../packages/lib/release", dst="lib"):
dylibs += self.add_extra_libraries()
self.end_prefix()
# Vivox runtimes # Vivox runtimes
if self.prefix(src="../packages/lib/release", dst="bin"): if self.prefix(src="../packages/lib/release", dst="bin"):
self.path("SLVoice") self.path("SLVoice")

View File

@@ -450,6 +450,53 @@
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/expat-2.1.0-windows64-vs12-20140709.tar.bz2</uri> <uri>https://bitbucket.org/SingularityViewer/libraries/downloads/expat-2.1.0-windows64-vs12-20140709.tar.bz2</uri>
</map> </map>
</map> </map>
</map>
<key>fmodstudio</key>
<map>
<key>copyright</key>
<string>Copyright © 1994-2014 Firelight Technologies Pty, Ltd.</string>
<key>description</key>
<string>FMOD Studio programmers API's low level component. For simple sounds/channels/dsp/geometry.</string>
<key>license</key>
<string>fmod</string>
<key>packages</key>
<map>
<key>darwin</key>
<map>
<key>md5sum</key>
<string>93ebcfcaf0572427593cdb38d7c7435b</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/fmodstudio-1.05.09-darwin-20150106.tar.bz2</uri>
</map>
<key>linux</key>
<map>
<key>md5sum</key>
<string>b75bcb905747b6aa9c288924379741d4</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/fmodstudio-1.05.09-linux-20150106.tar.bz2</uri>
</map>
<key>linux64</key>
<map>
<key>md5sum</key>
<string>0d50965abbd4ed317f221761abc25b55</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/fmodstudio-1.05.09-linux64-20150106.tar.bz2</uri>
</map>
<key>windows</key>
<map>
<key>md5sum</key>
<string>c24c02a6130cd9032077c08905e89e88</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/fmodstudio-1.05.09-windows-20150106.tar.bz2</uri>
</map>
<key>windows64</key>
<map>
<key>md5sum</key>
<string>72065eb2a8ebb7d4ef12c320f1f85780</string>
<key>url</key>
<uri>https://bitbucket.org/SingularityViewer/libraries/downloads/fmodstudio-1.05.09-windows64-20150106.tar.bz2</uri>
</map>
</map>
</map> </map>
<key>fontconfig</key> <key>fontconfig</key>
<map> <map>
@@ -1721,7 +1768,7 @@ your work.
<key>fmod</key> <key>fmod</key>
<map> <map>
<key>url</key> <key>url</key>
<string>http://www.fmod.org/ifmodlicense.html</string> <string>http://www.fmod.com/files/public/LICENSE.TXT</string>
</map> </map>
<key>freetype</key> <key>freetype</key>
<map> <map>