Files
SingularityViewer/indra/newview/CMakeLists.txt
2019-03-09 01:51:50 -06:00

1883 lines
52 KiB
CMake

# -*- cmake -*-
project(viewer)
include(00-Common)
include(Boost)
include(BuildPackagesInfo)
include(BuildVersion)
include(BuildBranding)
include(CMakeCopyIfDifferent)
include(DBusGlib)
include(FMODSTUDIO)
include(GLOD)
include(FindOpenGL)
include(Hunspell)
include(JsonCpp)
include(LLAddBuildTest)
include(LLAppearance)
include(LLAudio)
include(LLCharacter)
include(LLCommon)
include(LLImage)
include(LLImageJ2COJ)
include(LLInventory)
include(LLMath)
include(LLMessage)
include(LLPhysicsExtensions)
include(LLPlugin)
include(LLPrimitive)
include(LLRender)
include(LLUI)
include(LLVFS)
include(LLWindow)
include(LLXML)
include(Linking)
include(NDOF)
include(NVAPI)
include(OPENAL)
include(OpenSSL)
include(StateMachine)
include(TemplateCheck)
include(UI)
include(ViewerMiscLibs)
include(WinManifest)
include(ZLIB)
if (MSVC)
use_prebuilt_binary(vcredist)
endif (MSVC)
include_directories(
${STATEMACHINE_INCLUDE_DIRS}
${DBUSGLIB_INCLUDE_DIRS}
${ZLIB_INCLUDE_DIRS}
${JSONCPP_INCLUDE_DIR}
${GLOD_INCLUDE_DIR}
${LLAUDIO_INCLUDE_DIRS}
${LLCHARACTER_INCLUDE_DIRS}
${LLCOMMON_INCLUDE_DIRS}
${LLPHYSICSEXTENSIONS_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}
${HUNSPELL_INCLUDE_DIR}
${LLAPPEARANCE_INCLUDE_DIRS}
${CMAKE_CURRENT_SOURCE_DIR}
)
set(viewer_SOURCE_FILES
NACLantispam.cpp
aihttpview.cpp
#aixmllindengenepool.cpp
alfloaterregiontracker.cpp
aoremotectrl.cpp
ascentfloatercontactgroups.cpp
ascentkeyword.cpp
ascentprefschat.cpp
ascentprefssys.cpp
ascentprefsvan.cpp
awavefront.cpp
chatbar_as_cmdline.cpp
daeexport.cpp
floaterao.cpp
floaterlocalassetbrowse.cpp
floatervoicelicense.cpp
generichandlers.cpp
groupchatlistener.cpp
hbfloatergrouptitles.cpp
hippofloaterxml.cpp
hippogridmanager.cpp
hippolimits.cpp
hippopanelgrids.cpp
importtracker.cpp
jcfloaterareasearch.cpp
lffloaterinvpanel.cpp
lfsimfeaturehandler.cpp
lggdicdownload.cpp
lgghunspell_wrapper.cpp
llaccountingcostmanager.cpp
llaisapi.cpp
llagent.cpp
llagentaccess.cpp
llagentcamera.cpp
llagentdata.cpp
llagentlanguage.cpp
llagentpilot.cpp
llagentui.cpp
llagentwearables.cpp
llagentwearablesfetch.cpp
llanimstatelabels.cpp
llappearancemgr.cpp
llappviewer.cpp
llassetuploadqueue.cpp
llassetuploadresponders.cpp
llattachmentsmgr.cpp
llaudiosourcevo.cpp
llautoreplace.cpp
llavataractions.cpp
llavatarpropertiesprocessor.cpp
llavatarrenderinfoaccountant.cpp
llbox.cpp
llcallbacklist.cpp
llcallingcard.cpp
llcapabilitylistener.cpp
llcaphttpsender.cpp
llchatbar.cpp
llclassifiedinfo.cpp
llclassifiedstatsresponder.cpp
llcloud.cpp
llcolorscheme.cpp
llcolorswatch.cpp
llcommandhandler.cpp
llcommandlineparser.cpp
llcompilequeue.cpp
llconfirmationmanager.cpp
llconsole.cpp
llcrashlogger.cpp
llcurrencyuimanager.cpp
llcylinder.cpp
lldaycyclemanager.cpp
lldebugmessagebox.cpp
lldebugview.cpp
lldelayedgestureerror.cpp
lldrawable.cpp
lldrawpool.cpp
lldrawpoolalpha.cpp
lldrawpoolavatar.cpp
lldrawpoolbump.cpp
lldrawpoolground.cpp
lldrawpoolmaterials.cpp
lldrawpoolsimple.cpp
lldrawpoolsky.cpp
lldrawpoolterrain.cpp
lldrawpooltree.cpp
lldrawpoolwater.cpp
lldrawpoolwlsky.cpp
lldroptarget.cpp
lldynamictexture.cpp
llemote.cpp
llenvmanager.cpp
llestateinfomodel.cpp
lleventinfo.cpp
lleventnotifier.cpp
lleventpoll.cpp
llexternaleditor.cpp
llface.cpp
llfasttimerview.cpp
llfeaturemanager.cpp
llfirstuse.cpp
llflexibleobject.cpp
llfloaterabout.cpp
llfloateractivespeakers.cpp
llfloaterauction.cpp
llfloaterautoreplacesettings.cpp
llfloateravatar.cpp
llfloateravatarinfo.cpp
llfloateravatarlist.cpp
llfloateravatarpicker.cpp
llfloateravatartextures.cpp
llfloaterbeacons.cpp
llfloaterblacklist.cpp
llfloaterbuildoptions.cpp
llfloaterbulkpermission.cpp
llfloaterbump.cpp
llfloaterbuy.cpp
llfloaterbuycontents.cpp
llfloaterbuycurrency.cpp
llfloaterbuyland.cpp
llfloaterbvhpreview.cpp
llfloatercamera.cpp
llfloaterchat.cpp
llfloaterchatterbox.cpp
llfloaterclassified.cpp
llfloatercolorpicker.cpp
llfloatercustomize.cpp
llfloaterdaycycle.cpp
llfloaterdestinations.cpp
llfloaterdirectory.cpp
llfloaterdisplayname.cpp
llfloatereditui.cpp
llfloaterenvsettings.cpp
llfloaterevent.cpp
llfloaterexploreanimations.cpp
llfloaterexploresounds.cpp
llfloaterfeed.cpp
llfloaterfonttest.cpp
llfloaterfriends.cpp
llfloatergesture.cpp
llfloatergodtools.cpp
llfloatergroupbulkban.cpp
llfloatergroupinfo.cpp
llfloatergroupinvite.cpp
llfloatergroups.cpp
llfloaterhandler.cpp
llfloaterhtmlcurrency.cpp
llfloaterhtmlsimple.cpp
llfloaterhud.cpp
llfloaterimagepreview.cpp
llfloaterinspect.cpp
llfloaterjoystick.cpp
llfloaterland.cpp
llfloaterlandholdings.cpp
llfloaterlandmark.cpp
llfloatermap.cpp
llfloatermediafilter.cpp
llfloatermediasettings.cpp
llfloatermemleak.cpp
llfloatermessagelog.cpp
llfloatermodelpreview.cpp
llfloatermodeluploadbase.cpp
llfloatermute.cpp
llfloaternamedesc.cpp
llfloaternotificationsconsole.cpp
llfloaterobjectiminfo.cpp
llfloaterobjectweights.cpp
llfloateropenobject.cpp
llfloateroutbox.cpp
llfloaterparcel.cpp
llfloaterpathfindingcharacters.cpp
llfloaterpathfindinglinksets.cpp
llfloaterpathfindingobjects.cpp
llfloaterperms.cpp
llfloaterpostcard.cpp
llfloaterpostprocess.cpp
llfloaterpreference.cpp
llfloaterproperties.cpp
llfloaterregiondebugconsole.cpp
llfloaterregioninfo.cpp
llfloaterregionrestarting.cpp
llfloaterreporter.cpp
llfloaterscriptdebug.cpp
llfloaterscriptlimits.cpp
llfloatersearch.cpp
llfloatersearchreplace.cpp
llfloatersellland.cpp
llfloatersettingsdebug.cpp
llfloatersnapshot.cpp
llfloaterstats.cpp
llfloatertelehub.cpp
llfloaterteleporthistory.cpp
llfloatertest.cpp
llfloatertools.cpp
llfloatertopobjects.cpp
llfloatertos.cpp
llfloaterurldisplay.cpp
llfloaterurlentry.cpp
llfloatervoiceeffect.cpp
llfloaterwater.cpp
llfloaterwebcontent.cpp
llfloaterwebprofile.cpp
llfloaterwhitelistentry.cpp
llfloaterwindlight.cpp
llfloaterworldmap.cpp
llfolderview.cpp
llfolderviewitem.cpp
llfollowcam.cpp
llframestats.cpp
llframestatview.cpp
llgesturemgr.cpp
llgiveinventory.cpp
llgivemoney.cpp
llglsandbox.cpp
llgroupactions.cpp
llgroupmgr.cpp
llgroupnotify.cpp
llhomelocationresponder.cpp
llhoverview.cpp
llhttpretrypolicy.cpp
llhudeffect.cpp
llhudeffectbeam.cpp
llhudeffectlookat.cpp
llhudeffectpointat.cpp
llhudeffecttrail.cpp
llhudicon.cpp
llhudmanager.cpp
llhudnametag.cpp
llhudobject.cpp
llhudrender.cpp
llhudtext.cpp
llhudview.cpp
llimpanel.cpp
llimview.cpp
llinventoryactions.cpp
llinventorybridge.cpp
llinventoryclipboard.cpp
llinventoryfilter.cpp
llinventoryfunctions.cpp
llinventoryicon.cpp
llinventorymodel.cpp
llinventorymodelbackgroundfetch.cpp
llinventoryobserver.cpp
llinventorypanel.cpp
lljoystickbutton.cpp
lllandmarklist.cpp
lllogchat.cpp
llloginhandler.cpp
llmainlooprepeater.cpp
llmakeoutfitdialog.cpp
llmanip.cpp
llmaniprotate.cpp
llmanipscale.cpp
llmaniptranslate.cpp
llmapresponders.cpp
llmarketplacefunctions.cpp
llmarketplacenotifications.cpp
llmaterialmgr.cpp
llmediactrl.cpp
llmediadataclient.cpp
llmediafilter.cpp
llmediaremotectrl.cpp
llmenucommands.cpp
llmenuoptionpathfindingrebakenavmesh.cpp
llmeshrepository.cpp
llmimetypes.cpp
llmorphview.cpp
llmoveview.cpp
llmutelist.cpp
llnamebox.cpp
llnameeditor.cpp
llnamelistctrl.cpp
llnetmap.cpp
llnotify.cpp
lloutfitobserver.cpp
lloverlaybar.cpp
llpanelaudioprefs.cpp
llpanelaudiovolume.cpp
llpanelavatar.cpp
llpanelclassified.cpp
llpanelcontents.cpp
llpaneldirbrowser.cpp
llpaneldirclassified.cpp
llpaneldirevents.cpp
llpaneldirfind.cpp
llpaneldirgroups.cpp
llpaneldirland.cpp
llpaneldirpeople.cpp
llpaneldirplaces.cpp
llpaneldirpopular.cpp
llpaneldisplay.cpp
llpaneleditwearable.cpp
llpanelevent.cpp
llpanelface.cpp
llpanelgeneral.cpp
llpanelgroup.cpp
llpanelgroupbulk.cpp
llpanelgroupbulkban.cpp
llpanelgroupgeneral.cpp
llpanelgroupinvite.cpp
llpanelgrouplandmoney.cpp
llpanelgroupnotices.cpp
llpanelgrouproles.cpp
llpanelgroupvoting.cpp
llpanelinput.cpp
llpanelland.cpp
llpanellandaudio.cpp
llpanellandmedia.cpp
llpanellandobjects.cpp
llpanellandoptions.cpp
llpanellogin.cpp
llpanelmaininventory.cpp
llpanelmarketplaceoutboxinventory.cpp
llpanelmediasettingsgeneral.cpp
llpanelmediasettingspermissions.cpp
llpanelmediasettingssecurity.cpp
llpanelnearbymedia.cpp
llpanelmorph.cpp
llpanelmsgs.cpp
llpanelnetwork.cpp
llpanelobject.cpp
llpanelobjectinventory.cpp
llpanelpermissions.cpp
llpanelpick.cpp
llpanelplace.cpp
llpanelprimmediacontrols.cpp
llpanelprofile.cpp
llpanelskins.cpp
llpanelvoicedevicesettings.cpp
llpanelvoiceeffect.cpp
llpanelvolume.cpp
llpanelweb.cpp
llparcelselection.cpp
llparticipantlist.cpp
llpatchvertexarray.cpp
llpathfindingcharacter.cpp
llpathfindingcharacterlist.cpp
llpathfindinglinkset.cpp
llpathfindinglinksetlist.cpp
llpathfindingmanager.cpp
llpathfindingnavmesh.cpp
llpathfindingnavmeshstatus.cpp
llpathfindingobject.cpp
llpathfindingobjectlist.cpp
llphysicsmotion.cpp
llphysicsshapebuilderutil.cpp
llprefschat.cpp
llprefsim.cpp
llprefsvoice.cpp
llpreview.cpp
llpreviewanim.cpp
llpreviewgesture.cpp
llpreviewlandmark.cpp
llpreviewnotecard.cpp
llpreviewscript.cpp
llpreviewsound.cpp
llpreviewtexture.cpp
llproductinforequest.cpp
llprogressview.cpp
llregioninfomodel.cpp
llregionposition.cpp
llremoteparcelrequest.cpp
llsavedlogins.cpp
llsavedsettingsglue.cpp
llscrollingpanelparam.cpp
llscrollingpanelparambase.cpp
llselectmgr.cpp
llshareavatarhandler.cpp
llskinningutil.cpp
llsky.cpp
llslurl.cpp
llspatialpartition.cpp
llspeakers.cpp
llsprite.cpp
llstartup.cpp
llstatusbar.cpp
llstylemap.cpp
llsurface.cpp
llsurfacepatch.cpp
lltexturecache.cpp
lltexturectrl.cpp
lltexturefetch.cpp
lltextureinfo.cpp
lltextureinfodetails.cpp
lltexturestats.cpp
lltexturestatsuploader.cpp
lltextureview.cpp
lltool.cpp
lltoolbar.cpp
lltoolbrush.cpp
lltoolcomp.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
lluploaddialog.cpp
lluploadfloaterobservers.cpp
llurl.cpp
llurldispatcher.cpp
llurlhistory.cpp
llurlwhitelist.cpp
lluserauth.cpp
llvectorperfoptions.cpp
llversioninfo.cpp
llvelocitybar.cpp
llviewchildren.cpp
llviewerassetstats.cpp
llviewerassetstorage.cpp
llviewerassettype.cpp
llvieweraudio.cpp
llviewercamera.cpp
llviewercontrol.cpp
llviewerdisplay.cpp
llviewerdisplayname.cpp
llviewerfoldertype.cpp
llviewergenericmessage.cpp
llviewergesture.cpp
llviewerinventory.cpp
llviewerjoint.cpp
llviewerjointattachment.cpp
llviewerjointmesh.cpp
llviewerjoystick.cpp
llviewerkeyboard.cpp
llviewerlayer.cpp
llviewermedia.cpp
llviewermedia_streamingaudio.cpp
llviewermediafocus.cpp
llviewermenu.cpp
llviewermenufile.cpp
llviewermessage.cpp
llviewernetwork.cpp
llviewerobject.cpp
llviewerobjectbackup.cpp
llviewerobjectlist.cpp
llvieweroctree.cpp
llviewerparcelmedia.cpp
llviewerparcelmediaautoplay.cpp
llviewerparcelmgr.cpp
llviewerparceloverlay.cpp
llviewerpartsim.cpp
llviewerpartsource.cpp
llviewerpluginmanager.cpp
llviewerregion.cpp
llviewershadermgr.cpp
llviewerstats.cpp
llviewerstatsrecorder.cpp
llviewertexlayer.cpp
llviewertexteditor.cpp
llviewertexture.cpp
llviewertextureanim.cpp
llviewertexturelist.cpp
llviewerthrottle.cpp
llviewerwearable.cpp
llviewerwindow.cpp
llvlcomposition.cpp
llvlmanager.cpp
llvoavatar.cpp
llvoavatarself.cpp
llvocache.cpp
llvoclouds.cpp
llvograss.cpp
llvoground.cpp
llvoicecallhandler.cpp
llvoicechannel.cpp
llvoiceclient.cpp
llvoiceremotectrl.cpp
llvoicevisualizer.cpp
llvoicevivox.cpp
llvoinventorylistener.cpp
llvopartgroup.cpp
llvosky.cpp
llvosurfacepatch.cpp
llvotree.cpp
llvovolume.cpp
llvowater.cpp
llvowlsky.cpp
llwatchdog.cpp
llwaterparammanager.cpp
llwaterparamset.cpp
llwearablelist.cpp
llweb.cpp
llwebprofile.cpp
llwind.cpp
llwlanimator.cpp
llwldaycycle.cpp
llwlhandlers.cpp
llwlparammanager.cpp
llwlparamset.cpp
llworld.cpp
llworldmap.cpp
llworldmapmessage.cpp
llworldmapview.cpp
llworldmipmap.cpp
llxmlrpcresponder.cpp
m7wlinterface.cpp
pipeline.cpp
qtoolalign.cpp
rlvactions.cpp
rlvcommon.cpp
rlvextensions.cpp
rlvfloaters.cpp
rlvhandler.cpp
rlvhelper.cpp
rlvinventory.cpp
rlvlocks.cpp
rlvui.cpp
scriptcounter.cpp
sgmemstat.cpp
shcommandhandler.cpp
shupdatechecker.cpp
shfloatermediaticker.cpp
wlfPanel_AdvSettings.cpp
)
set(VIEWER_BINARY_NAME "singularity-bin" CACHE STRING
"The name of the viewer executable to create.")
set(viewer_HEADER_FILES
CMakeLists.txt
ViewerInstall.cmake
NACLantispam.h
aihttpview.h
#aixmllindengenepool.h
alfloaterregiontracker.h
aoremotectrl.h
ascentfloatercontactgroups.h
ascentkeyword.h
ascentprefschat.h
ascentprefssys.h
ascentprefsvan.h
awavefront.h
chatbar_as_cmdline.h
daeexport.h
floaterao.h
floaterlocalassetbrowse.h
floatervoicelicense.h
generichandlers.h
groupchatlistener.h
hbfloatergrouptitles.h
hippofloaterxml.h
hippogridmanager.h
hippolimits.h
hippopanelgrids.h
importtracker.h
jcfloaterareasearch.h
lffloaterinvpanel.h
lfsimfeaturehandler.h
lggdicdownload.h
lgghunspell_wrapper.h
llaccountingcostmanager.h
llaisapi.h
llagent.h
llagentaccess.h
llagentcamera.h
llagentdata.h
llagentlanguage.h
llagentpilot.h
llagentui.h
llagentwearables.h
llagentwearablesfetch.h
llanimstatelabels.h
llappearance.h
llappearancemgr.h
llappviewer.h
llassetuploadqueue.h
llassetuploadresponders.h
llattachmentsmgr.h
llaudiosourcevo.h
llautoreplace.h
llavataractions.h
llavatarpropertiesprocessor.h
llavatarrenderinfoaccountant.h
llbox.h
llcallingcard.h
llcapabilitylistener.h
llcaphttpsender.h
llchatbar.h
llclassifiedinfo.h
llclassifiedstatsresponder.h
llcloud.h
llcolorscheme.h
llcolorswatch.h
llcommandhandler.h
llcommandlineparser.h
llcompilequeue.h
llconfirmationmanager.h
llconsole.h
llcrashlogger.h
llcurrencyuimanager.h
llcylinder.h
lldaycyclemanager.h
lldebugmessagebox.h
lldebugview.h
lldelayedgestureerror.h
lldrawable.h
lldrawpool.h
lldrawpoolalpha.h
lldrawpoolavatar.h
lldrawpoolbump.h
lldrawpoolmaterials.h
lldrawpoolground.h
lldrawpoolsimple.h
lldrawpoolsky.h
lldrawpoolterrain.h
lldrawpooltree.h
lldrawpoolwater.h
lldrawpoolwlsky.h
lldroptarget.h
lldynamictexture.h
llemote.h
llenvmanager.h
llestateinfomodel.h
lleventinfo.h
lleventnotifier.h
lleventpoll.h
llexternaleditor.h
llface.h
llfasttimerview.h
llfeaturemanager.h
llfirstuse.h
llflexibleobject.h
llfloaterabout.h
llfloateractivespeakers.h
llfloaterauction.h
llfloaterautoreplacesettings.h
llfloateravatar.h
llfloateravatarinfo.h
llfloateravatarlist.h
llfloateravatarpicker.h
llfloateravatartextures.h
llfloaterbeacons.h
llfloaterblacklist.h
llfloaterbuildoptions.h
llfloaterbulkpermission.h
llfloaterbump.h
llfloaterbuy.h
llfloaterbuycontents.h
llfloaterbuycurrency.h
llfloaterbuyland.h
llfloaterbvhpreview.h
llfloatercamera.h
llfloaterchat.h
llfloaterchatterbox.h
llfloaterclassified.h
llfloatercolorpicker.h
llfloatercustomize.h
llfloaterdaycycle.h
llfloaterdestinations.h
llfloaterdirectory.h
llfloaterdisplayname.h
llfloatereditui.h
llfloaterenvsettings.h
llfloaterevent.h
llfloaterexploreanimations.h
llfloaterexploresounds.h
llfloaterfeed.h
llfloaterfonttest.h
llfloaterfriends.h
llfloatergesture.h
llfloatergodtools.h
llfloatergroupbulkban.h
llfloatergroupinfo.h
llfloatergroupinvite.h
llfloatergroups.h
llfloaterhandler.h
llfloaterhtmlcurrency.h
llfloaterhtmlsimple.h
llfloaterhud.h
llfloaterimagepreview.h
llfloaterinspect.h
llfloaterjoystick.h
llfloaterland.h
llfloaterlandholdings.h
llfloaterlandmark.h
llfloatermap.h
llfloatermediafilter.h
llfloatermediasettings.h
llfloatermemleak.h
llfloatermessagelog.h
llfloatermodelpreview.h
llfloatermodeluploadbase.h
llfloatermute.h
llfloaternamedesc.h
llfloaternotificationsconsole.h
llfloaterobjectiminfo.h
llfloaterobjectweights.h
llfloateropenobject.h
llfloateroutbox.h
llfloaterparcel.h
llfloaterpathfindingcharacters.h
llfloaterpathfindinglinksets.h
llfloaterpathfindingobjects.h
llfloaterperms.h
llfloaterpostcard.h
llfloaterpostprocess.h
llfloaterpreference.h
llfloaterproperties.h
llfloaterregiondebugconsole.h
llfloaterregioninfo.h
llfloaterregionrestarting.h
llfloaterreporter.h
llfloaterscriptdebug.h
llfloaterscriptlimits.h
llfloatersearch.h
llfloatersearchreplace.h
llfloatersellland.h
llfloatersettingsdebug.h
llfloatersnapshot.h
llfloaterstats.h
llfloatertelehub.h
llfloaterteleporthistory.h
llfloatertest.h
llfloatertools.h
llfloatertopobjects.h
llfloatertos.h
llfloaterurldisplay.h
llfloaterurlentry.h
llfloatervoiceeffect.h
llfloaterwater.h
llfloaterwebcontent.h
llfloaterwebprofile.h
llfloaterwhitelistentry.h
llfloaterwindlight.h
llfloaterworldmap.h
llfolderview.h
llfoldervieweventlistener.h
llfolderviewitem.h
llfollowcam.h
llframestats.h
llframestatview.h
llgesturemgr.h
llgiveinventory.h
llgivemoney.h
llgroupactions.h
llgroupmgr.h
llgroupnotify.h
llhttpretrypolicy.h
llhomelocationresponder.h
llhoverview.h
llhudeffect.h
llhudeffectbeam.h
llhudeffectlookat.h
llhudeffectpointat.h
llhudeffecttrail.h
llhudicon.h
llhudmanager.h
llhudnametag.h
llhudobject.h
llhudrender.h
llhudtext.h
llhudview.h
llimpanel.h
llimview.h
llinventorybridge.h
llinventoryclipboard.h
llinventoryfilter.h
llinventoryfunctions.h
llinventoryicon.h
llinventorymodel.h
llinventorymodelbackgroundfetch.h
llinventoryobserver.h
llinventorypanel.h
lljoystickbutton.h
lllandmarklist.h
lllightconstants.h
lllogchat.h
llloginhandler.h
llmainlooprepeater.h
llmakeoutfitdialog.h
llmanip.h
llmaniprotate.h
llmanipscale.h
llmaniptranslate.h
llmapresponders.h
llmarketplacefunctions.h
llmarketplacenotifications.h
llmaterialmgr.h
llmediactrl.h
llmediadataclient.h
llmediafilter.h
llmediaremotectrl.h
llmenucommands.h
llmenuoptionpathfindingrebakenavmesh.h
llmeshrepository.h
llmimetypes.h
llmorphview.h
llmoveview.h
llmutelist.h
llnamebox.h
llnameeditor.h
llnamelistctrl.h
llnetmap.h
llnotify.h
lloutfitobserver.h
lloverlaybar.h
llpanelaudioprefs.h
llpanelaudiovolume.h
llpanelavatar.h
llpanelclassified.h
llpanelcontents.h
llpaneldirbrowser.h
llpaneldirclassified.h
llpaneldirevents.h
llpaneldirfind.h
llpaneldirgroups.h
llpaneldirland.h
llpaneldirpeople.h
llpaneldirplaces.h
llpaneldirpopular.h
llpaneldisplay.h
llpaneleditwearable.h
llpanelevent.h
llpanelface.h
llpanelgeneral.h
llpanelgroup.h
llpanelgroupbulk.h
llpanelgroupbulkban.h
llpanelgroupbulkimpl.h
llpanelgroupgeneral.h
llpanelgroupinvite.h
llpanelgrouplandmoney.h
llpanelgroupnotices.h
llpanelgrouproles.h
llpanelgroupvoting.h
llpanelinput.h
llpanelland.h
llpanellandaudio.h
llpanellandmedia.h
llpanellandobjects.h
llpanellandoptions.h
llpanellogin.h
llpanelmaininventory.h
llpanelmarketplaceoutboxinventory.h
llpanelmediasettingsgeneral.h
llpanelmediasettingspermissions.h
llpanelmediasettingssecurity.h
llpanelnearbymedia.h
llpanelmorph.h
llpanelmsgs.h
llpanelnetwork.h
llpanelobject.h
llpanelobjectinventory.h
llpanelpermissions.h
llpanelpick.h
llpanelplace.h
llpanelprimmediacontrols.h
llpanelprofile.h
llpanelskins.h
llpanelvoicedevicesettings.h
llpanelvoiceeffect.h
llpanelvolume.h
llpanelweb.h
llparcelselection.h
llparticipantlist.h
llpatchvertexarray.h
llpathfindingcharacter.h
llpathfindingcharacterlist.h
llpathfindinglinkset.h
llpathfindinglinksetlist.h
llpathfindingmanager.h
llpathfindingnavmesh.h
llpathfindingnavmeshstatus.h
llpathfindingobject.h
llpathfindingobjectlist.h
llphysicsmotion.h
llphysicsshapebuilderutil.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
llregioninfomodel.h
llregionposition.h
llremoteparcelrequest.h
llresourcedata.h
llsavedlogins.h
llsavedsettingsglue.h
llscrollingpanelparam.h
llscrollingpanelparambase.h
llselectmgr.h
llsimplestat.h
llskinningutil.h
llsky.h
llslurl.h
llspatialpartition.h
llspeakers.h
llsprite.h
llstartup.h
llstatusbar.h
llstylemap.h
llsurface.h
llsurfacepatch.h
lltable.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
lltranslate.h
lluiconstants.h
lluploaddialog.h
lluploadfloaterobservers.h
llurl.h
llurldispatcher.h
llurlhistory.h
llurlwhitelist.h
lluserauth.h
llvectorperfoptions.h
llvelocitybar.h
llversioninfo.h
llviewchildren.h
llviewerassetstats.h
llviewerassetstorage.h
llviewerassettype.h
llvieweraudio.h
llviewercamera.h
llviewercontrol.h
llviewerdisplay.h
llviewerdisplayname.h
llviewerfoldertype.h
llviewergenericmessage.h
llviewergesture.h
llviewerinventory.h
llviewerjoint.h
llviewerjointattachment.h
llviewerjointmesh.h
llviewerjoystick.h
llviewerkeyboard.h
llviewerlayer.h
llviewermedia.h
llviewermediafocus.h
llviewermenu.h
llviewermenufile.h
llviewermessage.h
llviewernetwork.h
llviewerobject.h
llviewerobjectbackup.h
llviewerobjectlist.h
llvieweroctree.h
llviewerparcelmedia.h
llviewerparcelmediaautoplay.h
llviewerparcelmgr.h
llviewerparceloverlay.h
llviewerpartsim.h
llviewerpartsource.h
llviewerpluginmanager.h
llviewerprecompiledheaders.h
llviewerregion.h
llviewershadermgr.h
llviewerstats.h
llviewerstatsrecorder.h
llviewertexlayer.h
llviewertexteditor.h
llviewertexture.h
llviewertextureanim.h
llviewertexturelist.h
llviewerthrottle.h
llviewerwearable.h
llviewerwindow.h
llvlcomposition.h
llvlmanager.h
llvoavatar.h
llvoavatarself.h
llvocache.h
llvoclouds.h
llvograss.h
llvoground.h
llvoicechannel.h
llvoiceclient.h
llvoiceremotectrl.h
llvoicevisualizer.h
llvoicevivox.h
llvoinventorylistener.h
llvopartgroup.h
llvosky.h
llvosurfacepatch.h
llvotree.h
llvotreenew.h
llvovolume.h
llvowater.h
llvowlsky.h
llwatchdog.h
llwaterparammanager.h
llwaterparamset.h
llwearablelist.h
llweb.h
llwebprofile.h
llwind.h
llwindebug.h
llwlanimator.h
llwldaycycle.h
llwlhandlers.h
llwlparammanager.h
llwlparamset.h
llworld.h
llworldmap.h
llworldmapmessage.h
llworldmapview.h
llworldmipmap.h
llxmlrpcresponder.h
m7wlinterface.h
macmain.h
pipeline.h
qtoolalign.h
rlvactions.h
rlvcommon.h
rlvdefines.h
rlvextensions.h
rlvfloaters.h
rlvhandler.h
rlvhelper.h
rlvinventory.h
rlvlocks.h
rlvui.h
roles_constants.h
scriptcounter.h
sgmemstat.h
shcommandhandler.h
shfloatermediaticker.h
shupdatechecker.h
wlfPanel_AdvSettings.h
)
source_group("CMake Rules" FILES ViewerInstall.cmake)
# the viewer_version.txt file created here is for passing to viewer_manifest and autobuild
# the summary.json file is created for the benefit of the TeamCity builds, where
# it is used to provide descriptive information to the build results page
add_custom_target(generate_viewer_version ALL
COMMAND cmake -E echo ${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION} > ${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt
COMMAND cmake -E echo {"Type":"viewer","Version":"${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}"} > ${CMAKE_BINARY_DIR}/summary.json
COMMENT "Generating viewer_version.txt for manifest processing"
)
set_source_files_properties(
llversioninfo.cpp
PROPERTIES
DEPENDS generate_viewer_version # dummy dependency to force recompile every time
COMPILE_DEFINITIONS "${VIEWER_CHANNEL_VERSION_DEFINES}" # see BuildVersion.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
macview.r
gpu_table.txt
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} -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
)
if (NVAPI)
set(APPVWRW32_COMPILE_FLAGS "${APPVWRW32_COMPILE_FLAGS} -DUSE_NVAPI=1")
else (NVAPI)
set(APPVWRW32_COMPILE_FLAGS "${APPVWRW32_COMPILE_FLAGS} -UUSE_NVAPI")
endif (NVAPI)
set_source_files_properties(llappviewerwin32.cpp PROPERTIES COMPILE_FLAGS "${APPVWRW32_COMPILE_FLAGS}")
# precompiled header configuration
# llviewerprecompiledheaders.cpp generates
# the .pch file.
# All sources added to viewer_SOURCE_FILES
# at this point use it.
if(USE_PRECOMPILED_HEADERS)
set_source_files_properties(llviewerprecompiledheaders.cpp
PROPERTIES
COMPILE_FLAGS "/Ycllviewerprecompiledheaders.h"
)
list(APPEND viewer_SOURCE_FILES llviewerprecompiledheaders.cpp)
endif(USE_PRECOMPILED_HEADERS)
# Replace the icons with the appropriate ones for the channel
# ('test' is the default)
set(ICON_PATH "default")
set(VIEWER_MACOSX_PHASE "d")
message("Copying icons for ${ICON_PATH}")
execute_process(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${CMAKE_CURRENT_SOURCE_DIR}/icons/${ICON_PATH}/viewer.ico"
"${CMAKE_CURRENT_SOURCE_DIR}/res/viewer_icon.ico"
)
execute_process(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${CMAKE_CURRENT_SOURCE_DIR}/icons/${ICON_PATH}/viewer_256.BMP"
"${CMAKE_CURRENT_SOURCE_DIR}/res/viewer_icon.BMP"
)
execute_process(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${CMAKE_CURRENT_SOURCE_DIR}/icons/${ICON_PATH}/viewer_256.BMP"
"${CMAKE_CURRENT_SOURCE_DIR}/res-sdl/viewer_icon.BMP"
)
# 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
res/arrow.cur
res/arrowcop.cur
res/arrowcopmulti.cur
res/arrowdrag.cur
res/circleandline.cur
res/llarrow.cur
res/llarrowdrag.cur
res/llarrowdragmulti.cur
res/llarrowlocked.cur
res/llgrablocked.cur
res/llno.cur
res/llnolocked.cur
res/lltoolcamera.cur
res/lltoolcreate.cur
res/lltoolfocus.cur
res/lltoolgrab.cur
res/lltoolland.cur
res/lltoolpan.cur
res/lltoolpipette.cur
res/lltoolrotate.cur
res/lltoolscale.cur
res/lltooltranslate.cur
res/lltoolzoomin.cur
res/lltoolzoomout.cur
res-sdl/viewer_icon.BMP
res/viewer_icon.BMP
res/viewer_icon.ico
res/resource.h
res/toolpickobject.cur
res/toolpickobject2.cur
res/toolpickobject3.cur
res/toolpipette.cur
res/toolbuy.cur
res/toolopen.cur
res/toolpay.cur
res/toolsit.cur
)
set_source_files_properties(${viewer_RESOURCE_FILES}
PROPERTIES HEADER_FILE_ONLY TRUE)
set(viewer_RESOURCE_FILES
${CMAKE_CURRENT_BINARY_DIR}/viewerRes.rc
${viewer_RESOURCE_FILES}
)
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/viewerRes.rc
PROPERTIES COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR}/res"
)
SOURCE_GROUP("Resource Files" FILES ${viewer_RESOURCE_FILES})
list(APPEND viewer_SOURCE_FILES ${viewer_RESOURCE_FILES})
# see EXP-1765 - theory is opengl32.lib needs to be included before gdi32.lib (windows libs)
set(viewer_LIBRARIES
opengl32
advapi32
comdlg32
dinput8
dxguid
gdi32
kernel32
odbc32
odbccp32
ole32
oleaut32
shell32
user32
Vfw32
Wbemuuid
winspool
Normaliz
)
endif (WINDOWS)
# Add the xui files. This is handy for searching for xui elements
# from within the IDE.
set(viewer_XUI_FILES
${CMAKE_CURRENT_SOURCE_DIR}/skins/default/colors.xml
${CMAKE_CURRENT_SOURCE_DIR}/skins/default/colors_base.xml
)
file(GLOB viewer_XUI_FILE_GLOB_LIST
${CMAKE_CURRENT_SOURCE_DIR}/skins/default/xui/en-us/*.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
viewer_manifest.py
app_settings/anim.ini
app_settings/cmd_line.xml
app_settings/grass.xml
app_settings/high_graphics.xml
app_settings/keys.xml
app_settings/keysZQSD.xml
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_ascent.xml
app_settings/settings_ascent_coa.xml
app_settings/settings_crash_behavior.xml
app_settings/settings_files.xml
app_settings/settings_per_account.xml
app_settings/settings_sh.xml
app_settings/settings_rlv.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
packages-info.txt
)
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})
set(viewer_CHARACTER_FILES
character/attentions.xml
character/attentionsN.xml
character/avatar_lad.xml
character/avatar_skeleton.xml
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})
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)
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}
)
set(PACKAGE OFF CACHE BOOL
"Add a package target that builds an installer package.")
if (WINDOWS)
set(release_flags "/MAP")
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\" ${EXTRA_LINKER_FLAGS_DEBUG}"
LINK_FLAGS_RELEASE "${release_flags} ${EXTRA_LINKER_FLAGS_RELEASE}"
LINK_FLAGS_RELWITHDEBINFO "${release_flags} ${EXTRA_LINKER_FLAGS_RELEASE}"
)
add_dependencies(${VIEWER_BINARY_NAME} generate_viewer_version)
if(USE_PRECOMPILED_HEADERS)
set_target_properties(
${VIEWER_BINARY_NAME}
PROPERTIES
COMPILE_FLAGS "/Yullviewerprecompiledheaders.h"
)
endif(USE_PRECOMPILED_HEADERS)
# If adding a file to viewer_manifest.py in the WindowsManifest.construct() method, be sure to add the dependency
# here.
# *NOTE:Mani - This is a crappy hack to have important dependencies for the viewer_manifest copy action
# be met. I'm looking forward to a source-code split-up project next year that will address this kind of thing.
# In the meantime, if you have any ideas on how to easily maintain one list, either here or in viewer_manifest.py
# and have the build deps get tracked *please* tell me about it.
if(NOT DISABLE_TCMALLOC)
# Configure a var for tcmalloc location, if used.
# Note the need to specify multiple names explicitly.
set(GOOGLE_PERF_TOOLS_SOURCE
${SHARED_LIB_STAGING_DIR}/Release/libtcmalloc_minimal.dll
${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/libtcmalloc_minimal.dll
${SHARED_LIB_STAGING_DIR}/Debug/libtcmalloc_minimal-debug.dll
)
endif(NOT DISABLE_TCMALLOC)
set(COPY_INPUT_DEPENDENCIES
# The following commented dependencies are determined at variably at build time. Can't do this here.
#${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libtcmalloc_minimal.dll => None ... Skipping libtcmalloc_minimal.dll
${CMAKE_SOURCE_DIR}/../etc/message.xml
${CMAKE_SOURCE_DIR}/../scripts/messages/message_template.msg
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/llcommon.dll
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libapr-1.dll
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libaprutil-1.dll
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libapriconv-1.dll
${SHARED_LIB_STAGING_DIR}/Release/glod.dll
${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/glod.dll
${SHARED_LIB_STAGING_DIR}/Debug/glod.dll
${SHARED_LIB_STAGING_DIR}/Release/openjpeg.dll
${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/openjpeg.dll
${SHARED_LIB_STAGING_DIR}/Debug/openjpegd.dll
${SHARED_LIB_STAGING_DIR}/Release/libhunspell.dll
${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/libhunspell.dll
${SHARED_LIB_STAGING_DIR}/Debug/libhunspell.dll
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/SLVoice.exe
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/vivoxsdk.dll
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/ortp.dll
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libsndfile-1.dll
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/zlib1.dll
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/vivoxplatform.dll
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/vivoxoal.dll
${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/ca-bundle.crt
${GOOGLE_PERF_TOOLS_SOURCE}
${CMAKE_CURRENT_SOURCE_DIR}/licenses-win32.txt
${CMAKE_CURRENT_SOURCE_DIR}/featuretable.txt
${CMAKE_CURRENT_SOURCE_DIR}/featuretable_xp.txt
${ARCH_PREBUILT_DIRS_RELEASE}/libeay32.dll
${ARCH_PREBUILT_DIRS_RELEASE}/ssleay32.dll
${ARCH_PREBUILT_DIRS_DEBUG}/libeay32.dll
${ARCH_PREBUILT_DIRS_DEBUG}/ssleay32.dll
SLPlugin
media_plugin_quicktime
media_plugin_cef
windows-crash-logger
)
if (FMODSTUDIO)
if (WORD_SIZE EQUAL 64)
list(APPEND COPY_INPUT_DEPENDENCIES
${SHARED_LIB_STAGING_DIR}/Release/fmod64.dll
${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/fmod64.dll
${SHARED_LIB_STAGING_DIR}/Debug/fmodL64.dll
)
else (WORD_SIZE EQUAL 64)
list(APPEND COPY_INPUT_DEPENDENCIES
${SHARED_LIB_STAGING_DIR}/Release/fmod.dll
${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/fmod.dll
${SHARED_LIB_STAGING_DIR}/Debug/fmodL.dll
)
endif (WORD_SIZE EQUAL 64)
endif (FMODSTUDIO)
add_custom_command(
OUTPUT ${CMAKE_CFG_INTDIR}/copy_touched.bat
COMMAND ${PYTHON_EXECUTABLE}
ARGS
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
--actions=copy
--arch=${ARCH}
--artwork=${ARTWORK_DIR}
--branding_id=${VIEWER_BRANDING_ID}
--build=${CMAKE_CURRENT_BINARY_DIR}
--buildtype=${CMAKE_BUILD_TYPE}
--configuration=${CMAKE_CFG_INTDIR}
--dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
--grid=${GRID}
--channel=${VIEWER_CHANNEL}
--versionfile=${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt
--source=${CMAKE_CURRENT_SOURCE_DIR}
--touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/copy_touched.bat
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
generate_viewer_version
stage_third_party_libs
llcommon
${COPY_INPUT_DEPENDENCIES}
COMMENT "Performing viewer_manifest copy"
)
add_custom_target(copy_w_viewer_manifest ALL DEPENDS ${CMAKE_CFG_INTDIR}/copy_touched.bat)
add_dependencies(${VIEWER_BINARY_NAME} stage_third_party_libs llcommon copy_w_viewer_manifest)
if (EXISTS ${CMAKE_SOURCE_DIR}/copy_win_scripts)
add_dependencies(${VIEWER_BINARY_NAME} copy_win_scripts)
endif (EXISTS ${CMAKE_SOURCE_DIR}/copy_win_scripts)
add_dependencies(${VIEWER_BINARY_NAME}
SLPlugin
)
EMBED_MANIFEST(${VIEWER_BINARY_NAME} 1)
if (PACKAGE)
add_custom_command(
OUTPUT ${CMAKE_CFG_INTDIR}/touched.bat
COMMAND ${PYTHON_EXECUTABLE}
ARGS
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
--arch=${ARCH}
--artwork=${ARTWORK_DIR}
--branding_id=${VIEWER_BRANDING_ID}
--build=${CMAKE_CURRENT_BINARY_DIR}
--buildtype=${CMAKE_BUILD_TYPE}
--channel=${VIEWER_CHANNEL}
--versionfile=${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt
--configuration=${CMAKE_CFG_INTDIR}
--dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
--grid=${GRID}
--source=${CMAKE_CURRENT_SOURCE_DIR}
--touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/touched.bat
DEPENDS
${VIEWER_BINARY_NAME}
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt
${COPY_INPUT_DEPENDENCIES}
)
add_custom_target(llpackage ALL DEPENDS
${CMAKE_CFG_INTDIR}/touched.bat
windows-setup-build-all
)
endif (PACKAGE)
endif (WINDOWS)
# *NOTE: - this list is very sensitive to ordering, test carefully on all
# platforms if you change the releative order of the entries here.
# In particular, cmake 2.6.4 (when buidling with linux/makefile generators)
# appears to sometimes de-duplicate redundantly listed dependencies improperly.
# To work around this, higher level modules should be listed before the modules
# that they depend upon. -brad
target_link_libraries(${VIEWER_BINARY_NAME}
${PNG_PRELOAD_ARCHIVES}
${ZLIB_PRELOAD_ARCHIVES}
${GOOGLE_PERFTOOLS_LIBRARIES}
${LLAUDIO_LIBRARIES}
${LLAUDIO_VORBIS_LIBRARIES}
${LLCHARACTER_LIBRARIES}
${LLIMAGE_LIBRARIES}
${LLIMAGEJ2COJ_LIBRARIES}
${LLINVENTORY_LIBRARIES}
${LLMESSAGE_LIBRARIES}
${LLPLUGIN_LIBRARIES}
${STATEMACHINE_LIBRARIES}
${LLPRIMITIVE_LIBRARIES}
${LLRENDER_LIBRARIES}
${FREETYPE_LIBRARIES}
${LLUI_LIBRARIES}
${LLVFS_LIBRARIES}
${LLWINDOW_LIBRARIES}
${LLXML_LIBRARIES}
${LLMATH_LIBRARIES}
${LLCOMMON_LIBRARIES}
${NDOF_LIBRARY}
${NVAPI_LIBRARY}
${viewer_LIBRARIES}
${Boost_CONTEXT_LIBRARY}
${Boost_FILESYSTEM_LIBRARY}
${Boost_PROGRAM_OPTIONS_LIBRARY}
${Boost_REGEX_LIBRARY}
${Boost_SYSTEM_LIBRARY}
${Boost_DATE_TIME_LIBRARY}
${DBUSGLIB_LIBRARIES}
${OPENGL_LIBRARIES}
${FMOD_LIBRARY} # must come after LLAudio
${GLOD_LIBRARIES}
${APRUTIL_LIBRARIES}
${OPENGL_LIBRARIES}
${JSONCPP_LIBRARIES}
${SDL_LIBRARY}
${SMARTHEAP_LIBRARY}
${UI_LIBRARIES}
${WINDOWS_LIBRARIES}
${XMLRPCEPI_LIBRARIES}
${CRYPTO_LIBRARIES}
${OPENSSL_LIBRARIES}
${CRYPTO_LIBRARIES}
${HUNSPELL_LIBRARY}
${LLPHYSICSEXTENSIONS_LIBRARIES}
${LLAPPEARANCE_LIBRARIES}
)
if (LINUX)
set(product ${VIEWER_CHANNEL_NOSPACE}-${ARCH}-${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION})
# These are the generated targets that are copied to package/
set(COPY_INPUT_DEPENDENCIES
${VIEWER_BINARY_NAME}
SLPlugin
media_plugin_gstreamer010
llcommon
)
add_dependencies(${VIEWER_BINARY_NAME} generate_viewer_version)
add_custom_command(
OUTPUT ${product}.tar.xz
COMMAND ${PYTHON_EXECUTABLE}
ARGS
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
--arch=${ARCH}
--artwork=${ARTWORK_DIR}
--branding_id=${VIEWER_BRANDING_ID}
--build=${CMAKE_CURRENT_BINARY_DIR}
--buildtype=${CMAKE_BUILD_TYPE}
--channel=${VIEWER_CHANNEL}
--versionfile=${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt
--configuration=${CMAKE_CFG_INTDIR}
--dest=${CMAKE_CURRENT_BINARY_DIR}/packaged
--grid=${GRID}
--source=${CMAKE_CURRENT_SOURCE_DIR}
--standalone=${STANDALONE}
--touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.touched
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
${COPY_INPUT_DEPENDENCIES}
)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.copy_touched
COMMAND ${PYTHON_EXECUTABLE}
ARGS
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
--arch=${ARCH}
--actions=copy
--artwork=${ARTWORK_DIR}
--branding_id=${VIEWER_BRANDING_ID}
--build=${CMAKE_CURRENT_BINARY_DIR}
--buildtype=${CMAKE_BUILD_TYPE}
--configuration=${CMAKE_CFG_INTDIR}
--dest=${CMAKE_CURRENT_BINARY_DIR}/packaged
--grid=${GRID}
--channel=${VIEWER_CHANNEL}
--versionfile=${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt
--source=${CMAKE_CURRENT_SOURCE_DIR}
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
${COPY_INPUT_DEPENDENCIES}
COMMENT "Performing viewer_manifest copy"
)
add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_gstreamer010 basic_plugin_filepicker)
add_custom_target(copy_l_viewer_manifest ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.copy_touched)
if (PACKAGE)
add_custom_target(llpackage ALL DEPENDS ${product}.tar.xz)
# Make sure we don't run two instances of viewer_manifest.py at the same time.
add_dependencies(llpackage copy_l_viewer_manifest)
check_message_template(llpackage)
endif (PACKAGE)
endif (LINUX)
if (DARWIN)
set(product ${VIEWER_BRANDING_NAME})
set(MACOSX_BUNDLE_INFO_STRING "A stable third-party Second Life viewer.")
set(MACOSX_BUNDLE_ICON_FILE "viewer.icns")
set(MACOSX_BUNDLE_GUI_IDENTIFIER "${VIEWER_BRANDING_NAME}")
set(MACOSX_BUNDLE_LONG_VERSION_STRING "${VIEWER_CHANNEL} ${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}")
set(MACOSX_BUNDLE_BUNDLE_NAME "${VIEWER_BRANDING_NAME}")
set(MACOSX_BUNDLE_SHORT_VERSION_STRING "${VIEWER_SHORT_VERSION}")
set(MACOSX_BUNDLE_BUNDLE_VERSION "${${ROOT_PROJECT_NAME}_VERSION}")
set(MACOSX_BUNDLE_COPYRIGHT "Copyright 2010-2016 Siana Gearz")
set_target_properties(
${VIEWER_BINARY_NAME}
PROPERTIES
OUTPUT_NAME "${product}"
MACOSX_BUNDLE_INFO_PLIST
"${CMAKE_CURRENT_SOURCE_DIR}/Info-SecondLife.plist"
)
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/Info-SecondLife.plist"
"${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${product}.app/Contents/Info.plist"
)
add_dependencies(${VIEWER_BINARY_NAME} generate_viewer_version)
add_custom_command(
TARGET ${VIEWER_BINARY_NAME} POST_BUILD
COMMAND ${PYTHON_EXECUTABLE}
ARGS
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
--actions=copy
--artwork=${ARTWORK_DIR}
--branding_id=${VIEWER_BRANDING_ID}
--build=${CMAKE_CURRENT_BINARY_DIR}
--buildtype=${CMAKE_BUILD_TYPE}
--configuration=${CMAKE_CFG_INTDIR}
--dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${product}.app
--grid=${GRID}
--source=${CMAKE_CURRENT_SOURCE_DIR}
--extra_libraries="${MANIFEST_LIBRARIES}"
DEPENDS
${VIEWER_BINARY_NAME}
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
)
add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit basic_plugin_filepicker)
if (PACKAGE)
add_custom_target(llpackage ALL DEPENDS ${VIEWER_BINARY_NAME})
add_dependencies(llpackage generate_viewer_version)
add_custom_command(
TARGET llpackage POST_BUILD
COMMAND ${PYTHON_EXECUTABLE}
ARGS
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
--arch=${ARCH}
--artwork=${ARTWORK_DIR}
--build=${CMAKE_CURRENT_BINARY_DIR}
--buildtype=${CMAKE_BUILD_TYPE}
--channel=${VIEWER_CHANNEL}
--configuration=${CMAKE_CFG_INTDIR}
--dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${product}.app
--grid=${GRID}
--channel=${VIEWER_CHANNEL}
--versionfile=${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt
--source=${CMAKE_CURRENT_SOURCE_DIR}
--touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.touched
DEPENDS
${VIEWER_BINARY_NAME}
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
)
endif (PACKAGE)
endif (DARWIN)
if (INSTALL)
include(${CMAKE_CURRENT_SOURCE_DIR}/ViewerInstall.cmake)
endif (INSTALL)
if (PACKAGE)
set(SYMBOL_NAME ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${VIEWER_CHANNEL_NOSPACE}-${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}-symbols)
set(SYMBOL_SEARCH_DIRS "")
if (WINDOWS)
list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}")
set(VIEWER_SYMBOL_FILE "${SYMBOL_NAME}-${AUTOBUILD_PLATFORM_NAME}.tar.bz2")
# slplugin.exe failing symbols dump - need to debug, might have to do with updated version of google breakpad
# set(VIEWER_EXE_GLOBS "${VIEWER_BINARY_NAME}${CMAKE_EXECUTABLE_SUFFIX} slplugin.exe")
set(VIEWER_EXE_GLOBS "${VIEWER_BINARY_NAME}${CMAKE_EXECUTABLE_SUFFIX}")
set(VIEWER_LIB_GLOB "*${CMAKE_SHARED_MODULE_SUFFIX}")
set(VIEWER_COPY_MANIFEST copy_w_viewer_manifest)
endif (WINDOWS)
if (DARWIN)
list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}")
# *TODO: Generate these search dirs in the cmake files related to each binary.
list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/llplugin/slplugin/${CMAKE_CFG_INTDIR}")
list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/plugins/gstreamer010/${CMAKE_CFG_INTDIR}")
list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/plugins/quicktime/${CMAKE_CFG_INTDIR}")
list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/plugins/webkit/${CMAKE_CFG_INTDIR}")
set(VIEWER_SYMBOL_FILE "${SYMBOL_NAME}-darwin.tar.bz2")
set(VIEWER_EXE_GLOBS "'${VIEWER_BRANDING_NAME}' SLPlugin")
set(VIEWER_LIB_GLOB "*.dylib")
endif (DARWIN)
if (LINUX)
list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_CURRENT_BINARY_DIR}/packaged")
set(VIEWER_SYMBOL_FILE "${SYMBOL_NAME}-${AUTOBUILD_PLATFORM_NAME}.tar.bz2")
set(VIEWER_EXE_GLOBS "${VIEWER_BRANDING_ID}-do-not-run-directly SLPlugin")
set(VIEWER_LIB_GLOB "*${CMAKE_SHARED_MODULE_SUFFIX}*")
set(VIEWER_COPY_MANIFEST copy_l_viewer_manifest)
endif (LINUX)
if(RELEASE_CRASH_REPORTING OR NON_RELEASE_CRASH_REPORTING)
if(CMAKE_CFG_INTDIR STREQUAL ".")
set(LLBUILD_CONFIG ${CMAKE_BUILD_TYPE})
else(CMAKE_CFG_INTDIR STREQUAL ".")
# set LLBUILD_CONFIG to be a shell variable evaluated at build time
# reflecting the configuration we are currently building.
set(LLBUILD_CONFIG ${CMAKE_CFG_INTDIR})
endif(CMAKE_CFG_INTDIR STREQUAL ".")
add_custom_command(OUTPUT "${VIEWER_SYMBOL_FILE}"
COMMAND "${PYTHON_EXECUTABLE}"
ARGS
"${CMAKE_CURRENT_SOURCE_DIR}/generate_breakpad_symbols.py"
"${LLBUILD_CONFIG}"
"${SYMBOL_SEARCH_DIRS}"
"${VIEWER_EXE_GLOBS}"
"${VIEWER_LIB_GLOB}"
"${AUTOBUILD_INSTALL_DIR}/bin/dump_syms"
"${VIEWER_SYMBOL_FILE}"
DEPENDS generate_breakpad_symbols.py
VERBATIM)
add_custom_target(generate_breakpad_symbols DEPENDS "${VIEWER_SYMBOL_FILE}")
add_dependencies(generate_breakpad_symbols ${VIEWER_BINARY_NAME})
if(VIEWER_COPY_MANIFEST)
add_dependencies(generate_breakpad_symbols ${VIEWER_COPY_MANIFEST})
endif(VIEWER_COPY_MANIFEST)
add_dependencies(llpackage generate_breakpad_symbols)
endif(RELEASE_CRASH_REPORTING OR NON_RELEASE_CRASH_REPORTING)
endif (PACKAGE)
# Add tests
if (LL_TESTS)
endif (LL_TESTS)
check_message_template(${VIEWER_BINARY_NAME})