diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 0bc7e0e3f..0cb1ef990 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1393,8 +1393,20 @@ if (WINDOWS) else() set(release_flags "/MAP:Release/${VIEWER_BINARY_NAME}.map") endif() - + +if (FMOD) + if(MANIFEST_LIBRARIES) + set(MANIFEST_LIBRARIES "${MANIFEST_LIBRARIES}|${FMOD_BINARY_DIR}/fmod.dll") + else(MANIFEST_LIBRARIES) + set(MANIFEST_LIBRARIES "--extra_libraries=${FMOD_BINARY_DIR}/fmod.dll") + endif(MANIFEST_LIBRARIES) +endif (FMOD) if (FMODEX) + if(MANIFEST_LIBRARIES) + set(MANIFEST_LIBRARIES "${MANIFEST_LIBRARIES}|${FMODEX_BINARY_DIR}/fmodex.dll") + else(MANIFEST_LIBRARIES) + set(MANIFEST_LIBRARIES "--extra_libraries=${FMODEX_BINARY_DIR}/fmodex.dll") + endif(MANIFEST_LIBRARIES) set(EXTRA_LINKER_FLAGS "/DELAYLOAD:fmodex.dll") endif (FMODEX) @@ -1463,6 +1475,7 @@ endif (FMODEX) --build=${CMAKE_CURRENT_BINARY_DIR} --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/touched.bat + ${MANIFEST_LIBRARIES} DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py ) diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 689b932d7..7768f05bd 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -208,14 +208,14 @@ class WindowsManifest(ViewerManifest): self.path("dbghelp.dll") # For using FMOD for sound... DJS - if self.prefix(src="../../libraries/i686-win32/lib/release", dst=""): - try: - self.path("fmod.dll") - pass - except: - print "Skipping fmod.dll - not found" - pass - self.end_prefix() + #~if self.prefix(src="../../libraries/i686-win32/lib/release", dst=""): + #~try: + #~self.path("fmod.dll") + #~pass + #~except: + #~print "Skipping fmod.dll - not found" + #~ pass + #~self.end_prefix() # For textures #if self.prefix(src="../../libraries/i686-win32/lib/release", dst=""): @@ -320,6 +320,15 @@ class WindowsManifest(ViewerManifest): self.path("wrap_oal.dll") self.end_prefix() + if self.args['extra_libraries'] != None: + print self.args['extra_libraries'] + path_list = self.args['extra_libraries'].split('|') + for path in path_list: + path_pair = path.rsplit('/', 1) + if self.prefix(src=path_pair[0], dst=""): + self.path(path_pair[1]) + self.end_prefix() + # pull in the crash logger and updater from other projects self.path(src='../win_crash_logger/%s/windows-crash-logger.exe' % self.args['configuration'], dst="win_crash_logger.exe") self.path(src='../win_updater/%s/windows-updater.exe' % self.args['configuration'], dst="updater.exe")