diff --git a/indra/CMakeLists.txt b/indra/CMakeLists.txt index d4ee2d244..e81510b2c 100644 --- a/indra/CMakeLists.txt +++ b/indra/CMakeLists.txt @@ -97,8 +97,8 @@ if (VIEWER) if (EXISTS ${VIEWER_DIR}win_setup) add_subdirectory(${VIEWER_DIR}win_setup) endif (EXISTS ${VIEWER_DIR}win_setup) - #add_subdirectory(${VIEWER_PREFIX}win_updater) - #add_dependencies(viewer windows-updater) + add_subdirectory(${VIEWER_PREFIX}win_updater) + add_dependencies(viewer windows-updater) add_dependencies(viewer windows-crash-logger) elseif (SOLARIS) add_subdirectory(solaris_crash_logger) diff --git a/indra/cmake/CopyWinLibs.cmake b/indra/cmake/CopyWinLibs.cmake index ecdef7c10..88d2670e3 100644 --- a/indra/cmake/CopyWinLibs.cmake +++ b/indra/cmake/CopyWinLibs.cmake @@ -241,6 +241,8 @@ set(all_targets ${all_targets} ${out_targets}) set(release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release") set(release_files + libtcmalloc_minimal.dll + fmod.dll libapr-1.dll libaprutil-1.dll libapriconv-1.dll diff --git a/indra/cmake/GooglePerfTools.cmake b/indra/cmake/GooglePerfTools.cmake index b5b351997..b47f41871 100644 --- a/indra/cmake/GooglePerfTools.cmake +++ b/indra/cmake/GooglePerfTools.cmake @@ -1,49 +1,50 @@ -# -*- cmake -*- -include(Prebuilt) - -if (STANDALONE) - include(FindGooglePerfTools) -else (STANDALONE) - if (LINUX OR WINDOWS) - use_prebuilt_binary(google) - endif (LINUX OR WINDOWS) - if (WINDOWS) - set(TCMALLOC_LIBRARIES - libtcmalloc_minimal) - endif (WINDOWS) - if (LINUX) - if(USE_GOOGLE_PERFTOOLS) - set(TCMALLOC_LIBRARIES tcmalloc) - set(STACKTRACE_LIBRARIES stacktrace) - set(PROFILER_LIBRARIES profiler) - else() - set(TCMALLOC_LIBRARIES tcmalloc_minimal) - endif() - set(GOOGLE_PERFTOOLS_INCLUDE_DIR - ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include) - set(GOOGLE_PERFTOOLS_FOUND "YES") - endif (LINUX) -endif (STANDALONE) - -#if (GOOGLE_PERFTOOLS_FOUND) -# set(USE_GOOGLE_PERFTOOLS ON CACHE BOOL "Build with Google PerfTools support.") -#endif (GOOGLE_PERFTOOLS_FOUND) - -# XXX Disable temporarily, until we have compilation issues on 64-bit -# Etch sorted. -#set(USE_GOOGLE_PERFTOOLS OFF) - -if (USE_GOOGLE_PERFTOOLS) - set(TCMALLOC_FLAG -DLL_USE_TCMALLOC=1) - include_directories(${GOOGLE_PERFTOOLS_INCLUDE_DIR}) - set(GOOGLE_PERFTOOLS_LIBRARIES ${TCMALLOC_LIBRARIES} ${STACKTRACE_LIBRARIES} ${PROFILER_LIBRARIES}) -else (USE_GOOGLE_PERFTOOLS) - set(TCMALLOC_FLAG -ULL_USE_TCMALLOC) -endif (USE_GOOGLE_PERFTOOLS) - -if (NOT(DISABLE_TCMALLOC OR USE_GOOGLE_PERFTOOLS)) - set(TCMALLOC_FLAG -DLL_USE_TCMALLOC=1_) - include_directories(${GOOGLE_PERFTOOLS_INCLUDE_DIR}) - set(GOOGLE_PERFTOOLS_LIBRARIES ${TCMALLOC_LIBRARIES}) -endif() - +# -*- cmake -*- +include(Prebuilt) + +if (STANDALONE) + include(FindGooglePerfTools) +else (STANDALONE) + if (LINUX OR WINDOWS) + use_prebuilt_binary(google) + endif (LINUX OR WINDOWS) + if (WINDOWS) + set(TCMALLOC_LIBRARIES libtcmalloc_minimal.lib) + set(TCMALLOC_LINKER_FLAGS "/INCLUDE:\"__tcmalloc\"") + endif (WINDOWS) + if (LINUX) + if(USE_GOOGLE_PERFTOOLS) + set(TCMALLOC_LIBRARIES tcmalloc) + set(STACKTRACE_LIBRARIES stacktrace) + set(PROFILER_LIBRARIES profiler) + else() + set(TCMALLOC_LIBRARIES tcmalloc_minimal) + endif() + set(GOOGLE_PERFTOOLS_INCLUDE_DIR + ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include) + set(GOOGLE_PERFTOOLS_FOUND "YES") + endif (LINUX) +endif (STANDALONE) + +#if (GOOGLE_PERFTOOLS_FOUND) +# set(USE_GOOGLE_PERFTOOLS ON CACHE BOOL "Build with Google PerfTools support.") +#endif (GOOGLE_PERFTOOLS_FOUND) + +# XXX Disable temporarily, until we have compilation issues on 64-bit +# Etch sorted. +#set(USE_GOOGLE_PERFTOOLS OFF) + +if (USE_GOOGLE_PERFTOOLS) + set(TCMALLOC_FLAG -DLL_USE_TCMALLOC=1) + include_directories(${GOOGLE_PERFTOOLS_INCLUDE_DIR}) + set(GOOGLE_PERFTOOLS_LIBRARIES ${TCMALLOC_LIBRARIES} ${STACKTRACE_LIBRARIES} ${PROFILER_LIBRARIES}) +else (USE_GOOGLE_PERFTOOLS) + set(TCMALLOC_FLAG -ULL_USE_TCMALLOC) +endif (USE_GOOGLE_PERFTOOLS) + +if (NOT(DISABLE_TCMALLOC OR USE_GOOGLE_PERFTOOLS)) + message(STATUS "Building with Google TCMalloc") + set(TCMALLOC_FLAG -DLL_USE_TCMALLOC=1_) + include_directories(${GOOGLE_PERFTOOLS_INCLUDE_DIR}) + set(GOOGLE_PERFTOOLS_LIBRARIES ${TCMALLOC_LIBRARIES}) + set(GOOGLE_PERFTOOLS_LINKER_FLAGS ${TCMALLOC_LINKER_FLAGS}) +endif() diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt index 6137a242e..485c323dd 100644 --- a/indra/llcommon/CMakeLists.txt +++ b/indra/llcommon/CMakeLists.txt @@ -1,212 +1,212 @@ -# -*- cmake -*- - -project(llcommon) - -include(00-Common) -include(LLCommon) -include(Linking) - -include_directories( - ${EXPAT_INCLUDE_DIRS} - ${LLCOMMON_INCLUDE_DIRS} - ${ZLIB_INCLUDE_DIRS} - ) - -set(llcommon_SOURCE_FILES - imageids.cpp - indra_constants.cpp - llapp.cpp - llapr.cpp - llassettype.cpp - llavatarname.cpp - llbase32.cpp - llbase64.cpp - llcommon.cpp - llcommonutils.cpp - llcrc.cpp - llcriticaldamp.cpp - llcursortypes.cpp - lldate.cpp - llerror.cpp - llerrorthread.cpp - llevent.cpp - llfasttimer.cpp - llfile.cpp - llfindlocale.cpp - llfixedbuffer.cpp - llformat.cpp - llframetimer.cpp - llheartbeat.cpp - llindraconfigfile.cpp - llliveappconfig.cpp - lllivefile.cpp - lllog.cpp - llmd5.cpp - llmemory.cpp - llmemorystream.cpp - llmetrics.cpp - llmortician.cpp - lloptioninterface.cpp - llprocesslauncher.cpp - llprocessor.cpp - llqueuedthread.cpp - llrand.cpp - llrun.cpp - llsd.cpp - llsdserialize.cpp - llsdserialize_xml.cpp - llsdutil.cpp - llsecondlifeurls.cpp - llstat.cpp - llstreamtools.cpp - llstring.cpp - llstringtable.cpp - llsys.cpp - llthread.cpp - lltimer.cpp - lluri.cpp - lluuid.cpp - llworkerthread.cpp - metaclass.cpp - metaproperty.cpp - reflective.cpp - timing.cpp - u64.cpp - ) - -set(llcommon_HEADER_FILES - CMakeLists.txt - - bitpack.h - ctype_workaround.h - doublelinkedlist.h - imageids.h - indra_constants.h - linden_common.h - linked_lists.h - llagentconstants.h - llapp.h - llapr.h - llassettype.h - llassoclist.h - llavatarconstants.h - llavatarname.h - llbase32.h - llbase64.h - llboost.h - llchat.h - llclickaction.h - llcommon.h - llcommonutils.h - llcrc.h - llcriticaldamp.h - llcursortypes.h - lldarray.h - lldarrayptr.h - lldate.h - lldefs.h - lldepthstack.h - lldlinked.h - lldqueueptr.h - llendianswizzle.h - llenum.h - llerror.h - llerrorcontrol.h - llerrorlegacy.h - llerrorthread.h - llevent.h - lleventemitter.h - llextendedstatus.h - llfasttimer.h - llfile.h - llfindlocale.h - llfixedbuffer.h - llformat.h - llframetimer.h - llhash.h - llheartbeat.h - llhttpstatuscodes.h - llindexedqueue.h - llindraconfigfile.h - llkeythrottle.h - lllinkedqueue.h - llliveappconfig.h - lllivefile.h - lllocalidhashmap.h - lllog.h - lllslconstants.h - llmap.h - llmd5.h - llmemory.h - llmemorystream.h - llmemtype.h - llmetrics.h - llmortician.h - llnametable.h - lloptioninterface.h - llpreprocessor.h - llpriqueuemap.h - llprocesslauncher.h - llprocessor.h - llptrskiplist.h - llptrskipmap.h - llqueuedthread.h - llrand.h - llrun.h - llsd.h - llsdserialize.h - llsdserialize_xml.h - llsdutil.h - llsecondlifeurls.h - llsimplehash.h - llskiplist.h - llskipmap.h - llstack.h - llstat.h - llstatenums.h - llstl.h - llstreamtools.h - llstrider.h - llstring.h - llstringtable.h - llsys.h - llthread.h - lltimer.h - lluri.h - lluuid.h - lluuidhashmap.h - llversionserver.h - llversionviewer.h - llworkerthread.h - metaclass.h - metaclasst.h - metaproperty.h - metapropertyt.h - processor.h - reflective.h - reflectivet.h - roles_constants.h - stdenums.h - stdtypes.h - string_table.h - timer.h - timing.h - u64.h - ) - -set_source_files_properties(${llcommon_HEADER_FILES} - PROPERTIES HEADER_FILE_ONLY TRUE) - -list(APPEND llcommon_SOURCE_FILES ${llcommon_HEADER_FILES}) - -add_library (llcommon ${llcommon_SOURCE_FILES}) -add_dependencies(llcommon prepare) -target_link_libraries( - llcommon - ${APRUTIL_LIBRARIES} - ${APR_LIBRARIES} - ${EXPAT_LIBRARIES} - ${ZLIB_LIBRARIES} - ${WINDOWS_LIBRARIES} - ) - +# -*- cmake -*- + +project(llcommon) + +include(00-Common) +include(LLCommon) +include(Linking) + +include_directories( + ${EXPAT_INCLUDE_DIRS} + ${LLCOMMON_INCLUDE_DIRS} + ${ZLIB_INCLUDE_DIRS} + ) + +set(llcommon_SOURCE_FILES + imageids.cpp + indra_constants.cpp + llapp.cpp + llapr.cpp + llassettype.cpp + llavatarname.cpp + llbase32.cpp + llbase64.cpp + llcommon.cpp + llcommonutils.cpp + llcrc.cpp + llcriticaldamp.cpp + llcursortypes.cpp + lldate.cpp + llerror.cpp + llerrorthread.cpp + llevent.cpp + llfasttimer.cpp + llfile.cpp + llfindlocale.cpp + llfixedbuffer.cpp + llformat.cpp + llframetimer.cpp + llheartbeat.cpp + llindraconfigfile.cpp + llliveappconfig.cpp + lllivefile.cpp + lllog.cpp + llmd5.cpp + llmemory.cpp + llmemorystream.cpp + llmetrics.cpp + llmortician.cpp + lloptioninterface.cpp + llprocesslauncher.cpp + llprocessor.cpp + llqueuedthread.cpp + llrand.cpp + llrun.cpp + llsd.cpp + llsdserialize.cpp + llsdserialize_xml.cpp + llsdutil.cpp + llsecondlifeurls.cpp + llstat.cpp + llstreamtools.cpp + llstring.cpp + llstringtable.cpp + llsys.cpp + llthread.cpp + lltimer.cpp + lluri.cpp + lluuid.cpp + llworkerthread.cpp + metaclass.cpp + metaproperty.cpp + reflective.cpp + timing.cpp + u64.cpp + ) + +set(llcommon_HEADER_FILES + CMakeLists.txt + + bitpack.h + ctype_workaround.h + doublelinkedlist.h + imageids.h + indra_constants.h + linden_common.h + linked_lists.h + llagentconstants.h + llapp.h + llapr.h + llassettype.h + llassoclist.h + llavatarconstants.h + llavatarname.h + llbase32.h + llbase64.h + llboost.h + llchat.h + llclickaction.h + llcommon.h + llcommonutils.h + llcrc.h + llcriticaldamp.h + llcursortypes.h + lldarray.h + lldarrayptr.h + lldate.h + lldefs.h + lldepthstack.h + lldlinked.h + lldqueueptr.h + llendianswizzle.h + llenum.h + llerror.h + llerrorcontrol.h + llerrorlegacy.h + llerrorthread.h + llevent.h + lleventemitter.h + llextendedstatus.h + llfasttimer.h + llfile.h + llfindlocale.h + llfixedbuffer.h + llformat.h + llframetimer.h + llhash.h + llheartbeat.h + llhttpstatuscodes.h + llindexedqueue.h + llindraconfigfile.h + llkeythrottle.h + lllinkedqueue.h + llliveappconfig.h + lllivefile.h + lllocalidhashmap.h + lllog.h + lllslconstants.h + llmap.h + llmd5.h + llmemory.h + llmemorystream.h + llmemtype.h + llmetrics.h + llmortician.h + llnametable.h + lloptioninterface.h + llpreprocessor.h + llpriqueuemap.h + llprocesslauncher.h + llprocessor.h + llptrskiplist.h + llptrskipmap.h + llqueuedthread.h + llrand.h + llrun.h + llsd.h + llsdserialize.h + llsdserialize_xml.h + llsdutil.h + llsecondlifeurls.h + llsimplehash.h + llskiplist.h + llskipmap.h + llstack.h + llstat.h + llstatenums.h + llstl.h + llstreamtools.h + llstrider.h + llstring.h + llstringtable.h + llsys.h + llthread.h + lltimer.h + lluri.h + lluuid.h + lluuidhashmap.h + llversionserver.h + llversionviewer.h + llworkerthread.h + metaclass.h + metaclasst.h + metaproperty.h + metapropertyt.h + processor.h + reflective.h + reflectivet.h + roles_constants.h + stdenums.h + stdtypes.h + string_table.h + timer.h + timing.h + u64.h + ) + +set_source_files_properties(${llcommon_HEADER_FILES} + PROPERTIES HEADER_FILE_ONLY TRUE) + +list(APPEND llcommon_SOURCE_FILES ${llcommon_HEADER_FILES}) + +add_library (llcommon ${llcommon_SOURCE_FILES}) +add_dependencies(llcommon prepare) +target_link_libraries( + llcommon + ${APRUTIL_LIBRARIES} + ${APR_LIBRARIES} + ${EXPAT_LIBRARIES} + ${ZLIB_LIBRARIES} + ${WINDOWS_LIBRARIES} + ) + diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h index 482baa402..5d53e7ec0 100644 --- a/indra/llcommon/llversionviewer.h +++ b/indra/llcommon/llversionviewer.h @@ -36,7 +36,7 @@ const S32 LL_VERSION_MAJOR = 1; const S32 LL_VERSION_MINOR = 5; const S32 LL_VERSION_PATCH = 4; -const S32 LL_VERSION_BUILD = 0; +const S32 LL_VERSION_BUILD = 2; const char * const LL_CHANNEL = "Singularity"; diff --git a/indra/llplugin/slplugin/CMakeLists.txt b/indra/llplugin/slplugin/CMakeLists.txt index e3950f68f..d6735a76f 100755 --- a/indra/llplugin/slplugin/CMakeLists.txt +++ b/indra/llplugin/slplugin/CMakeLists.txt @@ -1,86 +1,94 @@ -project(SLPlugin) - -include(00-Common) -include(LLCommon) -include(LLPlugin) -include(Linking) -include(PluginAPI) -include(LLMessage) - -include_directories( - ${LLPLUGIN_INCLUDE_DIRS} - ${LLMESSAGE_INCLUDE_DIRS} - ${LLCOMMON_INCLUDE_DIRS} -) - -if (DARWIN) - include(CMakeFindFrameworks) - find_library(CARBON_LIBRARY Carbon) - find_library(COCOA_LIBRARY Cocoa) -endif (DARWIN) - - -### SLPlugin - -set(SLPlugin_SOURCE_FILES - slplugin.cpp - ) - -if (DARWIN) - list(APPEND SLPlugin_SOURCE_FILES - slplugin-objc.mm - ) - list(APPEND SLPlugin_HEADER_FILES - slplugin-objc.h - ) -endif (DARWIN) - -set_source_files_properties(${SLPlugin_HEADER_FILES} - PROPERTIES HEADER_FILE_ONLY TRUE) - -if (SLPlugin_HEADER_FILES) - list(APPEND SLPlugin_SOURCE_FILES ${SLPlugin_HEADER_FILES}) -endif (SLPlugin_HEADER_FILES) - -add_executable(SLPlugin - WIN32 - MACOSX_BUNDLE - ${SLPlugin_SOURCE_FILES} -) - -set_target_properties(SLPlugin - PROPERTIES - MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/slplugin_info.plist - ) - -target_link_libraries(SLPlugin - ${LLPLUGIN_LIBRARIES} - ${LLMESSAGE_LIBRARIES} - ${LLCOMMON_LIBRARIES} - ${PLUGIN_API_WINDOWS_LIBRARIES} -) - -add_dependencies(SLPlugin - ${LLPLUGIN_LIBRARIES} - ${LLMESSAGE_LIBRARIES} - ${LLCOMMON_LIBRARIES} -) - -if (DARWIN) - # Mac version needs to link against Carbon - target_link_libraries(SLPlugin ${CARBON_LIBRARY} ${COCOA_LIBRARY}) - # Make sure the app bundle has a Resources directory (it will get populated by viewer-manifest.py later) - add_custom_command( - TARGET SLPlugin POST_BUILD - COMMAND mkdir - ARGS - -p - ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/SLPlugin.app/Contents/Resources - ) -endif (DARWIN) - -if (LINUX) - SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lrt") -endif (LINUX) - -#ll_deploy_sharedlibs_command(SLPlugin) +project(SLPlugin) + +include(00-Common) +include(LLCommon) +include(LLPlugin) +include(Linking) +include(PluginAPI) +include(LLMessage) + +include_directories( + ${LLPLUGIN_INCLUDE_DIRS} + ${LLMESSAGE_INCLUDE_DIRS} + ${LLCOMMON_INCLUDE_DIRS} +) + +if (DARWIN) + include(CMakeFindFrameworks) + find_library(CARBON_LIBRARY Carbon) + find_library(COCOA_LIBRARY Cocoa) +endif (DARWIN) + + +### SLPlugin + +set(SLPlugin_SOURCE_FILES + slplugin.cpp + ) + +if (DARWIN) + list(APPEND SLPlugin_SOURCE_FILES + slplugin-objc.mm + ) + list(APPEND SLPlugin_HEADER_FILES + slplugin-objc.h + ) +endif (DARWIN) + +set_source_files_properties(${SLPlugin_HEADER_FILES} + PROPERTIES HEADER_FILE_ONLY TRUE) + +if (SLPlugin_HEADER_FILES) + list(APPEND SLPlugin_SOURCE_FILES ${SLPlugin_HEADER_FILES}) +endif (SLPlugin_HEADER_FILES) + +add_executable(SLPlugin + WIN32 + MACOSX_BUNDLE + ${SLPlugin_SOURCE_FILES} +) + +set_target_properties(SLPlugin + PROPERTIES + MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/slplugin_info.plist + ) + +target_link_libraries(SLPlugin + ${GOOGLE_PERFTOOLS_LIBRARIES} + ${LLPLUGIN_LIBRARIES} + ${LLMESSAGE_LIBRARIES} + ${LLCOMMON_LIBRARIES} + ${PLUGIN_API_WINDOWS_LIBRARIES} +) + +add_dependencies(SLPlugin + ${LLPLUGIN_LIBRARIES} + ${LLMESSAGE_LIBRARIES} + ${LLCOMMON_LIBRARIES} +) + +if (DARWIN) + # Mac version needs to link against Carbon + target_link_libraries(SLPlugin ${CARBON_LIBRARY} ${COCOA_LIBRARY}) + # Make sure the app bundle has a Resources directory (it will get populated by viewer-manifest.py later) + add_custom_command( + TARGET SLPlugin POST_BUILD + COMMAND mkdir + ARGS + -p + ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/SLPlugin.app/Contents/Resources + ) +endif (DARWIN) + +if (LINUX) + SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lrt") +endif (LINUX) + +if (WINDOWS) + set_target_properties(SLPlugin + PROPERTIES + LINK_FLAGS "${GOOGLE_PERFTOOLS_LINKER_FLAGS}" + ) +endif (WINDOWS) + +#ll_deploy_sharedlibs_command(SLPlugin) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index d856b9893..ba8d83923 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1,1645 +1,1645 @@ -# -*- cmake -*- - -project(viewer) - -include(00-Common) -include(Boost) -include(DBusGlib) -include(DirectX) -include(ELFIO) -include(FMOD) -include(OPENAL) -include(FindOpenGL) -include(JsonCpp) -include(LLAddBuildTest) -include(LLAudio) -include(LLCharacter) -include(LLCommon) -include(LLImage) -include(LLImageJ2COJ) -include(LLInventory) -include(LLMath) -include(LLMessage) -include(LLPlugin) -include(LLPrimitive) -include(LLRender) -include(LLUI) -include(LLVFS) -include(LLWindow) -include(LLXML) -include(LScript) -include(Linking) -include(NDOF) -include(GooglePerfTools) -include(TemplateCheck) -include(UI) -include(LLKDU) -include(ViewerMiscLibs) -include(ViewerArtwork.cmake) - -if (WINDOWS) - include(CopyWinLibs) -endif (WINDOWS) - -include_directories( - ${DBUSGLIB_INCLUDE_DIRS} - ${ELFIO_INCLUDE_DIR} - ${JSONCPP_INCLUDE_DIRS} - ${LLAUDIO_INCLUDE_DIRS} - ${LLCHARACTER_INCLUDE_DIRS} - ${LLCOMMON_INCLUDE_DIRS} - ${LLIMAGE_INCLUDE_DIRS} - ${LLINVENTORY_INCLUDE_DIRS} - ${LLMATH_INCLUDE_DIRS} - ${LLMESSAGE_INCLUDE_DIRS} - ${LLPLUGIN_INCLUDE_DIRS} - ${LLPRIMITIVE_INCLUDE_DIRS} - ${LLRENDER_INCLUDE_DIRS} - ${LLUI_INCLUDE_DIRS} - ${LLVFS_INCLUDE_DIRS} - ${LLWINDOW_INCLUDE_DIRS} - ${LLXML_INCLUDE_DIRS} - ${LSCRIPT_INCLUDE_DIRS} - ${LSCRIPT_INCLUDE_DIRS}/lscript_compile - ) - -set(viewer_SOURCE_FILES - floatervoicelicense.cpp - cofmgr.cpp - ascentdaycyclemanager.cpp - ascentfloatercontactgroups.cpp - ascentprefssys.cpp - ascentprefsvan.cpp - ascentuploadbrowser.cpp - dhparam.cpp - dsaparam.cpp - emerald.cpp - emeraldboobutils.cpp - dofloaterhex.cpp - dohexeditor.cpp - floatersculptpreview.cpp - hbfloatergrouptitles.cpp - hgfloatertexteditor.cpp - hippogridmanager.cpp - hippolimits.cpp - hipporestrequest.cpp - hippopanelgrids.cpp - jcfloaterareasearch.cpp - chatbar_as_cmdline.cpp - qtoolalign.cpp - llagent.cpp - llagentaccess.cpp - llagentdata.cpp - llagentlanguage.cpp - llagentpilot.cpp - llanimstatelabels.cpp - llao.cpp - llappviewer.cpp - llassetconverter.cpp - llassetuploadresponders.cpp - llassetuploadqueue.cpp - llattachmentsmgr.cpp - llaudiosourcevo.cpp - llbbox.cpp - llbox.cpp - llbuildnewviewsscheduler.cpp - llcallbacklist.cpp - llcallingcard.cpp - llcaphttpsender.cpp - llchatbar.cpp - llclassifiedinfo.cpp - llclassifiedstatsresponder.cpp - llcloud.cpp - llcolorscheme.cpp - llcolorswatch.cpp - llcommandhandler.cpp - llcommandlineparser.cpp - llcompass.cpp - llcompilequeue.cpp - llconfirmationmanager.cpp - llconsole.cpp - llcontainerview.cpp - llcurrencyuimanager.cpp - llcylinder.cpp - lldebugmessagebox.cpp - lldebugview.cpp - lldelayedgestureerror.cpp - lldirpicker.cpp - lldrawable.cpp - lldrawpoolalpha.cpp - lldrawpoolavatar.cpp - lldrawpoolbump.cpp - lldrawpool.cpp - lldrawpoolground.cpp - lldrawpoolsimple.cpp - lldrawpoolsky.cpp - lldrawpoolterrain.cpp - lldrawpooltree.cpp - lldrawpoolwater.cpp - lldrawpoolwlsky.cpp - lldriverparam.cpp - lldynamictexture.cpp - llemote.cpp - lleventinfo.cpp - lleventnotifier.cpp - lleventpoll.cpp - llface.cpp - llfasttimerview.cpp - llfeaturemanager.cpp - llfilepicker.cpp - llfirstuse.cpp - llflexibleobject.cpp - llfloaterabout.cpp - llfloateractivespeakers.cpp - llfloateranimpreview.cpp - llfloaterauction.cpp - llfloateravatarinfo.cpp - llfloateravatarlist.cpp - llfloateravatarpicker.cpp - llfloateravatartextures.cpp - llfloaterbeacons.cpp - llfloaterblacklist.cpp - llviewerdisplayname.cpp - llfloaterdisplayname.cpp - llfloaterbuildoptions.cpp - llfloaterbulkpermission.cpp - llfloaterbump.cpp - llfloaterbuycontents.cpp - llfloaterbuy.cpp - llfloaterbuycurrency.cpp - llfloaterbuyland.cpp - llfloatercamera.cpp - llfloaterchat.cpp - llfloaterchatterbox.cpp - llfloaterclassified.cpp - llfloatercolorpicker.cpp - llfloatercustomize.cpp - llfloaterdaycycle.cpp - llfloaterdickdongs.cpp - llfloaterdirectory.cpp - llfloatereditui.cpp - llfloaterenvsettings.cpp - llfloaterevent.cpp - llfloaterexport.cpp - llfloaterexploreanimations.cpp - llfloaterexploresounds.cpp - llfloaterfriends.cpp - llfloaterfonttest.cpp - llfloatergesture.cpp - llfloatergodtools.cpp - llfloatergroupinfo.cpp - llfloatergroupinvite.cpp - llfloatergroups.cpp - llfloaterhandler.cpp - llfloaterhardwaresettings.cpp - llfloaterhtmlcurrency.cpp - llfloatermediabrowser.cpp - llfloaterhtmlsimple.cpp - llfloaterhud.cpp - llfloaterimagepreview.cpp - llfloaterimport.cpp - llfloaterinspect.cpp - llfloaterjoystick.cpp - llfloaterlagmeter.cpp - llfloaterland.cpp - llfloaterlandholdings.cpp - llfloaterlandmark.cpp - llfloatermap.cpp - llfloatermemleak.cpp - llfloatermessagelog.cpp - llfloatermute.cpp - llfloaternamedesc.cpp - llfloaternewim.cpp - llfloaternotificationsconsole.cpp - llfloaterobjectiminfo.cpp - llfloateropenobject.cpp - llfloaterparcel.cpp - llfloaterpermissionsmgr.cpp - llfloaterperms.cpp - llfloaterpostcard.cpp - llfloaterpostprocess.cpp - llfloaterpreference.cpp - llfloaterproperties.cpp - llfloaterregioninfo.cpp - llfloaterreporter.cpp - llfloaterscriptdebug.cpp - llfloatersellland.cpp - llfloatersettingsdebug.cpp - llfloatersnapshot.cpp - llfloaterstats.cpp - llfloatertelehub.cpp - llfloaterteleport.cpp - llfloaterteleporthistory.cpp - llfloatertest.cpp - llfloatertools.cpp - llfloatertopobjects.cpp - llfloatertos.cpp - llfloaterurldisplay.cpp - llfloaterurlentry.cpp - llfloatervfs.cpp - llfloatervfsexplorer.cpp - llfloatervoicedevicesettings.cpp - llfloaterwater.cpp - llfloaterwindlight.cpp - llfloaterworldmap.cpp - llfolderview.cpp - llfollowcam.cpp - llframestats.cpp - llframestatview.cpp - llgesturemgr.cpp - llgivemoney.cpp - llglsandbox.cpp - llgroupmgr.cpp - llgroupnotify.cpp - llhomelocationresponder.cpp - llhoverview.cpp - llhudeffectbeam.cpp - llhudeffect.cpp - llhudeffectlookat.cpp - llhudeffectpointat.cpp - llhudeffecttrail.cpp - llhudicon.cpp - llhudmanager.cpp - llhudobject.cpp - llhudrender.cpp - llhudtext.cpp - llhudview.cpp - llimpanel.cpp - llimportobject.cpp - llimview.cpp - llinventoryactions.cpp - llinventorybackup.cpp - llinventorybridge.cpp - llinventoryclipboard.cpp - llinventorymodel.cpp - llinventoryview.cpp - lljoystickbutton.cpp - lllandmarklist.cpp - lllocalinventory.cpp - lllogchat.cpp - llloginhandler.cpp - llsavedlogins.cpp - llmanip.cpp - llmaniprotate.cpp - llmanipscale.cpp - llmaniptranslate.cpp - llmediaremotectrl.cpp - llmemoryview.cpp - llmenucommands.cpp - llmimetypes.cpp - llmorphview.cpp - llmoveview.cpp - llmutelist.cpp - llnamebox.cpp - llnameeditor.cpp - llnamelistctrl.cpp - llnetmap.cpp - llnotify.cpp - lloverlaybar.cpp - llpanelaudioprefs.cpp - llpanelaudiovolume.cpp - llpanelavatar.cpp - llpanelclassified.cpp - llpanelcontents.cpp - llpaneldebug.cpp - llpaneldirbrowser.cpp - llpaneldirclassified.cpp - llpaneldirevents.cpp - llpaneldirfind.cpp - llpaneldirgroups.cpp - llpaneldirland.cpp - llpaneldirpeople.cpp - llpaneldirplaces.cpp - llpaneldirpopular.cpp - llpaneldisplay.cpp - llpanelevent.cpp - llpanelface.cpp - llpanelgeneral.cpp - llpanelgroup.cpp - llpanelgroupgeneral.cpp - llpanelgroupinvite.cpp - llpanelgrouplandmoney.cpp - llpanelgroupnotices.cpp - llpanelgrouproles.cpp - llpanelgroupvoting.cpp - llpanelinput.cpp - llpanelinventory.cpp - llpanelland.cpp - llpanellandaudio.cpp - llpanellandmedia.cpp - llpanellandobjects.cpp - llpanellandoptions.cpp - llpanellogin.cpp - llpanelmorph.cpp - llpanelmediahud.cpp - llpanelmsgs.cpp - llpanelnetwork.cpp - llpanelobject.cpp - llpanelpermissions.cpp - llpanelpick.cpp - llpanelplace.cpp - llpanelskins.cpp - llpanelvolume.cpp - llpanelweb.cpp - llparcelselection.cpp - llpatchvertexarray.cpp - llpolymesh.cpp - llpolymorph.cpp - llprefschat.cpp - llprefsim.cpp - llprefsvoice.cpp - llpreviewanim.cpp - llpreview.cpp - llpreviewgesture.cpp - llpreviewlandmark.cpp - llpreviewnotecard.cpp - llpreviewscript.cpp - llpreviewsound.cpp - llpreviewtexture.cpp - llproductinforequest.cpp - llprogressview.cpp - llregionposition.cpp - llremoteparcelrequest.cpp - llsavedsettingsglue.cpp - llselectmgr.cpp - llsky.cpp - llspatialpartition.cpp - llsprite.cpp - llsrv.cpp - llstartup.cpp - llstatbar.cpp - llstatgraph.cpp - llstatusbar.cpp - llstatview.cpp - llstylemap.cpp - llsurface.cpp - llsurfacepatch.cpp - lltexlayer.cpp - lltexturecache.cpp - lltexturectrl.cpp - lltexturefetch.cpp - lltextureinfo.cpp - lltextureinfodetails.cpp - lltexturestats.cpp - lltexturestatsuploader.cpp - lltextureview.cpp - lltoolbar.cpp - lltoolbrush.cpp - lltoolcomp.cpp - lltool.cpp - lltooldraganddrop.cpp - lltoolface.cpp - lltoolfocus.cpp - lltoolgrab.cpp - lltoolgun.cpp - lltoolindividual.cpp - lltoolmgr.cpp - lltoolmorph.cpp - lltoolobjpicker.cpp - lltoolpie.cpp - lltoolpipette.cpp - lltoolplacer.cpp - lltoolselect.cpp - lltoolselectland.cpp - lltoolselectrect.cpp - lltoolview.cpp - lltracker.cpp - lltrans.cpp - lltranslate.cpp - lluploaddialog.cpp - llurl.cpp - llurldispatcher.cpp - llurlhistory.cpp - llurlsimstring.cpp - llurlwhitelist.cpp - lluserauth.cpp - llvectorperfoptions.cpp - llvelocitybar.cpp - llviewchildren.cpp - llviewerassetstorage.cpp - llvieweraudio.cpp - llviewercamera.cpp - llviewercontrol.cpp - llviewerdisplay.cpp - llviewergenericmessage.cpp - llviewergesture.cpp - llviewerimage.cpp - llviewerimagelist.cpp - llviewerinventory.cpp - llviewerjointattachment.cpp - llviewerjoint.cpp - llviewerjointmesh.cpp - llviewerjointmesh_sse2.cpp - llviewerjointmesh_sse.cpp - llviewerjointmesh_vec.cpp - llviewerjoystick.cpp - llviewerkeyboard.cpp - llviewerlayer.cpp - llviewermedia.cpp - llviewermediafocus.cpp - llviewermedia_streamingaudio.cpp - llviewermenu.cpp - llviewermenufile.cpp - llviewermessage.cpp - llviewernetwork.cpp - llviewerobject.cpp - llviewerobjectlist.cpp - llviewerparcelmedia.cpp - llviewerparcelmediaautoplay.cpp - llviewerparcelmgr.cpp - llviewerparceloverlay.cpp - llviewerpartsim.cpp - llviewerpartsource.cpp - llviewerregion.cpp - llviewershadermgr.cpp - llviewerstats.cpp - llviewertexteditor.cpp - llviewertextureanim.cpp - llviewerthrottle.cpp - llviewervisualparam.cpp - llviewerwindow.cpp - llvlcomposition.cpp - llvlmanager.cpp - llvoavatar.cpp - llvoavatardefines.cpp - llvocache.cpp - llvoclouds.cpp - llvograss.cpp - llvoground.cpp - llvoiceclient.cpp - llvoiceremotectrl.cpp - llvoicevisualizer.cpp - llvoinventorylistener.cpp - llvopartgroup.cpp - llvosky.cpp - llvosurfacepatch.cpp - llvotextbubble.cpp - llvotree.cpp - llvovolume.cpp - llvowater.cpp - llvowlsky.cpp - llwatchdog.cpp - llwaterparammanager.cpp - llwaterparamset.cpp - llwearable.cpp - llwearablelist.cpp - llweb.cpp - llmediactrl.cpp - llwind.cpp - llwlanimator.cpp - llwldaycycle.cpp - llwlparammanager.cpp - llwlparamset.cpp - llworld.cpp - llworldmap.cpp - llworldmapmessage.cpp - llworldmipmap.cpp - llworldmapview.cpp - llxmlrpctransaction.cpp - noise.cpp - pipeline.cpp - scriptcounter.cpp - wlfPanel_AdvSettings.cpp - rlvhandler.cpp - rlvhelper.cpp - rlvcommon.cpp - rlvlocks.cpp - rlvinventory.cpp - rlvextensions.cpp - rlvfloaterbehaviour.cpp - rlvviewer2.cpp - shcommandhandler.cpp - ) - -# This gets renamed in the packaging step -set(VIEWER_BINARY_NAME "secondlife-bin" CACHE STRING - "The name of the viewer executable to create.") - -if ((LINUX OR DARWIN) AND NOT DARWIN_PPC) - # We can't set these flags for Darwin, because they get passed to - # the PPC compiler. Ugh. - - set_source_files_properties( - llviewerjointmesh_sse.cpp - PROPERTIES COMPILE_FLAGS "-msse -mfpmath=sse" - ) - set_source_files_properties( - llviewerjointmesh_sse2.cpp - PROPERTIES COMPILE_FLAGS "-msse2 -mfpmath=sse" - ) -endif ((LINUX OR DARWIN) AND NOT DARWIN_PPC) - -set(viewer_HEADER_FILES - CMakeLists.txt - ViewerInstall.cmake - - floatervoicelicense.h - cofmgr.h - ascentdaycyclemanager.h - ascentfloatercontactgroups.h - ascentprefssys.h - ascentprefsvan.h - ascentuploadbrowser.h - emerald.h - emeraldboobutils.h - dofloaterhex.h - dohexeditor.h - floatersculptpreview.h - hbfloatergrouptitles.h - hgfloatertexteditor.h - hippogridmanager.h - hippolimits.h - hipporestrequest.h - hippopanelgrids.h - jcfloaterareasearch.h - chatbar_as_cmdline.h - qtoolalign.h - llagent.h - llagentaccess.h - llagentdata.h - llagentlanguage.h - llagentpilot.h - llanimstatelabels.h - llao.h - llappearance.h - llappviewer.h - llassetconverter.h - llassetuploadresponders.h - llassetuploadqueue.h - llattachmentsmgr.h - llaudiosourcevo.h - llbbox.h - llbox.h - llbuildnewviewsscheduler.h - llcallbacklist.h - llcallingcard.h - llcaphttpsender.h - llchatbar.h - llclassifiedinfo.h - llclassifiedstatsresponder.h - llcloud.h - llcolorscheme.h - llcolorswatch.h - llcommandhandler.h - llcommandlineparser.h - llcompass.h - llcompilequeue.h - llconfirmationmanager.h - llconsole.h - llcontainerview.h - llcurrencyuimanager.h - llcylinder.h - lldebugmessagebox.h - lldebugview.h - lldelayedgestureerror.h - lldirpicker.h - lldrawable.h - lldrawpool.h - lldrawpoolalpha.h - lldrawpoolavatar.h - lldrawpoolbump.h - lldrawpoolclouds.h - lldrawpoolground.h - lldrawpoolsimple.h - lldrawpoolsky.h - lldrawpoolterrain.h - lldrawpooltree.h - lldrawpoolwater.h - lldrawpoolwlsky.h - lldriverparam.h - lldynamictexture.h - llemote.h - lleventinfo.h - lleventnotifier.h - lleventpoll.h - llface.h - llfasttimerview.h - llfeaturemanager.h - llfilepicker.h - llfirstuse.h - llflexibleobject.h - llfloaterabout.h - llfloateractivespeakers.h - llfloateranimpreview.h - llfloaterauction.h - llfloateravatarinfo.h - llfloateravatarlist.h - llfloateravatarpicker.h - llfloateravatartextures.h - llfloaterbeacons.h - llfloaterblacklist.h - llviewerdisplayname.h - llfloaterdisplayname.h - llfloaterbuildoptions.h - llfloaterbulkpermission.h - llfloaterbump.h - llfloaterbuy.h - llfloaterbuycontents.h - llfloaterbuycurrency.h - llfloaterbuyland.h - llfloatercamera.h - llfloaterchat.h - llfloaterchatterbox.h - llfloaterclassified.h - llfloatercolorpicker.h - llfloatercustomize.h - llfloaterdaycycle.h - llfloaterdickdongs.h - llfloaterdirectory.h - llfloatereditui.h - llfloaterenvsettings.h - llfloaterexport.h - llfloaterexploreanimations.h - llfloaterexploresounds.h - llfloaterevent.h - llfloaterfonttest.h - llfloaterfriends.h - llfloatergesture.h - llfloatergodtools.h - llfloatergroupinfo.h - llfloatergroupinvite.h - llfloatergroups.h - llfloaterhandler.h - llfloaterhardwaresettings.h - llfloaterhtmlcurrency.h - llfloatermediabrowser.h - llfloaterhtmlsimple.h - llfloaterhud.h - llfloaterimagepreview.h - llfloaterimport.h - llfloaterinspect.h - llfloaterjoystick.h - llfloaterlagmeter.h - llfloaterland.h - llfloaterlandholdings.h - llfloaterlandmark.h - llfloatermap.h - llfloatermemleak.h - llfloatermessagelog.h - llfloatermute.h - llfloaternamedesc.h - llfloaternewim.h - llfloaternotificationsconsole.h - llfloaterobjectiminfo.h - llfloateropenobject.h - llfloaterparcel.h - llfloaterpermissionsmgr.h - llfloaterpostcard.h - llfloaterpostprocess.h - llfloaterpreference.h - llfloaterperms.h - llfloaterproperties.h - llfloaterregioninfo.h - llfloaterreporter.h - llfloaterscriptdebug.h - llfloatersellland.h - llfloatersettingsdebug.h - llfloatersnapshot.h - llfloaterstats.h - llfloatertelehub.h - llfloaterteleport.h - llfloaterteleporthistory.h - llfloatertest.h - llfloatertools.h - llfloatertopobjects.h - llfloatertos.h - llfloaterurldisplay.h - llfloaterurlentry.h - llfloatervfs.h - llfloatervfsexplorer.h - llfloatervoicedevicesettings.h - llfloaterwater.h - llfloaterwindlight.h - llfloaterworldmap.h - llfolderview.h - llfollowcam.h - llframestats.h - llframestatview.h - llgesturemgr.h - llgivemoney.h - llgroupmgr.h - llgroupnotify.h - llhomelocationresponder.h - llhoverview.h - llhudeffect.h - llhudeffectbeam.h - llhudeffectlookat.h - llhudeffectpointat.h - llhudeffecttrail.h - llhudicon.h - llhudmanager.h - llhudobject.h - llhudrender.h - llhudtext.h - llhudview.h - llimpanel.h - llimportobject.h - llimview.h - llinventorybackup.h - llinventorybridge.h - llinventoryclipboard.h - llinventorymodel.h - llinventoryview.h - lljoystickbutton.h - lllandmarklist.h - lllightconstants.h - lllocalinventory.h - lllogchat.h - llloginhandler.h - llsavedlogins.h - llmanip.h - llmaniprotate.h - llmanipscale.h - llmaniptranslate.h - llmediaremotectrl.h - llmemoryview.h - llmenucommands.h - llmimetypes.h - llmorphview.h - llmoveview.h - llmutelist.h - llnamebox.h - llnameeditor.h - llnamelistctrl.h - llnetmap.h - llnotify.h - lloverlaybar.h - llpanelaudioprefs.h - llpanelaudiovolume.h - llpanelavatar.h - llpanelclassified.h - llpanelcontents.h - llpaneldebug.h - llpaneldirbrowser.h - llpaneldirclassified.h - llpaneldirevents.h - llpaneldirfind.h - llpaneldirgroups.h - llpaneldirland.h - llpaneldirpeople.h - llpaneldirplaces.h - llpaneldirpopular.h - llpaneldisplay.h - llpanelevent.h - llpanelface.h - llpanelgeneral.h - llpanelgroup.h - llpanelgroupgeneral.h - llpanelgroupinvite.h - llpanelgrouplandmoney.h - llpanelgroupnotices.h - llpanelgrouproles.h - llpanelgroupvoting.h - llpanelinput.h - llpanelinventory.h - llpanelland.h - llpanellandaudio.h - llpanellandmedia.h - llpanellandobjects.h - llpanellandoptions.h - llpanelLCD.h - llpanellogin.h - llpanelmorph.h - llpanelmediahud.h - llpanelmsgs.h - llpanelnetwork.h - llpanelobject.h - llpanelpermissions.h - llpanelpick.h - llpanelplace.h - llpanelskins.h - llpanelvolume.h - llpanelweb.h - llparcelselection.h - llpatchvertexarray.h - llpolymesh.h - llpolymorph.h - llprefschat.h - llprefsim.h - llprefsvoice.h - llpreview.h - llpreviewanim.h - llpreviewgesture.h - llpreviewlandmark.h - llpreviewnotecard.h - llpreviewscript.h - llpreviewsound.h - llpreviewtexture.h - llproductinforequest.h - llprogressview.h - llregionposition.h - llremoteparcelrequest.h - llresourcedata.h - llsavedsettingsglue.h - llselectmgr.h - llsky.h - llspatialpartition.h - llsprite.h - llsrv.h - llstartup.h - llstatbar.h - llstatgraph.h - llstatusbar.h - llstatview.h - llstylemap.h - llsurface.h - llsurfacepatch.h - lltable.h - lltexlayer.h - lltexturecache.h - lltexturectrl.h - lltexturefetch.h - lltextureinfo.h - lltextureinfodetails.h - lltexturestats.h - lltexturestatsuploader.h - lltextureview.h - lltool.h - lltoolbar.h - lltoolbrush.h - lltoolcomp.h - lltooldraganddrop.h - lltoolface.h - lltoolfocus.h - lltoolgrab.h - lltoolgun.h - lltoolindividual.h - lltoolmgr.h - lltoolmorph.h - lltoolobjpicker.h - lltoolpie.h - lltoolpipette.h - lltoolplacer.h - lltoolselect.h - lltoolselectland.h - lltoolselectrect.h - lltoolview.h - lltracker.h - lltrans.h - lltranslate.h - lluiconstants.h - lluploaddialog.h - llurl.h - llurldispatcher.h - llurlhistory.h - llurlsimstring.h - llurlwhitelist.h - lluserauth.h - llvectorperfoptions.h - llvelocitybar.h - llviewchildren.h - llviewerassetstorage.h - llvieweraudio.h - llviewerbuild.h - llviewercamera.h - llviewercontrol.h - llviewerdisplay.h - llviewergenericmessage.h - llviewergesture.h - llviewerimage.h - llviewerimagelist.h - llviewerinventory.h - llviewerjoint.h - llviewerjointattachment.h - llviewerjointmesh.h - llviewerjoystick.h - llviewerkeyboard.h - llviewerlayer.h - llviewermedia.h - llviewermediaobserver.h - llviewermediafocus.h - llviewermenu.h - llviewermenufile.h - llviewermessage.h - llviewernetwork.h - llviewerobject.h - llviewerobjectlist.h - llviewerparcelmedia.h - llviewerparcelmediaautoplay.h - llviewerparcelmgr.h - llviewerparceloverlay.h - llviewerpartsim.h - llviewerpartsource.h - llviewerprecompiledheaders.h - llviewerregion.h - llviewershadermgr.h - llviewerstats.h - llviewertexteditor.h - llviewertextureanim.h - llviewerthrottle.h - llviewervisualparam.h - llviewerwindow.h - llvlcomposition.h - llvlmanager.h - llvoavatar.h - llvoavatardefines.h - llvocache.h - llvoclouds.h - llvograss.h - llvoground.h - llvoiceclient.h - llvoiceremotectrl.h - llvoicevisualizer.h - llvoinventorylistener.h - llvopartgroup.h - llvosky.h - llvosurfacepatch.h - llvotextbubble.h - llvotree.h - llvotreenew.h - llvovolume.h - llvowater.h - llvowlsky.h - llwatchdog.h - llwaterparammanager.h - llwaterparamset.h - llwearable.h - llwearablelist.h - llweb.h - llmediactrl.h - llwind.h - llwindebug.h - llwlanimator.h - llwldaycycle.h - llwlparammanager.h - llwlparamset.h - llworld.h - llworldmap.h - llworldmapmessage.h - llworldmipmap.h - llworldmapview.h - llxmlrpctransaction.h - macmain.h - noise.h - pipeline.h - randgauss.h - scriptcounter.h - VertexCache.h - VorbisFramework.h - wlfPanel_AdvSettings.h - rlvdefines.h - rlvhandler.h - rlvhelper.h - rlvcommon.h - rlvlocks.h - rlvinventory.h - rlvextensions.h - rlvfloaterbehaviour.h - rlvviewer2.h - shcommandhandler.h - ) - -source_group("CMake Rules" FILES ViewerInstall.cmake) - -if (DARWIN) - LIST(APPEND viewer_SOURCE_FILES llappviewermacosx.cpp) - - find_library(AGL_LIBRARY AGL) - find_library(APPKIT_LIBRARY AppKit) - find_library(COCOA_LIBRARY Cocoa) - find_library(IOKIT_LIBRARY IOKit) - - set(viewer_LIBRARIES - ${COCOA_LIBRARY} - ${AGL_LIBRARY} - ${IOKIT_LIBRARY} - ) - - # Add resource files to the project. - set(viewer_RESOURCE_FILES - ${VIEWER_BRANDING_ID}.icns - macview.r - gpu_table.txt - Info-${VIEWER_BRANDING_NAME_CAMELCASE}.plist - SecondLife.nib/ - # CMake doesn't seem to support Xcode language variants well just yet - English.lproj/InfoPlist.strings - English.lproj/language.txt - German.lproj/language.txt - Japanese.lproj/language.txt - Korean.lproj/language.txt - ) - set_source_files_properties( - ${viewer_RESOURCE_FILES} - PROPERTIES - HEADER_FILE_ONLY TRUE - #MACOSX_PACKAGE_LOCATION Resources #don't do this! this tells cmake to copy the files. - ) - SOURCE_GROUP("Resources" FILES ${viewer_RESOURCE_FILES}) - list(APPEND viewer_SOURCE_FILES ${viewer_RESOURCE_FILES}) -endif (DARWIN) - -if (LINUX) - LIST(APPEND viewer_SOURCE_FILES llappviewerlinux.cpp) - LIST(APPEND viewer_SOURCE_FILES llappviewerlinux_api_dbus.cpp) - SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -luuid -lrt -laprutil-1 -lfontconfig -Wl,--as-needed") - - set(viewer_LIBRARIES - Xinerama - ) -endif (LINUX) - -if (WINDOWS) - list(APPEND viewer_SOURCE_FILES - llappviewerwin32.cpp - llwindebug.cpp - ) - - list(APPEND viewer_HEADER_FILES - llappviewerwin32.h - llwindebug.h - ) - - # precompiled header configuration - # llviewerprecompiledheaders.cpp generates - # the .pch file. - # All sources added to viewer_SOURCE_FILES - # at this point use it. - set_source_files_properties(llviewerprecompiledheaders.cpp - 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. - set(viewer_RESOURCE_FILES - ${ARTWORK_DIR}/res/arrow.cur - ${ARTWORK_DIR}/res/arrowcop.cur - ${ARTWORK_DIR}/res/arrowcopmulti.cur - ${ARTWORK_DIR}/res/arrowdrag.cur - ${ARTWORK_DIR}/res/circleandline.cur - ${ARTWORK_DIR}/res/icon1.ico - ${ARTWORK_DIR}/res/llarrow.cur - ${ARTWORK_DIR}/res/llarrowdrag.cur - ${ARTWORK_DIR}/res/llarrowdragmulti.cur - ${ARTWORK_DIR}/res/llarrowlocked.cur - ${ARTWORK_DIR}/res/llgrablocked.cur - ${ARTWORK_DIR}/res/llno.cur - ${ARTWORK_DIR}/res/llnolocked.cur - ${ARTWORK_DIR}/res/lltoolcamera.cur - ${ARTWORK_DIR}/res/lltoolcreate.cur - ${ARTWORK_DIR}/res/lltoolfocus.cur - ${ARTWORK_DIR}/res/lltoolgrab.cur - ${ARTWORK_DIR}/res/lltoolland.cur - ${ARTWORK_DIR}/res/lltoolpan.cur - ${ARTWORK_DIR}/res/lltoolpipette.cur - ${ARTWORK_DIR}/res/lltoolrotate.cur - ${ARTWORK_DIR}/res/lltoolscale.cur - ${ARTWORK_DIR}/res/lltooltranslate.cur - ${ARTWORK_DIR}/res/lltoolzoomin.cur - ${ARTWORK_DIR}/res/lltoolzoomout.cur - ${ARTWORK_DIR}/res/snowglobe_icon.BMP - ${ARTWORK_DIR}/res/snowglobe_icon.ico - ${ARTWORK_DIR}/res/resource.h - ${ARTWORK_DIR}/res/toolbuy.cur - ${ARTWORK_DIR}/res/toolopen.cur - ${ARTWORK_DIR}/res/toolpay.cur - ${ARTWORK_DIR}/res/toolpickobject.cur - ${ARTWORK_DIR}/res/toolpickobject2.cur - ${ARTWORK_DIR}/res/toolpickobject3.cur - ${ARTWORK_DIR}/res/toolpipette.cur - ${ARTWORK_DIR}/res/toolsit.cur - ) - - set_source_files_properties(${viewer_RESOURCE_FILES} - PROPERTIES HEADER_FILE_ONLY TRUE) - - if(NOT ARTWORK_IN_SOURCE) - # The resource compiler needs to find resources here. - include_directories(${ARTWORK_DIR}/res) - endif(NOT ARTWORK_IN_SOURCE) - - if (MSVC71 OR MSVC80 AND NOT VISTA_ICON) - set(viewer_RESOURCE_FILES - res/resource.h - res/viewerRes_bc.rc - ${viewer_RESOURCE_FILES} - ) - else (MSVC71 OR MSVC80 AND NOT VISTA_ICON) - set(viewer_RESOURCE_FILES - res/resource.h - res/viewerRes.rc - ${viewer_RESOURCE_FILES} - ) - endif (MSVC71 OR MSVC80 AND NOT VISTA_ICON) - - SOURCE_GROUP("Resource Files" FILES ${viewer_RESOURCE_FILES}) - - 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 - ) - - set(viewer_LIBRARIES - advapi32 - comdlg32 - ${DINPUT_LIBRARY} - ${DXGUID_LIBRARY} - fmodvc - gdi32 - kernel32 - odbc32 - odbccp32 - ole32 - oleaut32 - opengl32 - shell32 - user32 - Vfw32 - winspool - ) - - 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) - - if (INTEL_MEMOPS_LIBRARY) - list(APPEND viewer_LIBRARIES ${INTEL_MEMOPS_LIBRARY}) - endif (INTEL_MEMOPS_LIBRARY) - - use_prebuilt_binary(dbghelp) -endif (WINDOWS) - -# Add the xui files. This is handy for searching for xui elements -# from within the IDE. - -file(GLOB viewer_XUI_FILE_GLOB_LIST - ${CMAKE_CURRENT_SOURCE_DIR}/skins/default/xui/en-us/*.xml) - -set(viewer_XUI_FILES - - ${CMAKE_CURRENT_SOURCE_DIR}/skins/default/colors.xml - ${CMAKE_CURRENT_SOURCE_DIR}/skins/default/colors_base.xml - - - - ) - -list(APPEND viewer_XUI_FILES ${viewer_XUI_FILE_GLOB_LIST}) -list(SORT viewer_XUI_FILES) - -source_group("XUI Files" FILES ${viewer_XUI_FILES}) - -set_source_files_properties(${viewer_XUI_FILES} - PROPERTIES HEADER_FILE_ONLY TRUE) - -list(APPEND viewer_SOURCE_FILES ${viewer_XUI_FILES}) - -set(viewer_APPSETTINGS_FILES - app_settings/anim.ini - app_settings/cmd_line.xml - app_settings/grass.xml - app_settings/high_graphics.xml - app_settings/keys.ini - app_settings/keywords.ini - app_settings/logcontrol.xml - app_settings/low_graphics.xml - app_settings/mid_graphics.xml - app_settings/settings.xml - app_settings/settings_crash_behavior.xml - app_settings/settings_files.xml - app_settings/settings_per_account.xml - app_settings/std_bump.ini - app_settings/trees.xml - app_settings/ultra_graphics.xml - app_settings/viewerart.xml - ${CMAKE_SOURCE_DIR}/../etc/message.xml - ${CMAKE_SOURCE_DIR}/../scripts/messages/message_template.msg - ) - -use_prebuilt_binary(artwork-common) - -source_group("App Settings" FILES ${viewer_APPSETTINGS_FILES}) - -set_source_files_properties(${viewer_APPSETTINGS_FILES} - PROPERTIES HEADER_FILE_ONLY TRUE) - -list(APPEND viewer_SOURCE_FILES ${viewer_APPSETTINGS_FILES}) - -if(ARTWORK_EXISTS) - set(viewer_CHARACTER_FILES - ${ARTWORK_DIR}/character/attentions.xml - ${ARTWORK_DIR}/character/attentionsN.xml - ${ARTWORK_DIR}/character/avatar_lad.xml - ${ARTWORK_DIR}/character/avatar_skeleton.xml - ${ARTWORK_DIR}/character/genepool.xml - ) - - source_group("Character File" FILES ${viewer_CHARACTER_FILES}) - - set_source_files_properties(${viewer_CHARACTER_FILES} - PROPERTIES HEADER_FILE_ONLY TRUE) - - list(APPEND viewer_SOURCE_FILES ${viewer_CHARACTER_FILES}) -endif(ARTWORK_EXISTS) - -if (WINDOWS) - file(GLOB viewer_INSTALLER_FILES installers/windows/*.nsi) - - source_group("Installer Files" FILES ${viewer_INSTALLER_FILES}) - - set_source_files_properties(${viewer_INSTALLER_FILES} - PROPERTIES HEADER_FILE_ONLY TRUE) - - list(APPEND viewer_SOURCE_FILES ${viewer_INSTALLER_FILES}) -endif (WINDOWS) - -if (OPENAL) - set(LLSTARTUP_COMPILE_FLAGS "${LLSTARTUP_COMPILE_FLAGS} -DLL_OPENAL") -endif (OPENAL) - -if (FMOD) - set(LLSTARTUP_COMPILE_FLAGS "${LLSTARTUP_COMPILE_FLAGS} -DLL_FMOD") - - if (NOT WINDOWS) - set(fmodwrapper_SOURCE_FILES fmodwrapper.cpp) - add_library(fmodwrapper SHARED ${fmodwrapper_SOURCE_FILES}) - set(fmodwrapper_needed_LIBRARIES ${FMOD_LIBRARY}) - if (DARWIN) - list(APPEND fmodwrapper_needed_LIBRARIES ${CARBON_LIBRARY}) - set_target_properties( - fmodwrapper - PROPERTIES - BUILD_WITH_INSTALL_RPATH 1 - INSTALL_NAME_DIR "@executable_path/../Resources" - LINK_FLAGS "-unexported_symbols_list \"${CMAKE_CURRENT_SOURCE_DIR}/fmod_hidden_symbols.exp\"" - ) - endif (DARWIN) - set(FMODWRAPPER_LIBRARY fmodwrapper) - target_link_libraries(fmodwrapper ${fmodwrapper_needed_LIBRARIES}) - endif (NOT WINDOWS) -endif (FMOD) - -set_source_files_properties(llstartup.cpp PROPERTIES COMPILE_FLAGS "${LLSTARTUP_COMPILE_FLAGS}") - -list(APPEND viewer_SOURCE_FILES ${viewer_HEADER_FILES}) - -set_source_files_properties(${viewer_HEADER_FILES} - PROPERTIES HEADER_FILE_ONLY TRUE) - -add_executable(${VIEWER_BINARY_NAME} - WIN32 - MACOSX_BUNDLE - ${viewer_SOURCE_FILES} - ) -check_message_template(${VIEWER_BINARY_NAME}) - -if (LLKDU_LIBRARY) - add_dependencies(${VIEWER_BINARY_NAME} ${LLKDU_LIBRARY}) -endif (LLKDU_LIBRARY) - -# We package by default on Linux so we can run from newview/packaged. -if (LINUX) - set(PACKAGE_DEFAULT ON) -else (LINUX) - set(PACKAGE_DEFAULT OFF) -endif (LINUX) -set(PACKAGE ${PACKAGE_DEFAULT} CACHE BOOL - "Add a package target that builds an installer package.") - -if (WINDOWS) - if(MSVC71) - set(release_flags "/MAP:Release/${VIEWER_BINARY_NAME}.map /MAPINFO:LINES") - else(MSVC71) - set(release_flags "/MAP:Release/${VIEWER_BINARY_NAME}.map") - endif(MSVC71) - - set_target_properties(${VIEWER_BINARY_NAME} - PROPERTIES - LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS" - LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\"" - LINK_FLAGS_RELEASE ${release_flags} - ) - - # sets the 'working directory' for debugging from visual studio. - if (NOT UNATTENDED) - add_custom_command( - TARGET ${VIEWER_BINARY_NAME} PRE_BUILD - COMMAND ${CMAKE_SOURCE_DIR}/tools/vstool/vstool.exe - ARGS - --solution - ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}.sln - --workingdir - ${VIEWER_BINARY_NAME} - ${CMAKE_CURRENT_SOURCE_DIR} - COMMENT "Setting the ${VIEWER_BINARY_NAME} working directory for debugging." - ) - 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." - ) - - 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) - - add_custom_command( - OUTPUT ${CMAKE_CFG_INTDIR}/touched.bat - COMMAND ${PYTHON_EXECUTABLE} - ARGS - ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py - --configuration=${CMAKE_CFG_INTDIR} - --channel=${VIEWER_CHANNEL} - --login_channel=${VIEWER_LOGIN_CHANNEL} - --branding_id=${VIEWER_BRANDING_ID} - --grid=${GRID} - --source=${CMAKE_CURRENT_SOURCE_DIR} - --artwork=${ARTWORK_DIR} - --build=${CMAKE_CURRENT_BINARY_DIR} - --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} - --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/touched.bat - DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py - ) - - add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit) - - if (PACKAGE) - add_custom_target(package ALL DEPENDS ${CMAKE_CFG_INTDIR}/touched.bat) - add_dependencies(package windows-updater windows-crash-logger) - endif (PACKAGE) -endif (WINDOWS) - -target_link_libraries(${VIEWER_BINARY_NAME} - ${GOOGLE_PERFTOOLS_LIBRARIES} - ${LLAUDIO_LIBRARIES} - ${LLCHARACTER_LIBRARIES} - ${LLIMAGE_LIBRARIES} - ${LLIMAGEJ2COJ_LIBRARIES} - ${LLINVENTORY_LIBRARIES} - ${LLMESSAGE_LIBRARIES} - ${LLPLUGIN_LIBRARIES} - ${LLPRIMITIVE_LIBRARIES} - ${LLRENDER_LIBRARIES} - ${FREETYPE_LIBRARIES} - ${LLUI_LIBRARIES} - ${LLVFS_LIBRARIES} - ${LLWINDOW_LIBRARIES} - ${LLXML_LIBRARIES} - ${LSCRIPT_LIBRARIES} - ${LLMATH_LIBRARIES} - ${LLCOMMON_LIBRARIES} - ${NDOF_LIBRARY} - ${viewer_LIBRARIES} - ${BOOST_PROGRAM_OPTIONS_LIBRARY} - ${BOOST_REGEX_LIBRARY} - ${DBUSGLIB_LIBRARIES} - ${OPENGL_LIBRARIES} - ${FMODWRAPPER_LIBRARY} - ${OPENGL_LIBRARIES} - ${JSONCPP_LIBRARIES} - ${SDL_LIBRARY} - ${SMARTHEAP_LIBRARY} - ${UI_LIBRARIES} - ${WINDOWS_LIBRARIES} - ${XMLRPCEPI_LIBRARIES} - ${ELFIO_LIBRARIES} - ) - -if (LINUX) - add_custom_command( - OUTPUT secondlife-stripped - COMMAND strip - ARGS --strip-debug -o secondlife-stripped ${VIEWER_BINARY_NAME} - DEPENDS ${VIEWER_BINARY_NAME} - ) - - set(product ${VIEWER_BRANDING_NAME_CAMELCASE}-${ARCH}-${viewer_VERSION}) - - add_custom_command( - OUTPUT ${product}.tar.bz2 - COMMAND ${PYTHON_EXECUTABLE} - ARGS - ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py - --grid=${GRID} - --channel=${VIEWER_CHANNEL} - --login_channel=${VIEWER_LOGIN_CHANNEL} - --branding_id=${VIEWER_BRANDING_ID} - --installer_name=${product} - --arch=${ARCH} - --source=${CMAKE_CURRENT_SOURCE_DIR} - --artwork=${ARTWORK_DIR} - --build=${CMAKE_CURRENT_BINARY_DIR} - --dest=${CMAKE_CURRENT_BINARY_DIR}/packaged - --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.touched - --buildtype=${CMAKE_BUILD_TYPE} - DEPENDS secondlife-stripped ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py - ) - - add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_gstreamer010 media_plugin_webkit) - - if (PACKAGE) - add_custom_target(package ALL DEPENDS ${product}.tar.bz2) - add_dependencies(package linux-crash-logger-strip-target) - endif (PACKAGE) -endif (LINUX) - -if (DARWIN) - set(product ${VIEWER_BRANDING_NAME}) - set_target_properties( - ${VIEWER_BINARY_NAME} - PROPERTIES - OUTPUT_NAME "${product}" - MACOSX_BUNDLE_INFO_STRING "A stable third-party Second Life viewer." - MACOSX_BUNDLE_ICON_FILE "${VIEWER_BRANDING_ID}.icns" - MACOSX_BUNDLE_GUI_IDENTIFIER "${VIEWER_BRANDING_NAME}" - MACOSX_BUNDLE_LONG_VERSION_STRING "${viewer_VERSION}" - MACOSX_BUNDLE_BUNDLE_NAME "${VIEWER_BRANDING_NAME}" - MACOSX_BUNDLE_SHORT_VERSION_STRING "${viewer_VERSION}" - MACOSX_BUNDLE_BUNDLE_VERSION "${viewer_VERSION}" - MACOSX_BUNDLE_COPYRIGHT "Copyright 2010 Balseraph Software Group" - ) - - add_custom_command( - TARGET ${VIEWER_BINARY_NAME} POST_BUILD - COMMAND ${PYTHON_EXECUTABLE} - ARGS - ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py - --grid=${GRID} - --actions=copy - --configuration=${CMAKE_CFG_INTDIR} - --source=${CMAKE_CURRENT_SOURCE_DIR} - --artwork=${ARTWORK_DIR} - --branding_id=${VIEWER_BRANDING_ID} - --build=${CMAKE_CURRENT_BINARY_DIR} - --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${product}.app - --buildtype=${CMAKE_BUILD_TYPE} - DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py - ) - - add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit) - - if (PACKAGE) - add_custom_target(package ALL DEPENDS ${VIEWER_BINARY_NAME}) - add_dependencies(package mac-updater mac-crash-logger) - - add_custom_command( - TARGET package POST_BUILD - COMMAND ${PYTHON_EXECUTABLE} - ARGS - ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py - --grid=${GRID} - --configuration=${CMAKE_CFG_INTDIR} - --channel=${VIEWER_CHANNEL} - --login_channel=${VIEWER_LOGIN_CHANNEL} - --branding_id=${VIEWER_BRANDING_ID} - --source=${CMAKE_CURRENT_SOURCE_DIR} - --artwork=${ARTWORK_DIR} - --build=${CMAKE_CURRENT_BINARY_DIR} - --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${product}.app - --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.touched - --buildtype=${CMAKE_BUILD_TYPE} - DEPENDS - ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py - ) - - - add_custom_command( - TARGET package POST_BUILD - COMMAND ${PYTHON_EXECUTABLE} - ARGS - ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py - --grid=${GRID} - --configuration=${CMAKE_CFG_INTDIR} - --channel=${VIEWER_CHANNEL} - --login_channel=${VIEWER_LOGIN_CHANNEL} - --branding_id=${VIEWER_BRANDING_ID} - --source=${CMAKE_CURRENT_SOURCE_DIR} - --artwork=${ARTWORK_DIR} - --build=${CMAKE_CURRENT_BINARY_DIR} - --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${product}.app - --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.touched - --buildtype=${CMAKE_BUILD_TYPE} - DEPENDS - ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py - ) - - endif (PACKAGE) -endif (DARWIN) - -if (INSTALL) - include(${CMAKE_CURRENT_SOURCE_DIR}/ViewerInstall.cmake) -endif (INSTALL) - -# 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) - - get_target_property(BUILT_LLCOMMON llcommon LOCATION) - 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." - ) - - get_target_property(BUILT_SLPLUGIN SLPlugin LOCATION) - 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." - ) - - get_target_property(BUILT_WEBKIT_PLUGIN media_plugin_webkit LOCATION) - 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." - ) - - get_target_property(BUILT_QUICKTIME_PLUGIN media_plugin_quicktime LOCATION) - 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." - ) - - # 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) +# -*- cmake -*- + +project(viewer) + +include(00-Common) +include(Boost) +include(DBusGlib) +include(DirectX) +include(ELFIO) +include(FMOD) +include(OPENAL) +include(FindOpenGL) +include(JsonCpp) +include(LLAddBuildTest) +include(LLAudio) +include(LLCharacter) +include(LLCommon) +include(LLImage) +include(LLImageJ2COJ) +include(LLInventory) +include(LLMath) +include(LLMessage) +include(LLPlugin) +include(LLPrimitive) +include(LLRender) +include(LLUI) +include(LLVFS) +include(LLWindow) +include(LLXML) +include(LScript) +include(Linking) +include(NDOF) +include(GooglePerfTools) +include(TemplateCheck) +include(UI) +include(LLKDU) +include(ViewerMiscLibs) +include(ViewerArtwork.cmake) + +if (WINDOWS) + include(CopyWinLibs) +endif (WINDOWS) + +include_directories( + ${DBUSGLIB_INCLUDE_DIRS} + ${ELFIO_INCLUDE_DIR} + ${JSONCPP_INCLUDE_DIRS} + ${LLAUDIO_INCLUDE_DIRS} + ${LLCHARACTER_INCLUDE_DIRS} + ${LLCOMMON_INCLUDE_DIRS} + ${LLIMAGE_INCLUDE_DIRS} + ${LLINVENTORY_INCLUDE_DIRS} + ${LLMATH_INCLUDE_DIRS} + ${LLMESSAGE_INCLUDE_DIRS} + ${LLPLUGIN_INCLUDE_DIRS} + ${LLPRIMITIVE_INCLUDE_DIRS} + ${LLRENDER_INCLUDE_DIRS} + ${LLUI_INCLUDE_DIRS} + ${LLVFS_INCLUDE_DIRS} + ${LLWINDOW_INCLUDE_DIRS} + ${LLXML_INCLUDE_DIRS} + ${LSCRIPT_INCLUDE_DIRS} + ${LSCRIPT_INCLUDE_DIRS}/lscript_compile + ) + +set(viewer_SOURCE_FILES + floatervoicelicense.cpp + cofmgr.cpp + ascentdaycyclemanager.cpp + ascentfloatercontactgroups.cpp + ascentprefssys.cpp + ascentprefsvan.cpp + ascentuploadbrowser.cpp + dhparam.cpp + dsaparam.cpp + emerald.cpp + emeraldboobutils.cpp + dofloaterhex.cpp + dohexeditor.cpp + floatersculptpreview.cpp + hbfloatergrouptitles.cpp + hgfloatertexteditor.cpp + hippogridmanager.cpp + hippolimits.cpp + hipporestrequest.cpp + hippopanelgrids.cpp + jcfloaterareasearch.cpp + chatbar_as_cmdline.cpp + qtoolalign.cpp + llagent.cpp + llagentaccess.cpp + llagentdata.cpp + llagentlanguage.cpp + llagentpilot.cpp + llanimstatelabels.cpp + llao.cpp + llappviewer.cpp + llassetconverter.cpp + llassetuploadresponders.cpp + llassetuploadqueue.cpp + llattachmentsmgr.cpp + llaudiosourcevo.cpp + llbbox.cpp + llbox.cpp + llbuildnewviewsscheduler.cpp + llcallbacklist.cpp + llcallingcard.cpp + llcaphttpsender.cpp + llchatbar.cpp + llclassifiedinfo.cpp + llclassifiedstatsresponder.cpp + llcloud.cpp + llcolorscheme.cpp + llcolorswatch.cpp + llcommandhandler.cpp + llcommandlineparser.cpp + llcompass.cpp + llcompilequeue.cpp + llconfirmationmanager.cpp + llconsole.cpp + llcontainerview.cpp + llcurrencyuimanager.cpp + llcylinder.cpp + lldebugmessagebox.cpp + lldebugview.cpp + lldelayedgestureerror.cpp + lldirpicker.cpp + lldrawable.cpp + lldrawpoolalpha.cpp + lldrawpoolavatar.cpp + lldrawpoolbump.cpp + lldrawpool.cpp + lldrawpoolground.cpp + lldrawpoolsimple.cpp + lldrawpoolsky.cpp + lldrawpoolterrain.cpp + lldrawpooltree.cpp + lldrawpoolwater.cpp + lldrawpoolwlsky.cpp + lldriverparam.cpp + lldynamictexture.cpp + llemote.cpp + lleventinfo.cpp + lleventnotifier.cpp + lleventpoll.cpp + llface.cpp + llfasttimerview.cpp + llfeaturemanager.cpp + llfilepicker.cpp + llfirstuse.cpp + llflexibleobject.cpp + llfloaterabout.cpp + llfloateractivespeakers.cpp + llfloateranimpreview.cpp + llfloaterauction.cpp + llfloateravatarinfo.cpp + llfloateravatarlist.cpp + llfloateravatarpicker.cpp + llfloateravatartextures.cpp + llfloaterbeacons.cpp + llfloaterblacklist.cpp + llviewerdisplayname.cpp + llfloaterdisplayname.cpp + llfloaterbuildoptions.cpp + llfloaterbulkpermission.cpp + llfloaterbump.cpp + llfloaterbuycontents.cpp + llfloaterbuy.cpp + llfloaterbuycurrency.cpp + llfloaterbuyland.cpp + llfloatercamera.cpp + llfloaterchat.cpp + llfloaterchatterbox.cpp + llfloaterclassified.cpp + llfloatercolorpicker.cpp + llfloatercustomize.cpp + llfloaterdaycycle.cpp + llfloaterdickdongs.cpp + llfloaterdirectory.cpp + llfloatereditui.cpp + llfloaterenvsettings.cpp + llfloaterevent.cpp + llfloaterexport.cpp + llfloaterexploreanimations.cpp + llfloaterexploresounds.cpp + llfloaterfriends.cpp + llfloaterfonttest.cpp + llfloatergesture.cpp + llfloatergodtools.cpp + llfloatergroupinfo.cpp + llfloatergroupinvite.cpp + llfloatergroups.cpp + llfloaterhandler.cpp + llfloaterhardwaresettings.cpp + llfloaterhtmlcurrency.cpp + llfloatermediabrowser.cpp + llfloaterhtmlsimple.cpp + llfloaterhud.cpp + llfloaterimagepreview.cpp + llfloaterimport.cpp + llfloaterinspect.cpp + llfloaterjoystick.cpp + llfloaterlagmeter.cpp + llfloaterland.cpp + llfloaterlandholdings.cpp + llfloaterlandmark.cpp + llfloatermap.cpp + llfloatermemleak.cpp + llfloatermessagelog.cpp + llfloatermute.cpp + llfloaternamedesc.cpp + llfloaternewim.cpp + llfloaternotificationsconsole.cpp + llfloaterobjectiminfo.cpp + llfloateropenobject.cpp + llfloaterparcel.cpp + llfloaterpermissionsmgr.cpp + llfloaterperms.cpp + llfloaterpostcard.cpp + llfloaterpostprocess.cpp + llfloaterpreference.cpp + llfloaterproperties.cpp + llfloaterregioninfo.cpp + llfloaterreporter.cpp + llfloaterscriptdebug.cpp + llfloatersellland.cpp + llfloatersettingsdebug.cpp + llfloatersnapshot.cpp + llfloaterstats.cpp + llfloatertelehub.cpp + llfloaterteleport.cpp + llfloaterteleporthistory.cpp + llfloatertest.cpp + llfloatertools.cpp + llfloatertopobjects.cpp + llfloatertos.cpp + llfloaterurldisplay.cpp + llfloaterurlentry.cpp + llfloatervfs.cpp + llfloatervfsexplorer.cpp + llfloatervoicedevicesettings.cpp + llfloaterwater.cpp + llfloaterwindlight.cpp + llfloaterworldmap.cpp + llfolderview.cpp + llfollowcam.cpp + llframestats.cpp + llframestatview.cpp + llgesturemgr.cpp + llgivemoney.cpp + llglsandbox.cpp + llgroupmgr.cpp + llgroupnotify.cpp + llhomelocationresponder.cpp + llhoverview.cpp + llhudeffectbeam.cpp + llhudeffect.cpp + llhudeffectlookat.cpp + llhudeffectpointat.cpp + llhudeffecttrail.cpp + llhudicon.cpp + llhudmanager.cpp + llhudobject.cpp + llhudrender.cpp + llhudtext.cpp + llhudview.cpp + llimpanel.cpp + llimportobject.cpp + llimview.cpp + llinventoryactions.cpp + llinventorybackup.cpp + llinventorybridge.cpp + llinventoryclipboard.cpp + llinventorymodel.cpp + llinventoryview.cpp + lljoystickbutton.cpp + lllandmarklist.cpp + lllocalinventory.cpp + lllogchat.cpp + llloginhandler.cpp + llsavedlogins.cpp + llmanip.cpp + llmaniprotate.cpp + llmanipscale.cpp + llmaniptranslate.cpp + llmediaremotectrl.cpp + llmemoryview.cpp + llmenucommands.cpp + llmimetypes.cpp + llmorphview.cpp + llmoveview.cpp + llmutelist.cpp + llnamebox.cpp + llnameeditor.cpp + llnamelistctrl.cpp + llnetmap.cpp + llnotify.cpp + lloverlaybar.cpp + llpanelaudioprefs.cpp + llpanelaudiovolume.cpp + llpanelavatar.cpp + llpanelclassified.cpp + llpanelcontents.cpp + llpaneldebug.cpp + llpaneldirbrowser.cpp + llpaneldirclassified.cpp + llpaneldirevents.cpp + llpaneldirfind.cpp + llpaneldirgroups.cpp + llpaneldirland.cpp + llpaneldirpeople.cpp + llpaneldirplaces.cpp + llpaneldirpopular.cpp + llpaneldisplay.cpp + llpanelevent.cpp + llpanelface.cpp + llpanelgeneral.cpp + llpanelgroup.cpp + llpanelgroupgeneral.cpp + llpanelgroupinvite.cpp + llpanelgrouplandmoney.cpp + llpanelgroupnotices.cpp + llpanelgrouproles.cpp + llpanelgroupvoting.cpp + llpanelinput.cpp + llpanelinventory.cpp + llpanelland.cpp + llpanellandaudio.cpp + llpanellandmedia.cpp + llpanellandobjects.cpp + llpanellandoptions.cpp + llpanellogin.cpp + llpanelmorph.cpp + llpanelmediahud.cpp + llpanelmsgs.cpp + llpanelnetwork.cpp + llpanelobject.cpp + llpanelpermissions.cpp + llpanelpick.cpp + llpanelplace.cpp + llpanelskins.cpp + llpanelvolume.cpp + llpanelweb.cpp + llparcelselection.cpp + llpatchvertexarray.cpp + llpolymesh.cpp + llpolymorph.cpp + llprefschat.cpp + llprefsim.cpp + llprefsvoice.cpp + llpreviewanim.cpp + llpreview.cpp + llpreviewgesture.cpp + llpreviewlandmark.cpp + llpreviewnotecard.cpp + llpreviewscript.cpp + llpreviewsound.cpp + llpreviewtexture.cpp + llproductinforequest.cpp + llprogressview.cpp + llregionposition.cpp + llremoteparcelrequest.cpp + llsavedsettingsglue.cpp + llselectmgr.cpp + llsky.cpp + llspatialpartition.cpp + llsprite.cpp + llsrv.cpp + llstartup.cpp + llstatbar.cpp + llstatgraph.cpp + llstatusbar.cpp + llstatview.cpp + llstylemap.cpp + llsurface.cpp + llsurfacepatch.cpp + lltexlayer.cpp + lltexturecache.cpp + lltexturectrl.cpp + lltexturefetch.cpp + lltextureinfo.cpp + lltextureinfodetails.cpp + lltexturestats.cpp + lltexturestatsuploader.cpp + lltextureview.cpp + lltoolbar.cpp + lltoolbrush.cpp + lltoolcomp.cpp + lltool.cpp + lltooldraganddrop.cpp + lltoolface.cpp + lltoolfocus.cpp + lltoolgrab.cpp + lltoolgun.cpp + lltoolindividual.cpp + lltoolmgr.cpp + lltoolmorph.cpp + lltoolobjpicker.cpp + lltoolpie.cpp + lltoolpipette.cpp + lltoolplacer.cpp + lltoolselect.cpp + lltoolselectland.cpp + lltoolselectrect.cpp + lltoolview.cpp + lltracker.cpp + lltrans.cpp + lltranslate.cpp + lluploaddialog.cpp + llurl.cpp + llurldispatcher.cpp + llurlhistory.cpp + llurlsimstring.cpp + llurlwhitelist.cpp + lluserauth.cpp + llvectorperfoptions.cpp + llvelocitybar.cpp + llviewchildren.cpp + llviewerassetstorage.cpp + llvieweraudio.cpp + llviewercamera.cpp + llviewercontrol.cpp + llviewerdisplay.cpp + llviewergenericmessage.cpp + llviewergesture.cpp + llviewerimage.cpp + llviewerimagelist.cpp + llviewerinventory.cpp + llviewerjointattachment.cpp + llviewerjoint.cpp + llviewerjointmesh.cpp + llviewerjointmesh_sse2.cpp + llviewerjointmesh_sse.cpp + llviewerjointmesh_vec.cpp + llviewerjoystick.cpp + llviewerkeyboard.cpp + llviewerlayer.cpp + llviewermedia.cpp + llviewermediafocus.cpp + llviewermedia_streamingaudio.cpp + llviewermenu.cpp + llviewermenufile.cpp + llviewermessage.cpp + llviewernetwork.cpp + llviewerobject.cpp + llviewerobjectlist.cpp + llviewerparcelmedia.cpp + llviewerparcelmediaautoplay.cpp + llviewerparcelmgr.cpp + llviewerparceloverlay.cpp + llviewerpartsim.cpp + llviewerpartsource.cpp + llviewerregion.cpp + llviewershadermgr.cpp + llviewerstats.cpp + llviewertexteditor.cpp + llviewertextureanim.cpp + llviewerthrottle.cpp + llviewervisualparam.cpp + llviewerwindow.cpp + llvlcomposition.cpp + llvlmanager.cpp + llvoavatar.cpp + llvoavatardefines.cpp + llvocache.cpp + llvoclouds.cpp + llvograss.cpp + llvoground.cpp + llvoiceclient.cpp + llvoiceremotectrl.cpp + llvoicevisualizer.cpp + llvoinventorylistener.cpp + llvopartgroup.cpp + llvosky.cpp + llvosurfacepatch.cpp + llvotextbubble.cpp + llvotree.cpp + llvovolume.cpp + llvowater.cpp + llvowlsky.cpp + llwatchdog.cpp + llwaterparammanager.cpp + llwaterparamset.cpp + llwearable.cpp + llwearablelist.cpp + llweb.cpp + llmediactrl.cpp + llwind.cpp + llwlanimator.cpp + llwldaycycle.cpp + llwlparammanager.cpp + llwlparamset.cpp + llworld.cpp + llworldmap.cpp + llworldmapmessage.cpp + llworldmipmap.cpp + llworldmapview.cpp + llxmlrpctransaction.cpp + noise.cpp + pipeline.cpp + scriptcounter.cpp + wlfPanel_AdvSettings.cpp + rlvhandler.cpp + rlvhelper.cpp + rlvcommon.cpp + rlvlocks.cpp + rlvinventory.cpp + rlvextensions.cpp + rlvfloaterbehaviour.cpp + rlvviewer2.cpp + shcommandhandler.cpp + ) + +# This gets renamed in the packaging step +set(VIEWER_BINARY_NAME "secondlife-bin" CACHE STRING + "The name of the viewer executable to create.") + +if ((LINUX OR DARWIN) AND NOT DARWIN_PPC) + # We can't set these flags for Darwin, because they get passed to + # the PPC compiler. Ugh. + + set_source_files_properties( + llviewerjointmesh_sse.cpp + PROPERTIES COMPILE_FLAGS "-msse -mfpmath=sse" + ) + set_source_files_properties( + llviewerjointmesh_sse2.cpp + PROPERTIES COMPILE_FLAGS "-msse2 -mfpmath=sse" + ) +endif ((LINUX OR DARWIN) AND NOT DARWIN_PPC) + +set(viewer_HEADER_FILES + CMakeLists.txt + ViewerInstall.cmake + + floatervoicelicense.h + cofmgr.h + ascentdaycyclemanager.h + ascentfloatercontactgroups.h + ascentprefssys.h + ascentprefsvan.h + ascentuploadbrowser.h + emerald.h + emeraldboobutils.h + dofloaterhex.h + dohexeditor.h + floatersculptpreview.h + hbfloatergrouptitles.h + hgfloatertexteditor.h + hippogridmanager.h + hippolimits.h + hipporestrequest.h + hippopanelgrids.h + jcfloaterareasearch.h + chatbar_as_cmdline.h + qtoolalign.h + llagent.h + llagentaccess.h + llagentdata.h + llagentlanguage.h + llagentpilot.h + llanimstatelabels.h + llao.h + llappearance.h + llappviewer.h + llassetconverter.h + llassetuploadresponders.h + llassetuploadqueue.h + llattachmentsmgr.h + llaudiosourcevo.h + llbbox.h + llbox.h + llbuildnewviewsscheduler.h + llcallbacklist.h + llcallingcard.h + llcaphttpsender.h + llchatbar.h + llclassifiedinfo.h + llclassifiedstatsresponder.h + llcloud.h + llcolorscheme.h + llcolorswatch.h + llcommandhandler.h + llcommandlineparser.h + llcompass.h + llcompilequeue.h + llconfirmationmanager.h + llconsole.h + llcontainerview.h + llcurrencyuimanager.h + llcylinder.h + lldebugmessagebox.h + lldebugview.h + lldelayedgestureerror.h + lldirpicker.h + lldrawable.h + lldrawpool.h + lldrawpoolalpha.h + lldrawpoolavatar.h + lldrawpoolbump.h + lldrawpoolclouds.h + lldrawpoolground.h + lldrawpoolsimple.h + lldrawpoolsky.h + lldrawpoolterrain.h + lldrawpooltree.h + lldrawpoolwater.h + lldrawpoolwlsky.h + lldriverparam.h + lldynamictexture.h + llemote.h + lleventinfo.h + lleventnotifier.h + lleventpoll.h + llface.h + llfasttimerview.h + llfeaturemanager.h + llfilepicker.h + llfirstuse.h + llflexibleobject.h + llfloaterabout.h + llfloateractivespeakers.h + llfloateranimpreview.h + llfloaterauction.h + llfloateravatarinfo.h + llfloateravatarlist.h + llfloateravatarpicker.h + llfloateravatartextures.h + llfloaterbeacons.h + llfloaterblacklist.h + llviewerdisplayname.h + llfloaterdisplayname.h + llfloaterbuildoptions.h + llfloaterbulkpermission.h + llfloaterbump.h + llfloaterbuy.h + llfloaterbuycontents.h + llfloaterbuycurrency.h + llfloaterbuyland.h + llfloatercamera.h + llfloaterchat.h + llfloaterchatterbox.h + llfloaterclassified.h + llfloatercolorpicker.h + llfloatercustomize.h + llfloaterdaycycle.h + llfloaterdickdongs.h + llfloaterdirectory.h + llfloatereditui.h + llfloaterenvsettings.h + llfloaterexport.h + llfloaterexploreanimations.h + llfloaterexploresounds.h + llfloaterevent.h + llfloaterfonttest.h + llfloaterfriends.h + llfloatergesture.h + llfloatergodtools.h + llfloatergroupinfo.h + llfloatergroupinvite.h + llfloatergroups.h + llfloaterhandler.h + llfloaterhardwaresettings.h + llfloaterhtmlcurrency.h + llfloatermediabrowser.h + llfloaterhtmlsimple.h + llfloaterhud.h + llfloaterimagepreview.h + llfloaterimport.h + llfloaterinspect.h + llfloaterjoystick.h + llfloaterlagmeter.h + llfloaterland.h + llfloaterlandholdings.h + llfloaterlandmark.h + llfloatermap.h + llfloatermemleak.h + llfloatermessagelog.h + llfloatermute.h + llfloaternamedesc.h + llfloaternewim.h + llfloaternotificationsconsole.h + llfloaterobjectiminfo.h + llfloateropenobject.h + llfloaterparcel.h + llfloaterpermissionsmgr.h + llfloaterpostcard.h + llfloaterpostprocess.h + llfloaterpreference.h + llfloaterperms.h + llfloaterproperties.h + llfloaterregioninfo.h + llfloaterreporter.h + llfloaterscriptdebug.h + llfloatersellland.h + llfloatersettingsdebug.h + llfloatersnapshot.h + llfloaterstats.h + llfloatertelehub.h + llfloaterteleport.h + llfloaterteleporthistory.h + llfloatertest.h + llfloatertools.h + llfloatertopobjects.h + llfloatertos.h + llfloaterurldisplay.h + llfloaterurlentry.h + llfloatervfs.h + llfloatervfsexplorer.h + llfloatervoicedevicesettings.h + llfloaterwater.h + llfloaterwindlight.h + llfloaterworldmap.h + llfolderview.h + llfollowcam.h + llframestats.h + llframestatview.h + llgesturemgr.h + llgivemoney.h + llgroupmgr.h + llgroupnotify.h + llhomelocationresponder.h + llhoverview.h + llhudeffect.h + llhudeffectbeam.h + llhudeffectlookat.h + llhudeffectpointat.h + llhudeffecttrail.h + llhudicon.h + llhudmanager.h + llhudobject.h + llhudrender.h + llhudtext.h + llhudview.h + llimpanel.h + llimportobject.h + llimview.h + llinventorybackup.h + llinventorybridge.h + llinventoryclipboard.h + llinventorymodel.h + llinventoryview.h + lljoystickbutton.h + lllandmarklist.h + lllightconstants.h + lllocalinventory.h + lllogchat.h + llloginhandler.h + llsavedlogins.h + llmanip.h + llmaniprotate.h + llmanipscale.h + llmaniptranslate.h + llmediaremotectrl.h + llmemoryview.h + llmenucommands.h + llmimetypes.h + llmorphview.h + llmoveview.h + llmutelist.h + llnamebox.h + llnameeditor.h + llnamelistctrl.h + llnetmap.h + llnotify.h + lloverlaybar.h + llpanelaudioprefs.h + llpanelaudiovolume.h + llpanelavatar.h + llpanelclassified.h + llpanelcontents.h + llpaneldebug.h + llpaneldirbrowser.h + llpaneldirclassified.h + llpaneldirevents.h + llpaneldirfind.h + llpaneldirgroups.h + llpaneldirland.h + llpaneldirpeople.h + llpaneldirplaces.h + llpaneldirpopular.h + llpaneldisplay.h + llpanelevent.h + llpanelface.h + llpanelgeneral.h + llpanelgroup.h + llpanelgroupgeneral.h + llpanelgroupinvite.h + llpanelgrouplandmoney.h + llpanelgroupnotices.h + llpanelgrouproles.h + llpanelgroupvoting.h + llpanelinput.h + llpanelinventory.h + llpanelland.h + llpanellandaudio.h + llpanellandmedia.h + llpanellandobjects.h + llpanellandoptions.h + llpanelLCD.h + llpanellogin.h + llpanelmorph.h + llpanelmediahud.h + llpanelmsgs.h + llpanelnetwork.h + llpanelobject.h + llpanelpermissions.h + llpanelpick.h + llpanelplace.h + llpanelskins.h + llpanelvolume.h + llpanelweb.h + llparcelselection.h + llpatchvertexarray.h + llpolymesh.h + llpolymorph.h + llprefschat.h + llprefsim.h + llprefsvoice.h + llpreview.h + llpreviewanim.h + llpreviewgesture.h + llpreviewlandmark.h + llpreviewnotecard.h + llpreviewscript.h + llpreviewsound.h + llpreviewtexture.h + llproductinforequest.h + llprogressview.h + llregionposition.h + llremoteparcelrequest.h + llresourcedata.h + llsavedsettingsglue.h + llselectmgr.h + llsky.h + llspatialpartition.h + llsprite.h + llsrv.h + llstartup.h + llstatbar.h + llstatgraph.h + llstatusbar.h + llstatview.h + llstylemap.h + llsurface.h + llsurfacepatch.h + lltable.h + lltexlayer.h + lltexturecache.h + lltexturectrl.h + lltexturefetch.h + lltextureinfo.h + lltextureinfodetails.h + lltexturestats.h + lltexturestatsuploader.h + lltextureview.h + lltool.h + lltoolbar.h + lltoolbrush.h + lltoolcomp.h + lltooldraganddrop.h + lltoolface.h + lltoolfocus.h + lltoolgrab.h + lltoolgun.h + lltoolindividual.h + lltoolmgr.h + lltoolmorph.h + lltoolobjpicker.h + lltoolpie.h + lltoolpipette.h + lltoolplacer.h + lltoolselect.h + lltoolselectland.h + lltoolselectrect.h + lltoolview.h + lltracker.h + lltrans.h + lltranslate.h + lluiconstants.h + lluploaddialog.h + llurl.h + llurldispatcher.h + llurlhistory.h + llurlsimstring.h + llurlwhitelist.h + lluserauth.h + llvectorperfoptions.h + llvelocitybar.h + llviewchildren.h + llviewerassetstorage.h + llvieweraudio.h + llviewerbuild.h + llviewercamera.h + llviewercontrol.h + llviewerdisplay.h + llviewergenericmessage.h + llviewergesture.h + llviewerimage.h + llviewerimagelist.h + llviewerinventory.h + llviewerjoint.h + llviewerjointattachment.h + llviewerjointmesh.h + llviewerjoystick.h + llviewerkeyboard.h + llviewerlayer.h + llviewermedia.h + llviewermediaobserver.h + llviewermediafocus.h + llviewermenu.h + llviewermenufile.h + llviewermessage.h + llviewernetwork.h + llviewerobject.h + llviewerobjectlist.h + llviewerparcelmedia.h + llviewerparcelmediaautoplay.h + llviewerparcelmgr.h + llviewerparceloverlay.h + llviewerpartsim.h + llviewerpartsource.h + llviewerprecompiledheaders.h + llviewerregion.h + llviewershadermgr.h + llviewerstats.h + llviewertexteditor.h + llviewertextureanim.h + llviewerthrottle.h + llviewervisualparam.h + llviewerwindow.h + llvlcomposition.h + llvlmanager.h + llvoavatar.h + llvoavatardefines.h + llvocache.h + llvoclouds.h + llvograss.h + llvoground.h + llvoiceclient.h + llvoiceremotectrl.h + llvoicevisualizer.h + llvoinventorylistener.h + llvopartgroup.h + llvosky.h + llvosurfacepatch.h + llvotextbubble.h + llvotree.h + llvotreenew.h + llvovolume.h + llvowater.h + llvowlsky.h + llwatchdog.h + llwaterparammanager.h + llwaterparamset.h + llwearable.h + llwearablelist.h + llweb.h + llmediactrl.h + llwind.h + llwindebug.h + llwlanimator.h + llwldaycycle.h + llwlparammanager.h + llwlparamset.h + llworld.h + llworldmap.h + llworldmapmessage.h + llworldmipmap.h + llworldmapview.h + llxmlrpctransaction.h + macmain.h + noise.h + pipeline.h + randgauss.h + scriptcounter.h + VertexCache.h + VorbisFramework.h + wlfPanel_AdvSettings.h + rlvdefines.h + rlvhandler.h + rlvhelper.h + rlvcommon.h + rlvlocks.h + rlvinventory.h + rlvextensions.h + rlvfloaterbehaviour.h + rlvviewer2.h + shcommandhandler.h + ) + +source_group("CMake Rules" FILES ViewerInstall.cmake) + +if (DARWIN) + LIST(APPEND viewer_SOURCE_FILES llappviewermacosx.cpp) + + find_library(AGL_LIBRARY AGL) + find_library(APPKIT_LIBRARY AppKit) + find_library(COCOA_LIBRARY Cocoa) + find_library(IOKIT_LIBRARY IOKit) + + set(viewer_LIBRARIES + ${COCOA_LIBRARY} + ${AGL_LIBRARY} + ${IOKIT_LIBRARY} + ) + + # Add resource files to the project. + set(viewer_RESOURCE_FILES + ${VIEWER_BRANDING_ID}.icns + macview.r + gpu_table.txt + Info-${VIEWER_BRANDING_NAME_CAMELCASE}.plist + SecondLife.nib/ + # CMake doesn't seem to support Xcode language variants well just yet + English.lproj/InfoPlist.strings + English.lproj/language.txt + German.lproj/language.txt + Japanese.lproj/language.txt + Korean.lproj/language.txt + ) + set_source_files_properties( + ${viewer_RESOURCE_FILES} + PROPERTIES + HEADER_FILE_ONLY TRUE + #MACOSX_PACKAGE_LOCATION Resources #don't do this! this tells cmake to copy the files. + ) + SOURCE_GROUP("Resources" FILES ${viewer_RESOURCE_FILES}) + list(APPEND viewer_SOURCE_FILES ${viewer_RESOURCE_FILES}) +endif (DARWIN) + +if (LINUX) + LIST(APPEND viewer_SOURCE_FILES llappviewerlinux.cpp) + LIST(APPEND viewer_SOURCE_FILES llappviewerlinux_api_dbus.cpp) + SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -luuid -lrt -laprutil-1 -lfontconfig -Wl,--as-needed") + + set(viewer_LIBRARIES + Xinerama + ) +endif (LINUX) + +if (WINDOWS) + list(APPEND viewer_SOURCE_FILES + llappviewerwin32.cpp + llwindebug.cpp + ) + + list(APPEND viewer_HEADER_FILES + llappviewerwin32.h + llwindebug.h + ) + + # precompiled header configuration + # llviewerprecompiledheaders.cpp generates + # the .pch file. + # All sources added to viewer_SOURCE_FILES + # at this point use it. + set_source_files_properties(llviewerprecompiledheaders.cpp + 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. + set(viewer_RESOURCE_FILES + ${ARTWORK_DIR}/res/arrow.cur + ${ARTWORK_DIR}/res/arrowcop.cur + ${ARTWORK_DIR}/res/arrowcopmulti.cur + ${ARTWORK_DIR}/res/arrowdrag.cur + ${ARTWORK_DIR}/res/circleandline.cur + ${ARTWORK_DIR}/res/icon1.ico + ${ARTWORK_DIR}/res/llarrow.cur + ${ARTWORK_DIR}/res/llarrowdrag.cur + ${ARTWORK_DIR}/res/llarrowdragmulti.cur + ${ARTWORK_DIR}/res/llarrowlocked.cur + ${ARTWORK_DIR}/res/llgrablocked.cur + ${ARTWORK_DIR}/res/llno.cur + ${ARTWORK_DIR}/res/llnolocked.cur + ${ARTWORK_DIR}/res/lltoolcamera.cur + ${ARTWORK_DIR}/res/lltoolcreate.cur + ${ARTWORK_DIR}/res/lltoolfocus.cur + ${ARTWORK_DIR}/res/lltoolgrab.cur + ${ARTWORK_DIR}/res/lltoolland.cur + ${ARTWORK_DIR}/res/lltoolpan.cur + ${ARTWORK_DIR}/res/lltoolpipette.cur + ${ARTWORK_DIR}/res/lltoolrotate.cur + ${ARTWORK_DIR}/res/lltoolscale.cur + ${ARTWORK_DIR}/res/lltooltranslate.cur + ${ARTWORK_DIR}/res/lltoolzoomin.cur + ${ARTWORK_DIR}/res/lltoolzoomout.cur + ${ARTWORK_DIR}/res/snowglobe_icon.BMP + ${ARTWORK_DIR}/res/snowglobe_icon.ico + ${ARTWORK_DIR}/res/resource.h + ${ARTWORK_DIR}/res/toolbuy.cur + ${ARTWORK_DIR}/res/toolopen.cur + ${ARTWORK_DIR}/res/toolpay.cur + ${ARTWORK_DIR}/res/toolpickobject.cur + ${ARTWORK_DIR}/res/toolpickobject2.cur + ${ARTWORK_DIR}/res/toolpickobject3.cur + ${ARTWORK_DIR}/res/toolpipette.cur + ${ARTWORK_DIR}/res/toolsit.cur + ) + + set_source_files_properties(${viewer_RESOURCE_FILES} + PROPERTIES HEADER_FILE_ONLY TRUE) + + if(NOT ARTWORK_IN_SOURCE) + # The resource compiler needs to find resources here. + include_directories(${ARTWORK_DIR}/res) + endif(NOT ARTWORK_IN_SOURCE) + + if (MSVC71 OR MSVC80 AND NOT VISTA_ICON) + set(viewer_RESOURCE_FILES + res/resource.h + res/viewerRes_bc.rc + ${viewer_RESOURCE_FILES} + ) + else (MSVC71 OR MSVC80 AND NOT VISTA_ICON) + set(viewer_RESOURCE_FILES + res/resource.h + res/viewerRes.rc + ${viewer_RESOURCE_FILES} + ) + endif (MSVC71 OR MSVC80 AND NOT VISTA_ICON) + + SOURCE_GROUP("Resource Files" FILES ${viewer_RESOURCE_FILES}) + + 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 + ) + + set(viewer_LIBRARIES + advapi32 + comdlg32 + ${DINPUT_LIBRARY} + ${DXGUID_LIBRARY} + fmodvc + gdi32 + kernel32 + odbc32 + odbccp32 + ole32 + oleaut32 + opengl32 + shell32 + user32 + Vfw32 + winspool + ) + + 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) + + if (INTEL_MEMOPS_LIBRARY) + list(APPEND viewer_LIBRARIES ${INTEL_MEMOPS_LIBRARY}) + endif (INTEL_MEMOPS_LIBRARY) + + use_prebuilt_binary(dbghelp) +endif (WINDOWS) + +# Add the xui files. This is handy for searching for xui elements +# from within the IDE. + +file(GLOB viewer_XUI_FILE_GLOB_LIST + ${CMAKE_CURRENT_SOURCE_DIR}/skins/default/xui/en-us/*.xml) + +set(viewer_XUI_FILES + + ${CMAKE_CURRENT_SOURCE_DIR}/skins/default/colors.xml + ${CMAKE_CURRENT_SOURCE_DIR}/skins/default/colors_base.xml + + + + ) + +list(APPEND viewer_XUI_FILES ${viewer_XUI_FILE_GLOB_LIST}) +list(SORT viewer_XUI_FILES) + +source_group("XUI Files" FILES ${viewer_XUI_FILES}) + +set_source_files_properties(${viewer_XUI_FILES} + PROPERTIES HEADER_FILE_ONLY TRUE) + +list(APPEND viewer_SOURCE_FILES ${viewer_XUI_FILES}) + +set(viewer_APPSETTINGS_FILES + app_settings/anim.ini + app_settings/cmd_line.xml + app_settings/grass.xml + app_settings/high_graphics.xml + app_settings/keys.ini + app_settings/keywords.ini + app_settings/logcontrol.xml + app_settings/low_graphics.xml + app_settings/mid_graphics.xml + app_settings/settings.xml + app_settings/settings_crash_behavior.xml + app_settings/settings_files.xml + app_settings/settings_per_account.xml + app_settings/std_bump.ini + app_settings/trees.xml + app_settings/ultra_graphics.xml + app_settings/viewerart.xml + ${CMAKE_SOURCE_DIR}/../etc/message.xml + ${CMAKE_SOURCE_DIR}/../scripts/messages/message_template.msg + ) + +use_prebuilt_binary(artwork-common) + +source_group("App Settings" FILES ${viewer_APPSETTINGS_FILES}) + +set_source_files_properties(${viewer_APPSETTINGS_FILES} + PROPERTIES HEADER_FILE_ONLY TRUE) + +list(APPEND viewer_SOURCE_FILES ${viewer_APPSETTINGS_FILES}) + +if(ARTWORK_EXISTS) + set(viewer_CHARACTER_FILES + ${ARTWORK_DIR}/character/attentions.xml + ${ARTWORK_DIR}/character/attentionsN.xml + ${ARTWORK_DIR}/character/avatar_lad.xml + ${ARTWORK_DIR}/character/avatar_skeleton.xml + ${ARTWORK_DIR}/character/genepool.xml + ) + + source_group("Character File" FILES ${viewer_CHARACTER_FILES}) + + set_source_files_properties(${viewer_CHARACTER_FILES} + PROPERTIES HEADER_FILE_ONLY TRUE) + + list(APPEND viewer_SOURCE_FILES ${viewer_CHARACTER_FILES}) +endif(ARTWORK_EXISTS) + +if (WINDOWS) + file(GLOB viewer_INSTALLER_FILES installers/windows/*.nsi) + + source_group("Installer Files" FILES ${viewer_INSTALLER_FILES}) + + set_source_files_properties(${viewer_INSTALLER_FILES} + PROPERTIES HEADER_FILE_ONLY TRUE) + + list(APPEND viewer_SOURCE_FILES ${viewer_INSTALLER_FILES}) +endif (WINDOWS) + +if (OPENAL) + set(LLSTARTUP_COMPILE_FLAGS "${LLSTARTUP_COMPILE_FLAGS} -DLL_OPENAL") +endif (OPENAL) + +if (FMOD) + set(LLSTARTUP_COMPILE_FLAGS "${LLSTARTUP_COMPILE_FLAGS} -DLL_FMOD") + + if (NOT WINDOWS) + set(fmodwrapper_SOURCE_FILES fmodwrapper.cpp) + add_library(fmodwrapper SHARED ${fmodwrapper_SOURCE_FILES}) + set(fmodwrapper_needed_LIBRARIES ${FMOD_LIBRARY}) + if (DARWIN) + list(APPEND fmodwrapper_needed_LIBRARIES ${CARBON_LIBRARY}) + set_target_properties( + fmodwrapper + PROPERTIES + BUILD_WITH_INSTALL_RPATH 1 + INSTALL_NAME_DIR "@executable_path/../Resources" + LINK_FLAGS "-unexported_symbols_list \"${CMAKE_CURRENT_SOURCE_DIR}/fmod_hidden_symbols.exp\"" + ) + endif (DARWIN) + set(FMODWRAPPER_LIBRARY fmodwrapper) + target_link_libraries(fmodwrapper ${fmodwrapper_needed_LIBRARIES}) + endif (NOT WINDOWS) +endif (FMOD) + +set_source_files_properties(llstartup.cpp PROPERTIES COMPILE_FLAGS "${LLSTARTUP_COMPILE_FLAGS}") + +list(APPEND viewer_SOURCE_FILES ${viewer_HEADER_FILES}) + +set_source_files_properties(${viewer_HEADER_FILES} + PROPERTIES HEADER_FILE_ONLY TRUE) + +add_executable(${VIEWER_BINARY_NAME} + WIN32 + MACOSX_BUNDLE + ${viewer_SOURCE_FILES} + ) +check_message_template(${VIEWER_BINARY_NAME}) + +if (LLKDU_LIBRARY) + add_dependencies(${VIEWER_BINARY_NAME} ${LLKDU_LIBRARY}) +endif (LLKDU_LIBRARY) + +# We package by default on Linux so we can run from newview/packaged. +if (LINUX) + set(PACKAGE_DEFAULT ON) +else (LINUX) + set(PACKAGE_DEFAULT OFF) +endif (LINUX) +set(PACKAGE ${PACKAGE_DEFAULT} CACHE BOOL + "Add a package target that builds an installer package.") + +if (WINDOWS) + if(MSVC71) + set(release_flags "/MAP:Release/${VIEWER_BINARY_NAME}.map /MAPINFO:LINES") + else(MSVC71) + set(release_flags "/MAP:Release/${VIEWER_BINARY_NAME}.map") + endif(MSVC71) + + set_target_properties(${VIEWER_BINARY_NAME} + PROPERTIES + LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS ${GOOGLE_PERFTOOLS_LINKER_FLAGS}" + LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\"" + LINK_FLAGS_RELEASE ${release_flags} + ) + + # sets the 'working directory' for debugging from visual studio. + if (NOT UNATTENDED) + add_custom_command( + TARGET ${VIEWER_BINARY_NAME} PRE_BUILD + COMMAND ${CMAKE_SOURCE_DIR}/tools/vstool/vstool.exe + ARGS + --solution + ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}.sln + --workingdir + ${VIEWER_BINARY_NAME} + ${CMAKE_CURRENT_SOURCE_DIR} + COMMENT "Setting the ${VIEWER_BINARY_NAME} working directory for debugging." + ) + 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." + ) + + 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) + + add_custom_command( + OUTPUT ${CMAKE_CFG_INTDIR}/touched.bat + COMMAND ${PYTHON_EXECUTABLE} + ARGS + ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py + --configuration=${CMAKE_CFG_INTDIR} + --channel=${VIEWER_CHANNEL} + --login_channel=${VIEWER_LOGIN_CHANNEL} + --branding_id=${VIEWER_BRANDING_ID} + --grid=${GRID} + --source=${CMAKE_CURRENT_SOURCE_DIR} + --artwork=${ARTWORK_DIR} + --build=${CMAKE_CURRENT_BINARY_DIR} + --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} + --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/touched.bat + DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py + ) + + add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit) + + if (PACKAGE) + add_custom_target(package ALL DEPENDS ${CMAKE_CFG_INTDIR}/touched.bat) + add_dependencies(package windows-updater windows-crash-logger) + endif (PACKAGE) +endif (WINDOWS) + +target_link_libraries(${VIEWER_BINARY_NAME} + ${GOOGLE_PERFTOOLS_LIBRARIES} + ${LLAUDIO_LIBRARIES} + ${LLCHARACTER_LIBRARIES} + ${LLIMAGE_LIBRARIES} + ${LLIMAGEJ2COJ_LIBRARIES} + ${LLINVENTORY_LIBRARIES} + ${LLMESSAGE_LIBRARIES} + ${LLPLUGIN_LIBRARIES} + ${LLPRIMITIVE_LIBRARIES} + ${LLRENDER_LIBRARIES} + ${FREETYPE_LIBRARIES} + ${LLUI_LIBRARIES} + ${LLVFS_LIBRARIES} + ${LLWINDOW_LIBRARIES} + ${LLXML_LIBRARIES} + ${LSCRIPT_LIBRARIES} + ${LLMATH_LIBRARIES} + ${LLCOMMON_LIBRARIES} + ${NDOF_LIBRARY} + ${viewer_LIBRARIES} + ${BOOST_PROGRAM_OPTIONS_LIBRARY} + ${BOOST_REGEX_LIBRARY} + ${DBUSGLIB_LIBRARIES} + ${OPENGL_LIBRARIES} + ${FMODWRAPPER_LIBRARY} + ${OPENGL_LIBRARIES} + ${JSONCPP_LIBRARIES} + ${SDL_LIBRARY} + ${SMARTHEAP_LIBRARY} + ${UI_LIBRARIES} + ${WINDOWS_LIBRARIES} + ${XMLRPCEPI_LIBRARIES} + ${ELFIO_LIBRARIES} + ) + +if (LINUX) + add_custom_command( + OUTPUT secondlife-stripped + COMMAND strip + ARGS --strip-debug -o secondlife-stripped ${VIEWER_BINARY_NAME} + DEPENDS ${VIEWER_BINARY_NAME} + ) + + set(product ${VIEWER_BRANDING_NAME_CAMELCASE}-${ARCH}-${viewer_VERSION}) + + add_custom_command( + OUTPUT ${product}.tar.bz2 + COMMAND ${PYTHON_EXECUTABLE} + ARGS + ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py + --grid=${GRID} + --channel=${VIEWER_CHANNEL} + --login_channel=${VIEWER_LOGIN_CHANNEL} + --branding_id=${VIEWER_BRANDING_ID} + --installer_name=${product} + --arch=${ARCH} + --source=${CMAKE_CURRENT_SOURCE_DIR} + --artwork=${ARTWORK_DIR} + --build=${CMAKE_CURRENT_BINARY_DIR} + --dest=${CMAKE_CURRENT_BINARY_DIR}/packaged + --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.touched + --buildtype=${CMAKE_BUILD_TYPE} + DEPENDS secondlife-stripped ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py + ) + + add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_gstreamer010 media_plugin_webkit) + + if (PACKAGE) + add_custom_target(package ALL DEPENDS ${product}.tar.bz2) + add_dependencies(package linux-crash-logger-strip-target) + endif (PACKAGE) +endif (LINUX) + +if (DARWIN) + set(product ${VIEWER_BRANDING_NAME}) + set_target_properties( + ${VIEWER_BINARY_NAME} + PROPERTIES + OUTPUT_NAME "${product}" + MACOSX_BUNDLE_INFO_STRING "A stable third-party Second Life viewer." + MACOSX_BUNDLE_ICON_FILE "${VIEWER_BRANDING_ID}.icns" + MACOSX_BUNDLE_GUI_IDENTIFIER "${VIEWER_BRANDING_NAME}" + MACOSX_BUNDLE_LONG_VERSION_STRING "${viewer_VERSION}" + MACOSX_BUNDLE_BUNDLE_NAME "${VIEWER_BRANDING_NAME}" + MACOSX_BUNDLE_SHORT_VERSION_STRING "${viewer_VERSION}" + MACOSX_BUNDLE_BUNDLE_VERSION "${viewer_VERSION}" + MACOSX_BUNDLE_COPYRIGHT "Copyright 2010 Balseraph Software Group" + ) + + add_custom_command( + TARGET ${VIEWER_BINARY_NAME} POST_BUILD + COMMAND ${PYTHON_EXECUTABLE} + ARGS + ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py + --grid=${GRID} + --actions=copy + --configuration=${CMAKE_CFG_INTDIR} + --source=${CMAKE_CURRENT_SOURCE_DIR} + --artwork=${ARTWORK_DIR} + --branding_id=${VIEWER_BRANDING_ID} + --build=${CMAKE_CURRENT_BINARY_DIR} + --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${product}.app + --buildtype=${CMAKE_BUILD_TYPE} + DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py + ) + + add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit) + + if (PACKAGE) + add_custom_target(package ALL DEPENDS ${VIEWER_BINARY_NAME}) + add_dependencies(package mac-updater mac-crash-logger) + + add_custom_command( + TARGET package POST_BUILD + COMMAND ${PYTHON_EXECUTABLE} + ARGS + ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py + --grid=${GRID} + --configuration=${CMAKE_CFG_INTDIR} + --channel=${VIEWER_CHANNEL} + --login_channel=${VIEWER_LOGIN_CHANNEL} + --branding_id=${VIEWER_BRANDING_ID} + --source=${CMAKE_CURRENT_SOURCE_DIR} + --artwork=${ARTWORK_DIR} + --build=${CMAKE_CURRENT_BINARY_DIR} + --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${product}.app + --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.touched + --buildtype=${CMAKE_BUILD_TYPE} + DEPENDS + ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py + ) + + + add_custom_command( + TARGET package POST_BUILD + COMMAND ${PYTHON_EXECUTABLE} + ARGS + ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py + --grid=${GRID} + --configuration=${CMAKE_CFG_INTDIR} + --channel=${VIEWER_CHANNEL} + --login_channel=${VIEWER_LOGIN_CHANNEL} + --branding_id=${VIEWER_BRANDING_ID} + --source=${CMAKE_CURRENT_SOURCE_DIR} + --artwork=${ARTWORK_DIR} + --build=${CMAKE_CURRENT_BINARY_DIR} + --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${product}.app + --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.touched + --buildtype=${CMAKE_BUILD_TYPE} + DEPENDS + ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py + ) + + endif (PACKAGE) +endif (DARWIN) + +if (INSTALL) + include(${CMAKE_CURRENT_SOURCE_DIR}/ViewerInstall.cmake) +endif (INSTALL) + +# 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) + + get_target_property(BUILT_LLCOMMON llcommon LOCATION) + 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." + ) + + get_target_property(BUILT_SLPLUGIN SLPlugin LOCATION) + 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." + ) + + get_target_property(BUILT_WEBKIT_PLUGIN media_plugin_webkit LOCATION) + 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." + ) + + get_target_property(BUILT_QUICKTIME_PLUGIN media_plugin_quicktime LOCATION) + 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." + ) + + # 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) diff --git a/indra/newview/res/viewerRes.rc b/indra/newview/res/viewerRes.rc index fa3024360..52a76bc40 100644 --- a/indra/newview/res/viewerRes.rc +++ b/indra/newview/res/viewerRes.rc @@ -154,7 +154,7 @@ BEGIN BEGIN BLOCK "040904b0" BEGIN - VALUE "CompanyName", "Siana Gears" + VALUE "CompanyName", "Siana Gearz" VALUE "FileDescription", "Singularity Viewer" VALUE "FileVersion", "1.5.0.0" VALUE "InternalName", "Second Life" diff --git a/indra/newview/res/viewerRes_bc.rc b/indra/newview/res/viewerRes_bc.rc index bbcecf38c..6649c21c9 100644 --- a/indra/newview/res/viewerRes_bc.rc +++ b/indra/newview/res/viewerRes_bc.rc @@ -154,7 +154,7 @@ BEGIN BEGIN BLOCK "040904b0" BEGIN - VALUE "CompanyName", "Siana Gears" + VALUE "CompanyName", "Siana Gearz" VALUE "FileDescription", "Singularity Viewer" VALUE "FileVersion", "1.5.0.0" VALUE "InternalName", "Second Life" diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 7e1266a92..78a5f0ebe 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -178,7 +178,7 @@ class WindowsManifest(ViewerManifest): super(WindowsManifest, self).construct() # 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(self.find_existing_file('debug/secondlife-bin.exe', 'releaseSSE2/secondlife-bin.exe', 'relwithdebinfo/secondlife-bin.exe'), dst=self.final_exe()) + self.path(src='%s/secondlife-bin.exe' % self.args['configuration'], dst=self.final_exe()) # Plugin host application self.path(os.path.join(os.pardir, @@ -186,14 +186,14 @@ class WindowsManifest(ViewerManifest): "SLPlugin.exe") # need to get the kdu dll from any of the build directories as well - try: - self.path(self.find_existing_file('../llkdu/%s/llkdu.dll' % self.args['configuration'], - '../../libraries/i686-win32/lib/release/llkdu.dll'), - dst='llkdu.dll') - pass - except: - print "Skipping llkdu.dll" - pass + #~ try: + #~ self.path(self.find_existing_file('../llkdu/%s/llkdu.dll' % self.args['configuration'], + #~ '../../libraries/i686-win32/lib/release/llkdu.dll'), + #~ dst='llkdu.dll') + #~ pass + #~ except: + #~ print "Skipping llkdu.dll" + #~ pass self.path(src="licenses-win32.txt", dst="licenses.txt") self.path("featuretable.txt") @@ -269,7 +269,7 @@ class WindowsManifest(ViewerManifest): #~ self.end_prefix() # For google-perftools tcmalloc allocator. - self.path(src="../../libraries/i686-win32/lib/release/libtcmalloc_minimal.dll") + self.path("../../libraries/i686-win32/lib/release/libtcmalloc_minimal.dll", dst="libtcmalloc_minimal.dll") # These need to be installed as a SxS assembly, currently a 'private' assembly. # See http://msdn.microsoft.com/en-us/library/ms235291(VS.80).aspx @@ -297,18 +297,8 @@ class WindowsManifest(ViewerManifest): self.end_prefix() # pull in the crash logger and updater from other projects - self.path(src=self.find_existing_file( # tag:"crash-logger" here as a cue to the exporter - "../win_crash_logger/debug/windows-crash-logger.exe", - "../win_crash_logger/release/windows-crash-logger.exe", - "../win_crash_logger/releaseSSE2/windows-crash-logger.exe", - "../win_crash_logger/relwithdebinfo/windows-crash-logger.exe"), - dst="win_crash_logger.exe") - self.path(src=self.find_existing_file( - "../win_updater/debug/windows-updater.exe", - "../win_updater/release/windows-updater.exe", - "../win_updater/releaseSSE2/windows-updater.exe", - "../win_updater/relwithdebinfo/windows-updater.exe"), - dst="updater.exe") + 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") def nsi_file_commands(self, install=True): @@ -525,10 +515,7 @@ class DarwinManifest(ViewerManifest): self.path("../media_plugins/webkit/" + self.args['configuration'] + "/media_plugin_webkit.dylib", "media_plugin_webkit.dylib") self.path("../../libraries/universal-darwin/lib_release/libllqtwebkit.dylib", "libllqtwebkit.dylib") - self.end_prefix("llplugin") - - # skins - self.path("skins") + self.end_prefix("llplugin") # Per platform MIME config on the cheap. See SNOW-307 / DEV-41388 self.path("skins/default/xui/en-us/mime_types_mac.xml", "skins/default/xui/en-us/mime_types.xml") @@ -754,15 +741,15 @@ class Linux_i686Manifest(LinuxManifest): # install either the libllkdu we just built, or a prebuilt one, in # decreasing order of preference. for linux package, this goes to bin/ - try: - self.path(self.find_existing_file('../llkdu/libllkdu.so', - '../../libraries/i686-linux/lib_release_client/libllkdu.so'), - dst='bin/libllkdu.so') - # keep this one to preserve syntax, open source mangling removes previous lines - pass - except: - print "Skipping libllkdu.so - not found" - pass + #~ try: + #~ self.path(self.find_existing_file('../llkdu/libllkdu.so', + #~ '../../libraries/i686-linux/lib_release_client/libllkdu.so'), + #~ dst='bin/libllkdu.so') + #~ # keep this one to preserve syntax, open source mangling removes previous lines + #~ pass + #~ except: + #~ print "Skipping libllkdu.so - not found" + #~ pass if self.prefix("../../libraries/i686-linux/lib_release_client", dst="lib"):