Moved build dirs out of indra directory. installed.xml and prebuilts are now per-build-target. Added support for v3 prebuilt package layout.
This commit is contained in:
@@ -46,7 +46,6 @@ include(GLOD)
|
||||
include(LLAppearance)
|
||||
|
||||
if (WINDOWS)
|
||||
include(CopyWinLibs)
|
||||
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP)
|
||||
include(InstallRequiredSystemLibraries)
|
||||
endif (WINDOWS)
|
||||
@@ -1309,18 +1308,26 @@ if (WINDOWS)
|
||||
if(FMODEX)
|
||||
list(APPEND viewer_LIBRARIES ${FMODEX_LIBRARY})
|
||||
endif(FMODEX)
|
||||
find_library(DEBUG_INTEL_MEMOPS_LIBRARY ll_intel_memops
|
||||
PATHS
|
||||
${LIBS_PREBUILT_DIR}/lib/debug
|
||||
${LIBS_PREBUILT_LEGACY_DIR}/lib/debug
|
||||
"${QUICKTIME_SDK_DIR}\\libraries"
|
||||
)
|
||||
|
||||
find_library(INTEL_MEMOPS_LIBRARY
|
||||
NAMES ll_intel_memops
|
||||
PATHS
|
||||
optimized ${ARCH_PREBUILT_DIRS_RELEASE}
|
||||
debug ${ARCH_PREBUILT_DIRS_DEBUG}
|
||||
)
|
||||
mark_as_advanced(INTEL_MEMOPS_LIBRARY)
|
||||
find_library(RELEASE_INTEL_MEMOPS_LIBRARY ll_intel_memops
|
||||
PATHS
|
||||
${LIBS_PREBUILT_DIR}/lib/release
|
||||
${LIBS_PREBUILT_LEGACY_DIR}/lib/release
|
||||
"${QUICKTIME_SDK_DIR}\\libraries"
|
||||
)
|
||||
|
||||
if (INTEL_MEMOPS_LIBRARY)
|
||||
list(APPEND viewer_LIBRARIES ${INTEL_MEMOPS_LIBRARY})
|
||||
endif (INTEL_MEMOPS_LIBRARY)
|
||||
if (DEBUG_INTEL_MEMOPS_LIBRARY AND RELEASE_INTEL_MEMOPS_LIBRARY)
|
||||
list(APPEND viewer_LIBRARIES optimized ${RELEASE_INTEL_MEMOPS_LIBRARY})
|
||||
list(APPEND viewer_LIBRARIES debug ${DEBUG_INTEL_MEMOPS_LIBRARY})
|
||||
mark_as_advanced(RELEASE_INTEL_MEMOPS_LIBRARY)
|
||||
mark_as_advanced(DEBUG_INTEL_MEMOPS_LIBRARY)
|
||||
endif (DEBUG_INTEL_MEMOPS_LIBRARY AND RELEASE_INTEL_MEMOPS_LIBRARY)
|
||||
endif (WINDOWS)
|
||||
|
||||
# Add the xui files. This is handy for searching for xui elements
|
||||
@@ -1449,9 +1456,9 @@ if (WINDOWS)
|
||||
endif (WORD_SIZE EQUAL 32)
|
||||
|
||||
if(MANIFEST_LIBRARIES)
|
||||
set(MANIFEST_LIBRARIES "${MANIFEST_LIBRARIES}|${FMODSTUDIO_BINARY_DIR}/${fmodstudio_dll_file}")
|
||||
set(MANIFEST_LIBRARIES "${MANIFEST_LIBRARIES}|${fmodstudio_dll_file}")
|
||||
else(MANIFEST_LIBRARIES)
|
||||
set(MANIFEST_LIBRARIES "--extra_libraries=${FMODSTUDIO_BINARY_DIR}/${fmodstudio_dll_file}")
|
||||
set(MANIFEST_LIBRARIES "--extra_libraries=${fmodstudio_dll_file}")
|
||||
endif(MANIFEST_LIBRARIES)
|
||||
set(EXTRA_LINKER_FLAGS "/DELAYLOAD:${fmodstudio_dll_file}")
|
||||
endif (FMODSTUDIO)
|
||||
@@ -1464,9 +1471,9 @@ if (WINDOWS)
|
||||
endif (WORD_SIZE EQUAL 32)
|
||||
|
||||
if(MANIFEST_LIBRARIES)
|
||||
set(MANIFEST_LIBRARIES "${MANIFEST_LIBRARIES}|${FMODEX_BINARY_DIR}/${fmodex_dll_file}")
|
||||
set(MANIFEST_LIBRARIES "${MANIFEST_LIBRARIES}|${fmodex_dll_file}")
|
||||
else(MANIFEST_LIBRARIES)
|
||||
set(MANIFEST_LIBRARIES "--extra_libraries=${FMODEX_BINARY_DIR}/${fmodex_dll_file}")
|
||||
set(MANIFEST_LIBRARIES "--extra_libraries=${fmodex_dll_file}")
|
||||
endif(MANIFEST_LIBRARIES)
|
||||
set(EXTRA_LINKER_FLAGS "/DELAYLOAD:${fmodex_dll_file}")
|
||||
endif (FMODEX)
|
||||
@@ -1515,8 +1522,6 @@ if (WINDOWS)
|
||||
COMMENT "Copying message.xml to the runtime folder."
|
||||
)
|
||||
|
||||
add_dependencies(${VIEWER_BINARY_NAME} copy_win_libs)
|
||||
|
||||
if (EXISTS ${CMAKE_SOURCE_DIR}/copy_win_scripts)
|
||||
add_dependencies(${VIEWER_BINARY_NAME} copy_win_scripts)
|
||||
endif (EXISTS ${CMAKE_SOURCE_DIR}/copy_win_scripts)
|
||||
@@ -1567,7 +1572,11 @@ if (WINDOWS)
|
||||
COMMENT "Performing viewer_manifest copy"
|
||||
)
|
||||
|
||||
add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit basic_plugin_filepicker winmm_shim)
|
||||
add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit basic_plugin_filepicker)
|
||||
|
||||
if(WORD_SIZE EQUAL 32)
|
||||
add_dependencies(${VIEWER_BINARY_NAME} winmm_shim)
|
||||
endif(WORD_SIZE EQUAL 32)
|
||||
|
||||
if (PACKAGE)
|
||||
add_custom_target(package_viewer ALL DEPENDS ${CMAKE_CFG_INTDIR}/touched.bat)
|
||||
@@ -1802,7 +1811,7 @@ if (PACKAGE)
|
||||
# set(VIEWER_EXE_GLOBS "${VIEWER_BINARY_NAME}${CMAKE_EXECUTABLE_SUFFIX} slplugin.exe")
|
||||
set(VIEWER_EXE_GLOBS "${VIEWER_BINARY_NAME}${CMAKE_EXECUTABLE_SUFFIX}")
|
||||
set(VIEWER_LIB_GLOB "*${CMAKE_SHARED_MODULE_SUFFIX}")
|
||||
set(VIEWER_COPY_MANIFEST copy_w_viewer_manifest)
|
||||
set(VIEWER_DUMP_SYMS dump_syms.exe)
|
||||
endif (WINDOWS)
|
||||
if (DARWIN)
|
||||
list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}")
|
||||
@@ -1814,6 +1823,7 @@ if (PACKAGE)
|
||||
set(VIEWER_SYMBOL_FILE "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/secondlife-symbols-darwin.tar.bz2")
|
||||
set(VIEWER_EXE_GLOBS "'${VIEWER_BRANDING_NAME}' SLPlugin")
|
||||
set(VIEWER_LIB_GLOB "*.dylib")
|
||||
set(VIEWER_DUMP_SYMS dump_syms)
|
||||
endif (DARWIN)
|
||||
if (LINUX)
|
||||
list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_CURRENT_BINARY_DIR}/packaged")
|
||||
@@ -1821,6 +1831,7 @@ if (PACKAGE)
|
||||
set(VIEWER_EXE_GLOBS "${VIEWER_BRANDING_ID}-do-not-run-directly SLPlugin")
|
||||
set(VIEWER_LIB_GLOB "*${CMAKE_SHARED_MODULE_SUFFIX}*")
|
||||
set(VIEWER_COPY_MANIFEST copy_l_viewer_manifest)
|
||||
set(VIEWER_DUMP_SYMS dump_syms)
|
||||
endif (LINUX)
|
||||
|
||||
if(RELEASE_CRASH_REPORTING OR NON_RELEASE_CRASH_REPORTING)
|
||||
@@ -1839,13 +1850,16 @@ if (PACKAGE)
|
||||
"${SYMBOL_SEARCH_DIRS}"
|
||||
"${VIEWER_EXE_GLOBS}"
|
||||
"${VIEWER_LIB_GLOB}"
|
||||
"${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/bin/dump_syms"
|
||||
"${LIBS_PREBUILT_DIR}/bin/${VIEWER_DUMP_SYMS}|${LIBS_PREBUILT_LEGACY_DIR}/bin/${VIEWER_DUMP_SYMS}"
|
||||
"${VIEWER_SYMBOL_FILE}"
|
||||
DEPENDS generate_breakpad_symbols.py
|
||||
VERBATIM)
|
||||
|
||||
add_custom_target(generate_breakpad_symbols DEPENDS "${VIEWER_SYMBOL_FILE}")
|
||||
add_dependencies(generate_breakpad_symbols "${VIEWER_BINARY_NAME}" "${VIEWER_COPY_MANIFEST}")
|
||||
add_dependencies(generate_breakpad_symbols ${VIEWER_BINARY_NAME})
|
||||
if(VIEWER_COPY_MANIFEST)
|
||||
add_dependencies(generate_breakpad_symbols ${VIEWER_COPY_MANIFEST})
|
||||
endif(VIEWER_COPY_MANIFEST)
|
||||
add_dependencies(package_viewer generate_breakpad_symbols)
|
||||
endif(RELEASE_CRASH_REPORTING OR NON_RELEASE_CRASH_REPORTING)
|
||||
endif (PACKAGE)
|
||||
|
||||
@@ -83,10 +83,15 @@ def main(configuration, search_dirs, viewer_exes, libs_suffix, dump_syms_tool, v
|
||||
def dump_module(m):
|
||||
print "dumping module '%s' with '%s'..." % (m, dump_syms_tool)
|
||||
dsym_full_path = m
|
||||
child = subprocess.Popen([dump_syms_tool, dsym_full_path] , stdout=subprocess.PIPE)
|
||||
out, err = child.communicate()
|
||||
return (m,child.returncode, out, err)
|
||||
|
||||
|
||||
tools = dump_syms_tool.split('|')
|
||||
for tool in tools:
|
||||
if tool:
|
||||
if os.path.isfile(tool):
|
||||
child = subprocess.Popen([tool, dsym_full_path] , stdout=subprocess.PIPE)
|
||||
out, err = child.communicate()
|
||||
return (m,child.returncode, out, err)
|
||||
raise IOError('Failed to find dump_syms tool!')
|
||||
|
||||
modules = {}
|
||||
|
||||
|
||||
@@ -187,11 +187,8 @@ class WindowsManifest(ViewerManifest):
|
||||
# the final exe is complicated because we're not sure where it's coming from,
|
||||
# nor do we have a fixed name for the executable
|
||||
self.path(src='%s/secondlife-bin.exe' % self.args['configuration'], dst=self.final_exe())
|
||||
|
||||
if self.is_win64():
|
||||
release_lib_dir = "../../libraries/x86_64-win/lib/release"
|
||||
else:
|
||||
release_lib_dir = "../../libraries/i686-win32/lib/release"
|
||||
|
||||
release_lib_dir = "Release"
|
||||
|
||||
# Plugin host application
|
||||
self.path(os.path.join(os.pardir,
|
||||
@@ -256,7 +253,7 @@ class WindowsManifest(ViewerManifest):
|
||||
self.end_prefix()
|
||||
|
||||
# For WebKit/Qt plugin runtimes
|
||||
if self.prefix(src=release_lib_dir, dst="llplugin"):
|
||||
if self.prefix(src=release_lib_dir+"/llplugin", dst="llplugin"):
|
||||
self.path("libeay32.dll")
|
||||
self.path("qtcore4.dll")
|
||||
self.path("qtgui4.dll")
|
||||
@@ -268,7 +265,7 @@ class WindowsManifest(ViewerManifest):
|
||||
self.end_prefix()
|
||||
|
||||
# For WebKit/Qt plugin runtimes (image format plugins)
|
||||
if self.prefix(src=release_lib_dir+"/imageformats", dst="llplugin/imageformats"):
|
||||
if self.prefix(src=release_lib_dir+"/llplugin/imageformats", dst="llplugin/imageformats"):
|
||||
self.path("qgif4.dll")
|
||||
self.path("qico4.dll")
|
||||
self.path("qjpeg4.dll")
|
||||
@@ -277,7 +274,7 @@ class WindowsManifest(ViewerManifest):
|
||||
self.path("qtiff4.dll")
|
||||
self.end_prefix()
|
||||
|
||||
if self.prefix(src=release_lib_dir+"/codecs", dst="llplugin/codecs"):
|
||||
if self.prefix(src=release_lib_dir+"/llplugin/codecs", dst="llplugin/codecs"):
|
||||
self.path("qcncodecs4.dll")
|
||||
self.path("qjpcodecs4.dll")
|
||||
self.path("qkrcodecs4.dll")
|
||||
@@ -311,7 +308,7 @@ class WindowsManifest(ViewerManifest):
|
||||
self.path("msvc*.dll")
|
||||
except:
|
||||
try:
|
||||
if self.prefix(release_lib_dir+"/msvcrt", dst=""):
|
||||
if self.prefix(src=release_lib_dir+"/msvcrt", dst=""):
|
||||
self.path("*.dll")
|
||||
self.path("*.manifest")
|
||||
self.end_prefix()
|
||||
@@ -319,7 +316,7 @@ class WindowsManifest(ViewerManifest):
|
||||
pass
|
||||
|
||||
# Vivox runtimes
|
||||
if self.prefix(src="vivox-runtime/i686-win32", dst=""):
|
||||
if self.prefix(src=release_lib_dir, dst=""):
|
||||
self.path("SLVoice.exe")
|
||||
self.path("ca-bundle.crt")
|
||||
self.path("libsndfile-1.dll")
|
||||
@@ -334,9 +331,8 @@ class WindowsManifest(ViewerManifest):
|
||||
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])
|
||||
if self.prefix(src=release_lib_dir, dst=""):
|
||||
self.path(path)
|
||||
self.end_prefix()
|
||||
|
||||
self.package_file = 'none'
|
||||
|
||||
Reference in New Issue
Block a user