From ca98523c4189c1f11de0a5419b4051b43cba4c43 Mon Sep 17 00:00:00 2001 From: Shyotl Date: Thu, 22 Jan 2015 02:39:45 -0600 Subject: [PATCH] Cmake version bump, cleanup, typo fixes, rewrite of fmodex.cmake. --- indra/CMakeLists.txt | 2 +- indra/cmake/FMODEX.cmake | 133 ++++++++++++++++++++----------- indra/cmake/FMODSTUDIO.cmake | 75 ++++++++--------- indra/cmake/OPENAL.cmake | 3 + indra/develop.py | 4 +- indra/newview/CMakeLists.txt | 14 +--- indra/newview/viewer_manifest.py | 13 +-- 7 files changed, 137 insertions(+), 107 deletions(-) diff --git a/indra/CMakeLists.txt b/indra/CMakeLists.txt index d213b0efd..8694c0dcc 100644 --- a/indra/CMakeLists.txt +++ b/indra/CMakeLists.txt @@ -4,7 +4,7 @@ # other commands to guarantee full compatibility # with the version specified -cmake_minimum_required(VERSION 2.8.8 FATAL_ERROR) +cmake_minimum_required(VERSION 2.8.10 FATAL_ERROR) # Eventually the third-party support modules (cmake/*.cmake) should # know the full path to all libraries. Until that happens we need diff --git a/indra/cmake/FMODEX.cmake b/indra/cmake/FMODEX.cmake index a7d790581..eb8712207 100644 --- a/indra/cmake/FMODEX.cmake +++ b/indra/cmake/FMODEX.cmake @@ -3,71 +3,114 @@ include(Linking) if (FMODEX AND FMODSTUDIO) - message( FATAL_ERROR "You can not enable two FMOD variants at the same time." ) + message( FATAL_ERROR "You can not enable two FMOD variants at the same time." ) endif (FMODEX AND FMODSTUDIO) unset(FMOD_LIBRARY_RELEASE CACHE) unset(FMOD_LIBRARY_DEBUG CACHE) unset(FMOD_INCLUDE_DIR CACHE) -if (NOT FMODEX_SDK_DIR AND WINDOWS) - GET_FILENAME_COMPONENT(REG_DIR [HKEY_CURRENT_USER\\Software\\FMOD\ Programmers\ API\ Windows] ABSOLUTE) - set(FMODEX_SDK_DIR ${REG_DIR} CACHE PATH "Path to the FMOD Ex SDK." FORCE) -endif (NOT FMODEX_SDK_DIR AND WINDOWS) +set(FMOD_EXTERNAL_LIB OFF) -set(release_fmod_lib_paths - ${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/fmodex - ${LIBS_PREBUILT_LEGACY_DIR}/include/fmodex) +if(STANDALONE OR WINDOWS) + if (NOT FMODEX_SDK_DIR AND WINDOWS) + GET_FILENAME_COMPONENT(REG_DIR [HKEY_CURRENT_USER\\Software\\FMOD\ Programmers\ API\ Windows] ABSOLUTE) + set(FMODEX_SDK_DIR ${REG_DIR} CACHE PATH "Path to the FMOD Ex SDK." FORCE) + endif (NOT FMODEX_SDK_DIR AND WINDOWS) + if(NOT FMODEX_SDK_DIR AND STANDALONE) + message(FATAL_ERROR "FMODEX_SDK_DIR not set!") + endif(NOT FMODEX_SDK_DIR AND STANDALONE) +endif(STANDALONE OR WINDOWS) -if (FMODEX_SDK_DIR) - set(release_fmod_lib_paths ${release_fmod_lib_paths} "${FMODEX_SDK_DIR}/api" "${FMODEX_SDK_DIR}/api/lib") - set(debug_fmod_lib_paths ${debug_fmod_lib_paths} "${FMODEX_SDK_DIR}/api" "${FMODEX_SDK_DIR}/api/lib") - set(fmod_inc_paths ${fmod_inc_paths} "${FMODEX_SDK_DIR}/api/inc") +if(FMODEX_SDK_DIR) + set(fmod_lib_paths "${FMODEX_SDK_DIR}/api" "${FMODEX_SDK_DIR}/api/lib" ) + set(fmod_inc_paths "${FMODEX_SDK_DIR}/api/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) + find_library(FMOD_LIBRARY_RELEASE fmodex64 PATHS ${fmod_lib_paths} NO_DEFAULT_PATH) + find_library(FMOD_LIBRARY_DEBUG fmodexL64 PATHS ${fmod_lib_paths} NO_DEFAULT_PATH) + else(WORD_SIZE EQUAL 64)#Check if CMAKE_FIND_LIBRARY_PREFIXES is set to 'lib' for darwin. + find_library(FMOD_LIBRARY_RELEASE fmodex PATHS ${fmod_lib_paths} NO_DEFAULT_PATH) + find_library(FMOD_LIBRARY_DEBUG fmodexL PATHS ${fmod_lib_paths} NO_DEFAULT_PATH) + endif(WORD_SIZE EQUAL 64) + if(WINDOWS) + set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_OLD}) + if(WORD_SIZE EQUAL 64) + find_library(FMOD_LINK_LIBRARY_RELEASE fmodex64_vc PATHS ${fmod_lib_paths} NO_DEFAULT_PATH) + find_library(FMOD_LINK_LIBRARY_DEBUG fmodexL64_vc PATHS ${fmod_lib_paths} NO_DEFAULT_PATH) + else(WORD_SIZE EQUAL 64)#Check if CMAKE_FIND_LIBRARY_PREFIXES is set to 'lib' for darwin. + find_library(FMOD_LINK_LIBRARY_RELEASE fmodex_vc PATHS ${fmod_lib_paths} NO_DEFAULT_PATH) + find_library(FMOD_LINK_LIBRARY_DEBUG fmodexL_vc PATHS ${fmod_lib_paths} NO_DEFAULT_PATH) + endif(WORD_SIZE EQUAL 64) + 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 FMODEX_SDK_DIR path not found '{$FMODEX_SDK_DIR}'") + else(STANDALONE) + message(STATUS "Provided FMODEX_SDK_DIR path not found '${FMODEX_SDK_DIR}'. Falling back to prebuilts") + endif(STANDALONE) + else(NOT FMOD_LIBRARY_RELEASE OR NOT FMOD_INCLUDE_DIR) + message(STATUS "Using system-provided FMOD Ex Libraries") + set(FMOD_EXTERNAL_LIB ON) + endif(NOT FMOD_LIBRARY_RELEASE OR NOT FMOD_INCLUDE_DIR) endif (FMODEX_SDK_DIR) -if(WINDOWS) - set(CMAKE_FIND_LIBRARY_SUFFIXES_OLD ${CMAKE_FIND_LIBRARY_SUFFIXES}) - set(CMAKE_FIND_LIBRARY_SUFFIXES .dll) -endif(WINDOWS) -if(WORD_SIZE EQUAL 32) #Check if CMAKE_FIND_LIBRARY_PREFIXES is set to 'lib' for darwin. - find_library(FMOD_LIBRARY_RELEASE fmodex PATHS ${release_fmod_lib_paths}) - find_library(FMOD_LIBRARY_DEBUG fmodexL PATHS ${debug_fmod_lib_paths}) -elseif(WORD_SIZE EQUAL 64) - find_library(FMOD_LIBRARY_RELEASE fmodex64 PATHS ${release_fmod_lib_paths}) - find_library(FMOD_LIBRARY_DEBUG fmodLex64 PATHS ${debug_fmod_lib_paths}) -endif (WORD_SIZE EQUAL 32) -if(WINDOWS) - set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_OLD}) - if(WORD_SIZE EQUAL 32) - find_library(FMOD_LINK_LIBRARY_RELEASE fmodex_vc PATHS ${release_fmod_lib_paths}) - find_library(FMOD_LINK_LIBRARY_DEBUG fmodexL_vc PATHS ${debug_fmod_lib_paths}) - elseif(WORD_SIZE EQUAL 64) - find_library(FMOD_LINK_LIBRARY_RELEASE fmodex64_vc PATHS ${release_fmod_lib_paths}) - find_library(FMOD_LINK_LIBRARY_DEBUG fmodLex64_vc PATHS ${debug_fmod_lib_paths}) - endif (WORD_SIZE EQUAL 32) -else(WINDOWS) - set(FMOD_LINK_LIBRARY_RELEASE ${FMODSTUDIO_LIBRARY_RELEASE}) - set(FMOD_LINK_LIBRARY_DEBUG ${FMODSTUDIO_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(WINDOWS) + set(lib_suffix .dll) + elseif(DARWIN) + set(lib_suffix .dynlib) + else(WINDOWS) + set(lib_suffix .so) + endif(WINDOWS) + if(WINDOWS) + if(WORD_SIZE EQUAL 64) + set(FMOD_LIBRARY_RELEASE ${LIBS_PREBUILT_DIR}/lib/release/fmodex64${lib_suffix}) + set(FMOD_LIBRARY_DEBUG ${LIBS_PREBUILT_DIR}/lib/debug/fmodexL64${lib_suffix}) + else(WORD_SIZE EQUAL 64) + set(FMOD_LIBRARY_RELEASE ${LIBS_PREBUILT_DIR}/lib/release/fmodex${lib_suffix}) + set(FMOD_LIBRARY_DEBUG ${LIBS_PREBUILT_DIR}/lib/debug/fmodexL${lib_suffix}) + endif(WORD_SIZE EQUAL 64) + else(WINDOWS) + if(WORD_SIZE EQUAL 64) + set(FMOD_LIBRARY_RELEASE ${LIBS_PREBUILT_DIR}/lib/release/libfmodex64${lib_suffix}) + set(FMOD_LIBRARY_DEBUG ${LIBS_PREBUILT_DIR}/lib/debug/libfmodex64L${lib_suffix}) + else(WORD_SIZE EQUAL 64) + set(FMOD_LIBRARY_RELEASE ${LIBS_PREBUILT_DIR}/lib/release/libfmodex${lib_suffix}) + set(FMOD_LIBRARY_DEBUG ${LIBS_PREBUILT_DIR}/lib/debug/libfmodexL${lib_suffix}) + endif(WORD_SIZE EQUAL 64) + 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(fmodex) + set(FMOD_INCLUDE_DIR + ${LIBS_PREBUILT_DIR}/include/fmodex) +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) 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) - message(STATUS "No support for FMOD Ex audio (need to set FMODEX_SDK_DIR?)") + message(STATUS "No support for FMOD EX audio (need to set FMODEX_SDK_DIR?)") set(FMOD OFF) set(FMODEX OFF) endif (FMOD_LIBRARY_RELEASE AND FMOD_INCLUDE_DIR) if (FMOD) message(STATUS "Building with FMOD Ex audio support") + set(LLSTARTUP_COMPILE_FLAGS "${LLSTARTUP_COMPILE_FLAGS} -DLL_FMODEX") endif (FMOD) diff --git a/indra/cmake/FMODSTUDIO.cmake b/indra/cmake/FMODSTUDIO.cmake index b2460cc79..a59bc0f43 100644 --- a/indra/cmake/FMODSTUDIO.cmake +++ b/indra/cmake/FMODSTUDIO.cmake @@ -3,45 +3,32 @@ include(Linking) if (FMODEX AND FMODSTUDIO) - message( FATAL_ERROR "You can not enable two FMOD variants at the same time." ) + message( FATAL_ERROR "You can not enable two FMOD variants at the same time." ) endif (FMODEX AND FMODSTUDIO) unset(FMOD_LIBRARY_RELEASE CACHE) unset(FMOD_LIBRARY_DEBUG CACHE) unset(FMOD_INCLUDE_DIR CACHE) -if(STANDALONE) - if (NOT FMODSTUDIO_SDK_DIR AND WINDOWS) - GET_FILENAME_COMPONENT(REG_DIR [HKEY_CURRENT_USER\\Software\\FMOD\ Studio\ API\ Windows] ABSOLUTE) - 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(FMOD_EXTERNAL_LIB OFF) + +if(STANDALONE OR WINDOWS) + if (NOT FMODSTUDIO_SDK_DIR AND WINDOWS) + GET_FILENAME_COMPONENT(REG_DIR [HKEY_CURRENT_USER\\Software\\FMOD\ Studio\ API\ Windows] ABSOLUTE) + 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 OR WINDOWS) if(FMODSTUDIO_SDK_DIR) if(LINUX AND WORD_SIZE EQUAL 32) - 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(fmod_lib_paths "${FMODSTUDIO_SDK_DIR}/api/lowlevel/lib/x86" ) elseif(LINUX) - set(release__lib_paths ${release_fmod_lib_paths} "${FMODSTUDIO_SDK_DIR}/api/lowlevel/x86_64/lib") - set(debug_fmod_lib_paths ${debug_fmod_lib_paths} "${FMODSTUDIO_SDK_DIR}/api/lowlevel/x86_64/lib") + set(fmod_lib_paths "${FMODSTUDIO_SDK_DIR}/api/lowlevel/lib/x86_64") else(LINUX AND WORD_SIZE EQUAL 32) - set(release_fmod_lib_paths ${release_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) - 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") + set(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") @@ -50,16 +37,16 @@ if(FMODSTUDIO_SDK_DIR) 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}) + find_library(FMOD_LIBRARY_RELEASE fmod64 PATHS ${fmod_lib_paths} NO_DEFAULT_PATH) + find_library(FMOD_LIBRARY_DEBUG fmodL64 PATHS ${fmod_lib_paths} NO_DEFAULT_PATH) 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}) + find_library(FMOD_LIBRARY_RELEASE fmod PATHS ${fmod_lib_paths} NO_DEFAULT_PATH) + find_library(FMOD_LIBRARY_DEBUG fmodL PATHS ${fmod_lib_paths} NO_DEFAULT_PATH) 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}) + 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}) @@ -68,11 +55,12 @@ if(FMODSTUDIO_SDK_DIR) 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(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") + set(FMOD_EXTERNAL_LIB ON) endif(NOT FMOD_LIBRARY_RELEASE OR NOT FMOD_INCLUDE_DIR) endif (FMODSTUDIO_SDK_DIR) @@ -88,10 +76,10 @@ if (NOT FMOD_LIBRARY_RELEASE OR NOT FMOD_INCLUDE_DIR) if(WORD_SIZE EQUAL 64) set(FMOD_LIBRARY_RELEASE ${LIBS_PREBUILT_DIR}/lib/release/fmod64${lib_suffix}) set(FMOD_LIBRARY_DEBUG ${LIBS_PREBUILT_DIR}/lib/debug/fmodL64${lib_suffix}) - else(WORD_SIZE EQUAL 64) - set(FMOD_LIBRARY_RELEASE ${LIBS_PREBUILT_DIR}/lib/release/fmod${lib_suffix}) + else(WORD_SIZE EQUAL 64) + set(FMOD_LIBRARY_RELEASE ${LIBS_PREBUILT_DIR}/lib/release/fmod${lib_suffix}) set(FMOD_LIBRARY_DEBUG ${LIBS_PREBUILT_DIR}/lib/debug/fmodL${lib_suffix}) - endif(WORD_SIZE EQUAL 64) + endif(WORD_SIZE EQUAL 64) else(WINDOWS) set(FMOD_LIBRARY_RELEASE ${LIBS_PREBUILT_DIR}/lib/release/libfmod${lib_suffix}) set(FMOD_LIBRARY_DEBUG ${LIBS_PREBUILT_DIR}/lib/debug/libfmodL${lib_suffix}) @@ -99,8 +87,8 @@ if (NOT FMOD_LIBRARY_RELEASE OR NOT FMOD_INCLUDE_DIR) 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}) + 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 @@ -120,4 +108,5 @@ endif (FMOD_LIBRARY_RELEASE AND FMOD_INCLUDE_DIR) if (FMOD) message(STATUS "Building with FMOD Studio audio support") + set(LLSTARTUP_COMPILE_FLAGS "${LLSTARTUP_COMPILE_FLAGS} -DLL_FMODSTUDIO") endif (FMOD) diff --git a/indra/cmake/OPENAL.cmake b/indra/cmake/OPENAL.cmake index c53d2e710..39ab8210d 100644 --- a/indra/cmake/OPENAL.cmake +++ b/indra/cmake/OPENAL.cmake @@ -2,6 +2,7 @@ include(Linking) include(Prebuilt) +if(NOT FMOD) if (LINUX) set(OPENAL ON CACHE BOOL "Enable OpenAL") else (LINUX) @@ -29,4 +30,6 @@ endif (OPENAL) if (OPENAL) message(STATUS "Building with OpenAL audio support") + set(LLSTARTUP_COMPILE_FLAGS "${LLSTARTUP_COMPILE_FLAGS} -DLL_OPENAL") endif (OPENAL) +endif(NOT FMOD) diff --git a/indra/develop.py b/indra/develop.py index a5d1dd9d0..add325c41 100755 --- a/indra/develop.py +++ b/indra/develop.py @@ -815,10 +815,12 @@ Commands: Command-options for "configure": We use cmake variables to change the build configuration. -DPACKAGE:BOOL=ON Create "package" target to make installers - -DLOCALIZESETUP:BOOL=ON Create one win_setup target per supported language -DLL_TESTS:BOOL=OFF Don't generate unit test projects -DEXAMPLEPLUGIN:BOOL=OFF Don't generate example plugin project -DDISABLE_TCMALLOC:BOOL=ON Disable linkage of TCMalloc. (64bit builds automatically disable TCMalloc) + -DRELEASE_CRASH_REPORTING:BOOL=ON Enable Google Breakpad crash reporting + -DFMODSTUDIO:BOOL=ON Use FMOD Studio audio libraries + -DFMODEX:BOOL=ON Use FMOD Ex audio libraries Examples: Set up a Visual Studio 2010 project with "package" target: diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index dcf99a751..3091e430a 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1402,16 +1402,6 @@ if (WINDOWS) list(APPEND viewer_SOURCE_FILES ${viewer_INSTALLER_FILES}) endif (WINDOWS) -if (FMODSTUDIO) - set(LLSTARTUP_COMPILE_FLAGS "${LLSTARTUP_COMPILE_FLAGS} -DLL_FMODSTUDIO") -endif (FMODSTUDIO) -if (FMODEX) - set(LLSTARTUP_COMPILE_FLAGS "${LLSTARTUP_COMPILE_FLAGS} -DLL_FMODEX") -endif (FMODEX) -if (OPENAL) - set(LLSTARTUP_COMPILE_FLAGS "${LLSTARTUP_COMPILE_FLAGS} -DLL_OPENAL") -endif (OPENAL) - set_source_files_properties(llstartup.cpp PROPERTIES COMPILE_FLAGS "${LLSTARTUP_COMPILE_FLAGS}") list(APPEND viewer_SOURCE_FILES ${viewer_HEADER_FILES}) @@ -1442,9 +1432,9 @@ if(FMOD_LIBRARY_RELEASE) add_custom_target(fmod_lib_copy DEPENDS fmod_lib.marker prepare) if(DARWIN) add_custom_command(OUTPUT fmod_lib_install.marker - COMMAND install_name_tool -id "@executable_path/../Resources/$<$>:${fmod_lib_rel_name}>$<$:${FMOD_LIBRARY_DEBUG}>" "${CMAKE_CFG_INTDIR}/$<$>:${fmod_lib_rel_name}>$<$:${fmod_lib_deb_name}>" + COMMAND install_name_tool -id "@executable_path/../Resources/$<$>:${fmod_lib_rel_name}>$<$:${FMOD_LIBRARY_DEBUG}>" "${CMAKE_CFG_INTDIR}/$<$>:${fmod_lib_rel_name}>$<$:${fmod_lib_deb_name}>" DEPENDS fmod_lib.marker) - add_dependencies(fmod_lib_copy fmod_lib_install.marker) + add_dependencies(fmod_lib_copy fmod_lib_install.marker) endif(DARWIN) add_dependencies(${VIEWER_BINARY_NAME} fmod_lib_copy) diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index e7b3268fa..4079eb7bf 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -210,7 +210,7 @@ class ViewerManifest(LLManifest): except: config, file = (None, None) if(config == 'optimized'): - if(self.args['configuration'].lower() != 'release' and self.args['configuration'].lower() != 'relwithdebinfo'): + if(self.args['configuration'].lower() != 'release' and self.args['configuration'].lower() != 'relwithdebinfo' and self.args['configuration'].lower() != 'universal'): continue cur_path = file if(config == 'debug'): @@ -218,7 +218,10 @@ class ViewerManifest(LLManifest): continue cur_path = file if(cur_path != ''): - found_libs += self.path_optional(cur_path) + if sys.platform == "linux" or sys.platform == "linux2": + found_libs += self.path_optional(cur_path+"*") + else: + found_libs += self.path_optional(cur_path) return found_libs class WindowsManifest(ViewerManifest): @@ -578,7 +581,7 @@ class DarwinManifest(ViewerManifest): self.end_prefix() - if self.prefix(src=self.args['configuration'], alt_build=libdir): + if self.prefix(src= '' if self.args['configuration'].lower() == 'universal' else self.args['configuration'], alt_build=libdir): dylibs += self.add_extra_libraries() self.end_prefix() @@ -880,7 +883,7 @@ class Linux_i686Manifest(LinuxManifest): self.end_prefix("lib") - if (not self.standalone()) and self.prefix(src=self.args['configuration'], alt_build="../packages/lib/release", dst="lib"): + if (not self.standalone()) and self.prefix(src='', alt_build="../packages/lib/release", dst="lib"): self.add_extra_libraries() self.end_prefix() @@ -932,7 +935,7 @@ class Linux_x86_64Manifest(LinuxManifest): self.end_prefix("lib") - if (not self.standalone()) and self.prefix(src=self.args['configuration'], alt_build="../packages/lib/release", dst="lib"): + if (not self.standalone()) and self.prefix(src='', alt_build="../packages/lib/release", dst="lib"): self.add_extra_libraries() self.end_prefix()