|
|
|
|
@@ -4,8 +4,9 @@ project(viewer)
|
|
|
|
|
|
|
|
|
|
include(00-Common)
|
|
|
|
|
include(Boost)
|
|
|
|
|
include(BuildPackagesInfo)
|
|
|
|
|
include(CMakeCopyIfDifferent)
|
|
|
|
|
include(DBusGlib)
|
|
|
|
|
include(DirectX)
|
|
|
|
|
include(ELFIO)
|
|
|
|
|
if(FMODSTUDIO)
|
|
|
|
|
include(FMODSTUDIO)
|
|
|
|
|
@@ -13,11 +14,12 @@ endif(FMODSTUDIO)
|
|
|
|
|
if(FMODEX)
|
|
|
|
|
include(FMODEX)
|
|
|
|
|
endif(FMODEX)
|
|
|
|
|
include(OPENAL)
|
|
|
|
|
include(GLOD)
|
|
|
|
|
include(FindOpenGL)
|
|
|
|
|
include(Hunspell)
|
|
|
|
|
include(JsonCpp)
|
|
|
|
|
include(LLAddBuildTest)
|
|
|
|
|
include(LLAppearance)
|
|
|
|
|
include(LLAudio)
|
|
|
|
|
include(LLCharacter)
|
|
|
|
|
include(LLCommon)
|
|
|
|
|
@@ -38,12 +40,12 @@ include(LLXML)
|
|
|
|
|
include(Linking)
|
|
|
|
|
include(NDOF)
|
|
|
|
|
include(NVAPI)
|
|
|
|
|
include(OPENAL)
|
|
|
|
|
include(StateMachine)
|
|
|
|
|
include(TemplateCheck)
|
|
|
|
|
include(UI)
|
|
|
|
|
include(ViewerMiscLibs)
|
|
|
|
|
include(GLOD)
|
|
|
|
|
include(LLAppearance)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (WINDOWS)
|
|
|
|
|
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP)
|
|
|
|
|
@@ -74,8 +76,6 @@ include_directories(
|
|
|
|
|
${LLWINDOW_INCLUDE_DIRS}
|
|
|
|
|
${LLXML_INCLUDE_DIRS}
|
|
|
|
|
${LLAPPEARANCE_INCLUDE_DIRS}
|
|
|
|
|
# ${LSCRIPT_INCLUDE_DIRS}
|
|
|
|
|
# ${LSCRIPT_INCLUDE_DIRS}/lscript_compile
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
set(viewer_SOURCE_FILES
|
|
|
|
|
@@ -1212,15 +1212,8 @@ if (WINDOWS)
|
|
|
|
|
PROPERTIES
|
|
|
|
|
COMPILE_FLAGS "/Ycllviewerprecompiledheaders.h"
|
|
|
|
|
)
|
|
|
|
|
foreach( src_file ${viewer_SOURCE_FILES} )
|
|
|
|
|
set_source_files_properties(
|
|
|
|
|
${src_file}
|
|
|
|
|
PROPERTIES
|
|
|
|
|
COMPILE_FLAGS "/Yullviewerprecompiledheaders.h"
|
|
|
|
|
)
|
|
|
|
|
endforeach( src_file ${viewer_SOURCE_FILES} )
|
|
|
|
|
list(APPEND viewer_SOURCE_FILES llviewerprecompiledheaders.cpp)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Add resource files to the project.
|
|
|
|
|
# viewerRes.rc is the only buildable file, but
|
|
|
|
|
# the rest are all dependencies of it.
|
|
|
|
|
@@ -1274,20 +1267,13 @@ if (WINDOWS)
|
|
|
|
|
|
|
|
|
|
list(APPEND viewer_SOURCE_FILES ${viewer_RESOURCE_FILES})
|
|
|
|
|
|
|
|
|
|
find_library(DINPUT_LIBRARY dinput8 ${DIRECTX_LIBRARY_DIR})
|
|
|
|
|
find_library(DXGUID_LIBRARY dxguid ${DIRECTX_LIBRARY_DIR})
|
|
|
|
|
mark_as_advanced(
|
|
|
|
|
DINPUT_LIBRARY
|
|
|
|
|
DXGUID_LIBRARY
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# see EXP-1765 - theory is opengl32.lib needs to be included before gdi32.lib (windows libs)
|
|
|
|
|
set(viewer_LIBRARIES
|
|
|
|
|
opengl32
|
|
|
|
|
advapi32
|
|
|
|
|
comdlg32
|
|
|
|
|
${DINPUT_LIBRARY}
|
|
|
|
|
${DXGUID_LIBRARY}
|
|
|
|
|
dinput8
|
|
|
|
|
dxguid
|
|
|
|
|
gdi32
|
|
|
|
|
kernel32
|
|
|
|
|
odbc32
|
|
|
|
|
@@ -1300,27 +1286,6 @@ if (WINDOWS)
|
|
|
|
|
Wbemuuid
|
|
|
|
|
winspool
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
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(RELEASE_INTEL_MEMOPS_LIBRARY ll_intel_memops
|
|
|
|
|
PATHS
|
|
|
|
|
${LIBS_PREBUILT_DIR}/lib/release
|
|
|
|
|
${LIBS_PREBUILT_LEGACY_DIR}/lib/release
|
|
|
|
|
"${QUICKTIME_SDK_DIR}\\libraries"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
@@ -1418,42 +1383,8 @@ add_executable(${VIEWER_BINARY_NAME}
|
|
|
|
|
${viewer_SOURCE_FILES}
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if (!DISABLE_TEMPLATE_CHECK)
|
|
|
|
|
check_message_template(${VIEWER_BINARY_NAME})
|
|
|
|
|
endif (!DISABLE_TEMPLATE_CHECK)
|
|
|
|
|
|
|
|
|
|
set(PACKAGE OFF CACHE BOOL
|
|
|
|
|
"Add a package_viewer target that builds an installer package.")
|
|
|
|
|
|
|
|
|
|
if(FMOD_LIBRARY_RELEASE)
|
|
|
|
|
get_filename_component(fmod_lib_rel_name ${FMOD_LIBRARY_RELEASE} NAME)
|
|
|
|
|
get_filename_component(fmod_lib_deb_name ${FMOD_LIBRARY_DEBUG} NAME)
|
|
|
|
|
add_custom_command(OUTPUT fmod_lib.marker
|
|
|
|
|
COMMENT "Copying fmod library to executable directory"
|
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<$<NOT:$<CONFIG:debug>>:${FMOD_LIBRARY_RELEASE}>$<$<CONFIG:debug>:${FMOD_LIBRARY_DEBUG}>" "${CMAKE_CFG_INTDIR}/$<$<NOT:$<CONFIG:debug>>:${fmod_lib_rel_name}>$<$<CONFIG:debug>:${fmod_lib_deb_name}>"
|
|
|
|
|
DEPENDS "${FMOD_LIBRARY_RELEASE}")
|
|
|
|
|
add_custom_target(fmod_lib_copy DEPENDS fmod_lib.marker prepare)
|
|
|
|
|
if(DARWIN AND FMOD_EXTERNAL_LIB)
|
|
|
|
|
add_custom_command(OUTPUT fmod_lib_install.marker
|
|
|
|
|
COMMAND install_name_tool -id "@executable_path/../Resources/$<$<NOT:$<CONFIG:debug>>:${fmod_lib_rel_name}>$<$<CONFIG:debug>:${FMOD_LIBRARY_DEBUG}>" "${CMAKE_CFG_INTDIR}/$<$<NOT:$<CONFIG:debug>>:${fmod_lib_rel_name}>$<$<CONFIG:debug>:${fmod_lib_deb_name}>"
|
|
|
|
|
DEPENDS fmod_lib.marker)
|
|
|
|
|
add_dependencies(fmod_lib_copy fmod_lib_install.marker)
|
|
|
|
|
endif(DARWIN AND FMOD_EXTERNAL_LIB)
|
|
|
|
|
add_dependencies(${VIEWER_BINARY_NAME} fmod_lib_copy)
|
|
|
|
|
|
|
|
|
|
#viewer_manifest.py needs these libraries (for now its all dylib)
|
|
|
|
|
if(MANIFEST_LIBRARIES)
|
|
|
|
|
set(MANIFEST_LIBRARIES ${MANIFEST_LIBRARIES}|optimized ${fmod_lib_rel_name}|debug ${fmod_lib_deb_name})
|
|
|
|
|
else(MANIFEST_LIBRARIES)
|
|
|
|
|
set(MANIFEST_LIBRARIES optimized ${fmod_lib_rel_name}|debug ${fmod_lib_deb_name})
|
|
|
|
|
endif(MANIFEST_LIBRARIES)
|
|
|
|
|
|
|
|
|
|
if(WINDOWS) #If windows, fmod_lib_<config> points to a dll. The correct .lib needs to be linked (but copying is not necessary)
|
|
|
|
|
set(EXTRA_LINKER_FLAGS_RELEASE "/DELAYLOAD:${fmod_lib_rel_name}")
|
|
|
|
|
set(EXTRA_LINKER_FLAGS_DEBUG "/DELAYLOAD:${fmod_lib_deb_name}")
|
|
|
|
|
endif(WINDOWS)
|
|
|
|
|
list(APPEND viewer_LIBRARIES optimized "${FMOD_LINK_LIBRARY_RELEASE}" debug "${FMOD_LINK_LIBRARY_DEBUG}" )
|
|
|
|
|
endif(FMOD_LIBRARY_RELEASE)
|
|
|
|
|
"Add a package target that builds an installer package.")
|
|
|
|
|
|
|
|
|
|
if (WINDOWS)
|
|
|
|
|
set(release_flags "/MAP")
|
|
|
|
|
@@ -1466,6 +1397,119 @@ if (WINDOWS)
|
|
|
|
|
LINK_FLAGS_RELWITHDEBINFO "${release_flags} ${EXTRA_LINKER_FLAGS_RELEASE}"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if(USE_PRECOMPILED_HEADERS)
|
|
|
|
|
set_target_properties(
|
|
|
|
|
${VIEWER_BINARY_NAME}
|
|
|
|
|
PROPERTIES
|
|
|
|
|
COMPILE_FLAGS "/Yullviewerprecompiledheaders.h"
|
|
|
|
|
)
|
|
|
|
|
endif(USE_PRECOMPILED_HEADERS)
|
|
|
|
|
|
|
|
|
|
# If adding a file to viewer_manifest.py in the WindowsManifest.construct() method, be sure to add the dependency
|
|
|
|
|
# here.
|
|
|
|
|
# *NOTE:Mani - This is a crappy hack to have important dependencies for the viewer_manifest copy action
|
|
|
|
|
# be met. I'm looking forward to a source-code split-up project next year that will address this kind of thing.
|
|
|
|
|
# In the meantime, if you have any ideas on how to easily maintain one list, either here or in viewer_manifest.py
|
|
|
|
|
# and have the build deps get tracked *please* tell me about it.
|
|
|
|
|
|
|
|
|
|
if(USE_TCMALLOC)
|
|
|
|
|
# Configure a var for tcmalloc location, if used.
|
|
|
|
|
# Note the need to specify multiple names explicitly.
|
|
|
|
|
set(GOOGLE_PERF_TOOLS_SOURCE
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/Release/libtcmalloc_minimal.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/libtcmalloc_minimal.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/Debug/libtcmalloc_minimal-debug.dll
|
|
|
|
|
)
|
|
|
|
|
endif(USE_TCMALLOC)
|
|
|
|
|
|
|
|
|
|
set(COPY_INPUT_DEPENDENCIES
|
|
|
|
|
# The following commented dependencies are determined at variably at build time. Can't do this here.
|
|
|
|
|
#${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libtcmalloc_minimal.dll => None ... Skipping libtcmalloc_minimal.dll
|
|
|
|
|
${CMAKE_SOURCE_DIR}/../etc/message.xml
|
|
|
|
|
${CMAKE_SOURCE_DIR}/../scripts/messages/message_template.msg
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/llcommon.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libapr-1.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libaprutil-1.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libapriconv-1.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/Release/glod.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/glod.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/Debug/glod.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/Release/openjpeg.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/openjpeg.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/Debug/openjpegd.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/Release/libhunspell.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/libhunspell.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/Debug/libhunspell.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/SLVoice.exe
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/vivoxsdk.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/ortp.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libsndfile-1.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/zlib1.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/vivoxplatform.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/vivoxoal.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/ca-bundle.crt
|
|
|
|
|
${GOOGLE_PERF_TOOLS_SOURCE}
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/licenses-win32.txt
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/featuretable.txt
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/featuretable_xp.txt
|
|
|
|
|
${ARCH_PREBUILT_DIRS_RELEASE}/libeay32.dll
|
|
|
|
|
${ARCH_PREBUILT_DIRS_RELEASE}/ssleay32.dll
|
|
|
|
|
${ARCH_PREBUILT_DIRS_DEBUG}/libeay32.dll
|
|
|
|
|
${ARCH_PREBUILT_DIRS_DEBUG}/ssleay32.dll
|
|
|
|
|
SLPlugin
|
|
|
|
|
media_plugin_quicktime
|
|
|
|
|
media_plugin_cef
|
|
|
|
|
windows-crash-logger
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if (FMODSTUDIO)
|
|
|
|
|
if (WORD_SIZE EQUAL 64)
|
|
|
|
|
list(APPEND COPY_INPUT_DEPENDENCIES
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/Release/fmod64.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/fmod64.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/Debug/fmodL64.dll
|
|
|
|
|
)
|
|
|
|
|
else (WORD_SIZE EQUAL 64)
|
|
|
|
|
list(APPEND COPY_INPUT_DEPENDENCIES
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/Release/fmod.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/fmod.dll
|
|
|
|
|
${SHARED_LIB_STAGING_DIR}/Debug/fmodL.dll
|
|
|
|
|
)
|
|
|
|
|
endif (WORD_SIZE EQUAL 64)
|
|
|
|
|
endif (FMODSTUDIO)
|
|
|
|
|
|
|
|
|
|
add_custom_command(
|
|
|
|
|
OUTPUT ${CMAKE_CFG_INTDIR}/copy_touched.bat
|
|
|
|
|
COMMAND ${PYTHON_EXECUTABLE}
|
|
|
|
|
ARGS
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
|
|
|
|
|
--actions=copy
|
|
|
|
|
--arch=${ARCH}
|
|
|
|
|
--artwork=${ARTWORK_DIR}
|
|
|
|
|
--branding_id=${VIEWER_BRANDING_ID}
|
|
|
|
|
--build=${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
|
--channel=${VIEWER_CHANNEL}
|
|
|
|
|
--configuration=${CMAKE_CFG_INTDIR}
|
|
|
|
|
--dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
|
|
|
|
|
--grid=${GRID}
|
|
|
|
|
--login_channel=${VIEWER_LOGIN_CHANNEL}
|
|
|
|
|
--source=${CMAKE_CURRENT_SOURCE_DIR}
|
|
|
|
|
--touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/copy_touched.bat
|
|
|
|
|
--extra_libraries="${MANIFEST_LIBRARIES}"
|
|
|
|
|
DEPENDS
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
|
|
|
|
|
stage_third_party_libs
|
|
|
|
|
${COPY_INPUT_DEPENDENCIES}
|
|
|
|
|
COMMENT "Performing viewer_manifest copy"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_custom_target(copy_w_viewer_manifest ALL DEPENDS ${CMAKE_CFG_INTDIR}/copy_touched.bat)
|
|
|
|
|
|
|
|
|
|
add_dependencies(${VIEWER_BINARY_NAME} stage_third_party_libs llcommon copy_w_viewer_manifest)
|
|
|
|
|
|
|
|
|
|
if (EXISTS ${CMAKE_SOURCE_DIR}/copy_win_scripts)
|
|
|
|
|
add_dependencies(${VIEWER_BINARY_NAME} copy_win_scripts)
|
|
|
|
|
endif (EXISTS ${CMAKE_SOURCE_DIR}/copy_win_scripts)
|
|
|
|
|
# sets the 'working directory' for debugging from visual studio.
|
|
|
|
|
if (NOT UNATTENDED)
|
|
|
|
|
add_custom_command(
|
|
|
|
|
@@ -1481,32 +1525,6 @@ if (WINDOWS)
|
|
|
|
|
)
|
|
|
|
|
endif (NOT UNATTENDED)
|
|
|
|
|
|
|
|
|
|
add_custom_command(
|
|
|
|
|
TARGET ${VIEWER_BINARY_NAME} PRE_BUILD
|
|
|
|
|
COMMAND ${CMAKE_COMMAND}
|
|
|
|
|
ARGS
|
|
|
|
|
-E
|
|
|
|
|
copy_if_different
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../../scripts/messages/message_template.msg
|
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/app_settings/message_template.msg
|
|
|
|
|
COMMENT "Copying message_template.msg to the runtime folder."
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_custom_command(
|
|
|
|
|
TARGET ${VIEWER_BINARY_NAME} PRE_BUILD
|
|
|
|
|
COMMAND ${CMAKE_COMMAND}
|
|
|
|
|
ARGS
|
|
|
|
|
-E
|
|
|
|
|
copy_if_different
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../../etc/message.xml
|
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/app_settings/message.xml
|
|
|
|
|
COMMENT "Copying message.xml to the runtime folder."
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if (EXISTS ${CMAKE_SOURCE_DIR}/copy_win_scripts)
|
|
|
|
|
add_dependencies(${VIEWER_BINARY_NAME} copy_win_scripts)
|
|
|
|
|
endif (EXISTS ${CMAKE_SOURCE_DIR}/copy_win_scripts)
|
|
|
|
|
|
|
|
|
|
add_custom_command(
|
|
|
|
|
OUTPUT ${CMAKE_CFG_INTDIR}/touched.bat
|
|
|
|
|
COMMAND ${PYTHON_EXECUTABLE}
|
|
|
|
|
@@ -1527,40 +1545,14 @@ if (WINDOWS)
|
|
|
|
|
DEPENDS
|
|
|
|
|
${VIEWER_BINARY_NAME}
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
|
|
|
|
|
${COPY_INPUT_DEPENDENCIES}
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_custom_command(
|
|
|
|
|
OUTPUT ${CMAKE_CFG_INTDIR}/copy_touched.bat
|
|
|
|
|
COMMAND ${PYTHON_EXECUTABLE}
|
|
|
|
|
ARGS
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
|
|
|
|
|
--arch=${ARCH}
|
|
|
|
|
--artwork=${ARTWORK_DIR}
|
|
|
|
|
--actions=copy
|
|
|
|
|
--branding_id=${VIEWER_BRANDING_ID}
|
|
|
|
|
--build=${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
|
--channel=${VIEWER_CHANNEL}
|
|
|
|
|
--configuration=${CMAKE_CFG_INTDIR}
|
|
|
|
|
--dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
|
|
|
|
|
--grid=${GRID}
|
|
|
|
|
--login_channel=${VIEWER_LOGIN_CHANNEL}
|
|
|
|
|
--source=${CMAKE_CURRENT_SOURCE_DIR}
|
|
|
|
|
--touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/copy_touched.bat
|
|
|
|
|
--extra_libraries="${MANIFEST_LIBRARIES}"
|
|
|
|
|
DEPENDS
|
|
|
|
|
${VIEWER_BINARY_NAME}
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
|
|
|
|
|
COMMENT "Performing viewer_manifest copy"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
add_custom_target(llpackage ALL DEPENDS
|
|
|
|
|
${CMAKE_CFG_INTDIR}/touched.bat
|
|
|
|
|
windows-setup-build-all
|
|
|
|
|
)
|
|
|
|
|
endif (PACKAGE)
|
|
|
|
|
endif (WINDOWS)
|
|
|
|
|
|
|
|
|
|
@@ -1679,8 +1671,8 @@ if (LINUX)
|
|
|
|
|
add_custom_target(copy_l_viewer_manifest ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.copy_touched)
|
|
|
|
|
|
|
|
|
|
if (PACKAGE)
|
|
|
|
|
add_custom_target(package_viewer ALL DEPENDS ${product}.tar.bz2)
|
|
|
|
|
add_dependencies(package_viewer copy_l_viewer_manifest)
|
|
|
|
|
add_custom_target(llpackage ALL DEPENDS ${product}.tar.bz2)
|
|
|
|
|
add_dependencies(llpackage copy_l_viewer_manifest)
|
|
|
|
|
endif (PACKAGE)
|
|
|
|
|
endif (LINUX)
|
|
|
|
|
|
|
|
|
|
@@ -1723,10 +1715,10 @@ if (DARWIN)
|
|
|
|
|
add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit basic_plugin_filepicker)
|
|
|
|
|
|
|
|
|
|
if (PACKAGE)
|
|
|
|
|
add_custom_target(package_viewer ALL DEPENDS ${VIEWER_BINARY_NAME})
|
|
|
|
|
add_custom_target(llpackage ALL DEPENDS ${VIEWER_BINARY_NAME})
|
|
|
|
|
|
|
|
|
|
add_custom_command(
|
|
|
|
|
TARGET package_viewer POST_BUILD
|
|
|
|
|
TARGET llpackage POST_BUILD
|
|
|
|
|
COMMAND ${PYTHON_EXECUTABLE}
|
|
|
|
|
ARGS
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
|
|
|
|
|
@@ -1764,7 +1756,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_DUMP_SYMS dump_syms.exe)
|
|
|
|
|
set(VIEWER_COPY_MANIFEST copy_w_viewer_manifest)
|
|
|
|
|
endif (WINDOWS)
|
|
|
|
|
if (DARWIN)
|
|
|
|
|
list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}")
|
|
|
|
|
@@ -1773,18 +1765,16 @@ if (PACKAGE)
|
|
|
|
|
list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/plugins/gstreamer010/${CMAKE_CFG_INTDIR}")
|
|
|
|
|
list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/plugins/quicktime/${CMAKE_CFG_INTDIR}")
|
|
|
|
|
list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/plugins/webkit/${CMAKE_CFG_INTDIR}")
|
|
|
|
|
set(VIEWER_SYMBOL_FILE "${SYMBOL_NAME}-darwin.tar.bz2")
|
|
|
|
|
set(VIEWER_SYMBOL_FILE "${SYMBOL_NAME}-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")
|
|
|
|
|
set(VIEWER_SYMBOL_FILE "${SYMBOL_NAME}-linux-${ARCH}.tar.bz2")
|
|
|
|
|
set(VIEWER_SYMBOL_FILE "${SYMBOL_NAME}-linux-${ARCH}.tar.bz2")
|
|
|
|
|
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)
|
|
|
|
|
@@ -1803,7 +1793,7 @@ if (PACKAGE)
|
|
|
|
|
"${SYMBOL_SEARCH_DIRS}"
|
|
|
|
|
"${VIEWER_EXE_GLOBS}"
|
|
|
|
|
"${VIEWER_LIB_GLOB}"
|
|
|
|
|
"${LIBS_PREBUILT_DIR}/bin/${VIEWER_DUMP_SYMS}|${LIBS_PREBUILT_LEGACY_DIR}/bin/${VIEWER_DUMP_SYMS}"
|
|
|
|
|
"${AUTOBUILD_INSTALL_DIR}/bin/dump_syms"
|
|
|
|
|
"${VIEWER_SYMBOL_FILE}"
|
|
|
|
|
DEPENDS generate_breakpad_symbols.py
|
|
|
|
|
VERBATIM)
|
|
|
|
|
@@ -1813,143 +1803,13 @@ if (PACKAGE)
|
|
|
|
|
if(VIEWER_COPY_MANIFEST)
|
|
|
|
|
add_dependencies(generate_breakpad_symbols ${VIEWER_COPY_MANIFEST})
|
|
|
|
|
endif(VIEWER_COPY_MANIFEST)
|
|
|
|
|
add_dependencies(package_viewer generate_breakpad_symbols)
|
|
|
|
|
add_dependencies(llpackage generate_breakpad_symbols)
|
|
|
|
|
endif(RELEASE_CRASH_REPORTING OR NON_RELEASE_CRASH_REPORTING)
|
|
|
|
|
endif (PACKAGE)
|
|
|
|
|
|
|
|
|
|
# Add tests
|
|
|
|
|
if (LL_TESTS)
|
|
|
|
|
ADD_VIEWER_BUILD_TEST(llagentaccess viewer)
|
|
|
|
|
#ADD_VIEWER_BUILD_TEST(llworldmap viewer)
|
|
|
|
|
#ADD_VIEWER_BUILD_TEST(llworldmipmap viewer)
|
|
|
|
|
ADD_VIEWER_BUILD_TEST(lltextureinfo viewer)
|
|
|
|
|
ADD_VIEWER_BUILD_TEST(lltextureinfodetails viewer)
|
|
|
|
|
ADD_VIEWER_BUILD_TEST(lltexturestatsuploader viewer)
|
|
|
|
|
#ADD_VIEWER_COMM_BUILD_TEST(lltranslate viewer "")
|
|
|
|
|
endif (LL_TESTS)
|
|
|
|
|
|
|
|
|
|
# Don't do these for DARWIN or LINUX here -- they're taken care of by viewer_manifest.py
|
|
|
|
|
if (WINDOWS)
|
|
|
|
|
check_message_template(${VIEWER_BINARY_NAME})
|
|
|
|
|
|
|
|
|
|
IF(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS)
|
|
|
|
|
FOREACH(RUNTIME_LIB ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS})
|
|
|
|
|
add_custom_command(
|
|
|
|
|
TARGET ${VIEWER_BINARY_NAME} POST_BUILD
|
|
|
|
|
COMMAND ${CMAKE_COMMAND}
|
|
|
|
|
ARGS
|
|
|
|
|
-E
|
|
|
|
|
copy_if_different
|
|
|
|
|
${RUNTIME_LIB}
|
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
|
COMMENT "Copying ${RUNTIME_LIB} to the runtime folder."
|
|
|
|
|
)
|
|
|
|
|
ENDFOREACH(RUNTIME_LIB ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS})
|
|
|
|
|
ENDIF(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS)
|
|
|
|
|
|
|
|
|
|
SET(BUILT_LLCOMMON $<TARGET_FILE:llcommon>)
|
|
|
|
|
|
|
|
|
|
set_target_properties(llcommon
|
|
|
|
|
PROPERTIES
|
|
|
|
|
LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT"
|
|
|
|
|
LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\""
|
|
|
|
|
LINK_FLAGS_RELEASE "${release_flags} /LTCG"
|
|
|
|
|
LINK_FLAGS_RELWITHDEBINFO "${release_flags}"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_custom_command(
|
|
|
|
|
TARGET ${VIEWER_BINARY_NAME} POST_BUILD
|
|
|
|
|
COMMAND ${CMAKE_COMMAND}
|
|
|
|
|
ARGS
|
|
|
|
|
-E
|
|
|
|
|
copy_if_different
|
|
|
|
|
${BUILT_LLCOMMON}
|
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
|
|
|
|
|
COMMENT "Copying llcommon.dll to the runtime folder."
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
SET(BUILT_SLPLUGIN $<TARGET_FILE:SLPlugin>)
|
|
|
|
|
add_custom_command(
|
|
|
|
|
TARGET ${VIEWER_BINARY_NAME} POST_BUILD
|
|
|
|
|
COMMAND ${CMAKE_COMMAND}
|
|
|
|
|
ARGS
|
|
|
|
|
-E
|
|
|
|
|
copy_if_different
|
|
|
|
|
${BUILT_SLPLUGIN}
|
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
|
|
|
|
|
COMMENT "Copying SLPlugin executable to the runtime folder."
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
SET(BUILT_WEBKIT_PLUGIN $<TARGET_FILE:media_plugin_webkit>)
|
|
|
|
|
add_custom_command(
|
|
|
|
|
TARGET ${VIEWER_BINARY_NAME} POST_BUILD
|
|
|
|
|
COMMAND ${CMAKE_COMMAND}
|
|
|
|
|
ARGS
|
|
|
|
|
-E
|
|
|
|
|
copy_if_different
|
|
|
|
|
${BUILT_WEBKIT_PLUGIN}
|
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llplugin
|
|
|
|
|
COMMENT "Copying WebKit Plugin to the runtime folder."
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
SET(BUILT_QUICKTIME_PLUGIN $<TARGET_FILE:media_plugin_quicktime>)
|
|
|
|
|
add_custom_command(
|
|
|
|
|
TARGET ${VIEWER_BINARY_NAME} POST_BUILD
|
|
|
|
|
COMMAND ${CMAKE_COMMAND}
|
|
|
|
|
ARGS
|
|
|
|
|
-E
|
|
|
|
|
copy_if_different
|
|
|
|
|
${BUILT_QUICKTIME_PLUGIN}
|
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llplugin
|
|
|
|
|
COMMENT "Copying Quicktime Plugin to the runtime folder."
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
SET(BUILT_FILEPICKER_PLUGIN $<TARGET_FILE:basic_plugin_filepicker>)
|
|
|
|
|
add_custom_command(
|
|
|
|
|
TARGET ${VIEWER_BINARY_NAME} POST_BUILD
|
|
|
|
|
COMMAND ${CMAKE_COMMAND}
|
|
|
|
|
ARGS
|
|
|
|
|
-E
|
|
|
|
|
copy_if_different
|
|
|
|
|
${BUILT_FILEPICKER_PLUGIN}
|
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llplugin
|
|
|
|
|
COMMENT "Copying filepicker Plugin to the runtime folder."
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# winmm doesn't build on windows 64
|
|
|
|
|
if(WORD_SIZE EQUAL 32)
|
|
|
|
|
SET(BUILT_WINMM_SHIM_PLUGIN $<TARGET_FILE:winmm_shim>)
|
|
|
|
|
add_custom_command(
|
|
|
|
|
TARGET ${VIEWER_BINARY_NAME} POST_BUILD
|
|
|
|
|
COMMAND ${CMAKE_COMMAND}
|
|
|
|
|
ARGS
|
|
|
|
|
-E
|
|
|
|
|
copy_if_different
|
|
|
|
|
${BUILT_WINMM_SHIM_PLUGIN}
|
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
|
|
|
|
|
COMMENT "Copying winmm.dll to the runtime folder."
|
|
|
|
|
)
|
|
|
|
|
endif(WORD_SIZE EQUAL 32)
|
|
|
|
|
|
|
|
|
|
# Copying the mime_types.xml file to app_settings
|
|
|
|
|
set(mime_types_source "${CMAKE_SOURCE_DIR}/newview/skins/default/xui/en-us")
|
|
|
|
|
set(mime_types_dest "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/app_settings")
|
|
|
|
|
add_custom_command(
|
|
|
|
|
TARGET ${VIEWER_BINARY_NAME} POST_BUILD
|
|
|
|
|
COMMAND ${CMAKE_COMMAND}
|
|
|
|
|
ARGS
|
|
|
|
|
-E
|
|
|
|
|
copy_if_different
|
|
|
|
|
${mime_types_source}/mime_types_windows.xml
|
|
|
|
|
${mime_types_dest}/mime_types.xml
|
|
|
|
|
COMMENT "Copying mime_types_windows.xml to mime_types.xml."
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
endif (WINDOWS)
|
|
|
|
|
|
|
|
|
|
if (DARWIN)
|
|
|
|
|
# Don't do this here -- it's taken care of by viewer_manifest.py
|
|
|
|
|
# add_custom_command(TARGET ${VIEWER_BINARY_NAME} POST_BUILD
|
|
|
|
|
# COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib/release/libllqtwebkit.dylib ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llplugin/
|
|
|
|
|
# DEPENDS ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib/release/libllqtwebkit.dylib
|
|
|
|
|
# )
|
|
|
|
|
endif (DARWIN)
|
|
|
|
|
|