diff options
author | Loren Shih <seraph@lindenlab.com> | 2009-11-02 15:39:55 -0500 |
---|---|---|
committer | Loren Shih <seraph@lindenlab.com> | 2009-11-02 15:39:55 -0500 |
commit | bde7d67066d189416a725da4527a02eb4f78ba4a (patch) | |
tree | ef0897dcf3663ff236321054c4cdf3704ebf0ec6 /indra/newview/CMakeLists.txt | |
parent | 96841c60b7d51cdb640feb5765d4bf21d047f122 (diff) |
EXT-1866 : Inventory Side Panel
svn merge -r137106:137808 svn+ssh://svn.lindenlab.com/svn/linden/branches/avatar-pipeline/inventory-panel
Porting over changes from svn Inventory Panel work.
Diffstat (limited to 'indra/newview/CMakeLists.txt')
-rw-r--r-- | indra/newview/CMakeLists.txt | 3543 |
1 files changed, 1777 insertions, 1766 deletions
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index a7681e4a1d..644ebfa3f4 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1,1766 +1,1777 @@ -# -*- cmake -*- - -project(viewer) - -include(00-Common) -include(Boost) -include(BuildVersion) -include(DBusGlib) -include(DirectX) -include(ELFIO) -include(FMOD) -include(OPENAL) -include(FindOpenGL) -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(LLXUIXML) -include(LScript) -include(Linking) -include(NDOF) -include(GooglePerfTools) -include(TemplateCheck) -include(UI) -include(UnixInstall) -include(LLKDU) -include(ViewerMiscLibs) -include(LLLogin) -include(CMakeCopyIfDifferent) - -include_directories( - ${DBUSGLIB_INCLUDE_DIRS} - ${ELFIO_INCLUDE_DIR} - ${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} - ${LLXUIXML_INCLUDE_DIRS} - ${LSCRIPT_INCLUDE_DIRS} - ${LSCRIPT_INCLUDE_DIRS}/lscript_compile - ${LLLOGIN_INCLUDE_DIRS} - ) - -set(viewer_SOURCE_FILES - llaccordionctrl.cpp - llaccordionctrltab.cpp - llagent.cpp - llagentaccess.cpp - llagentdata.cpp - llagentlanguage.cpp - llagentlistener.cpp - llagentpicksinfo.cpp - llagentpilot.cpp - llagentui.cpp - llagentwearables.cpp - llanimstatelabels.cpp - llappearancemgr.cpp - llappviewer.cpp - llappviewerlistener.cpp - llassetuploadqueue.cpp - llassetuploadresponders.cpp - llaudiosourcevo.cpp - llavataractions.cpp - llavatariconctrl.cpp - llavatarlist.cpp - llavatarlistitem.cpp - llavatarpropertiesprocessor.cpp - llbottomtray.cpp - llbox.cpp - llbreadcrumbview.cpp - llcallbacklist.cpp - llcallingcard.cpp - llcapabilitylistener.cpp - llcaphttpsender.cpp - llchannelmanager.cpp - llchatbar.cpp - llchathistory.cpp - llchatitemscontainerctrl.cpp - llchatmsgbox.cpp - llchiclet.cpp - llclassifiedinfo.cpp - llclassifiedstatsresponder.cpp - llcloud.cpp - llcolorswatch.cpp - llcommandhandler.cpp - llcommandlineparser.cpp - llcompilequeue.cpp - llconfirmationmanager.cpp - llcurrencyuimanager.cpp - llcylinder.cpp - lldateutil.cpp - lldebugmessagebox.cpp - lldebugview.cpp - lldelayedgestureerror.cpp - lldirpicker.cpp - lldndbutton.cpp - lldrawable.cpp - lldrawpool.cpp - lldrawpoolalpha.cpp - lldrawpoolavatar.cpp - lldrawpoolbump.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 - llexpandabletextbox.cpp - llface.cpp - llfasttimerview.cpp - llfavoritesbar.cpp - llfeaturemanager.cpp - llfilepicker.cpp - llfirstuse.cpp - llflexibleobject.cpp - llfloaterabout.cpp - llfloateractivespeakers.cpp - llfloateranimpreview.cpp - llfloaterauction.cpp - llfloateravatarpicker.cpp - llfloateravatartextures.cpp - llfloaterbeacons.cpp - llfloaterbuildoptions.cpp - llfloaterbulkpermission.cpp - llfloaterbump.cpp - llfloaterbuy.cpp - llfloaterbuycontents.cpp - llfloaterbuycurrency.cpp - llfloaterbuyland.cpp - llfloatercall.cpp - llfloatercamera.cpp - llfloaterchat.cpp - llfloaterchatterbox.cpp - llfloatercolorpicker.cpp - llfloatercustomize.cpp - llfloaterdaycycle.cpp - llfloaterenvsettings.cpp - llfloaterfonttest.cpp - llfloaterfriends.cpp - llfloatergesture.cpp - llfloatergodtools.cpp - llfloatergroupinvite.cpp - llfloatergroups.cpp - llfloaterhandler.cpp - llfloaterhardwaresettings.cpp - llfloaterhelpbrowser.cpp - llfloaterhud.cpp - llfloaterimagepreview.cpp - llfloaterinspect.cpp - llfloaterinventory.cpp - llfloaterjoystick.cpp - llfloaterlagmeter.cpp - llfloaterland.cpp - llfloaterlandholdings.cpp - llfloatermap.cpp - llfloatermediabrowser.cpp - llfloatermediasettings.cpp - llfloatermemleak.cpp - llfloaternamedesc.cpp - llfloaternotificationsconsole.cpp - llfloateropenobject.cpp - llfloaterparcel.cpp - llfloaterpay.cpp - llfloaterperms.cpp - llfloaterpostcard.cpp - llfloaterpostprocess.cpp - llfloaterpreference.cpp - llfloaterproperties.cpp - llfloaterregioninfo.cpp - llfloaterreporter.cpp - llfloaterscriptdebug.cpp - llfloatersearch.cpp - llfloatersellland.cpp - llfloatersettingsdebug.cpp - llfloatersnapshot.cpp - llfloatertelehub.cpp - llfloatertestinspectors.cpp - llfloatertestlistview.cpp - llfloatertools.cpp - llfloatertopobjects.cpp - llfloatertos.cpp - llfloateruipreview.cpp - llfloaterurldisplay.cpp - llfloaterurlentry.cpp - llfloatervoicedevicesettings.cpp - llfloaterwater.cpp - llfloaterwhitelistentry.cpp - llfloaterwindlight.cpp - llfloaterworldmap.cpp - llfoldertype.cpp - llfolderview.cpp - llfolderviewitem.cpp - llfollowcam.cpp - llfriendcard.cpp - llgesturemgr.cpp - llglsandbox.cpp - llgroupactions.cpp - llgrouplist.cpp - llgroupmgr.cpp - llgroupnotify.cpp - llhomelocationresponder.cpp - llhudeffect.cpp - llhudeffectbeam.cpp - llhudeffectlookat.cpp - llhudeffectpointat.cpp - llhudeffecttrail.cpp - llhudicon.cpp - llhudmanager.cpp - llhudobject.cpp - llhudrender.cpp - llhudtext.cpp - llhudview.cpp - llimcontrolpanel.cpp - llimfloater.cpp - llimhandler.cpp - llimpanel.cpp - llimview.cpp - llinspect.cpp - llinspectavatar.cpp - llinspectgroup.cpp - llinspectobject.cpp - llinventorybridge.cpp - llinventoryclipboard.cpp - llinventoryfilter.cpp - llinventorymodel.cpp - llinventorysubtreepanel.cpp - lljoystickbutton.cpp - lllandmarkactions.cpp - lllandmarklist.cpp - lllistbrowser.cpp - lllistview.cpp - lllocaltextureobject.cpp - lllocationhistory.cpp - lllocationinputctrl.cpp - lllogchat.cpp - llloginhandler.cpp - lllogininstance.cpp - llmanip.cpp - llmaniprotate.cpp - llmanipscale.cpp - llmaniptranslate.cpp - llmapresponders.cpp - llmediactrl.cpp - llmediadataclient.cpp - llmediaremotectrl.cpp - llmemoryview.cpp - llmenucommands.cpp - llmetricperformancetester.cpp - llmimetypes.cpp - llmorphview.cpp - llmoveview.cpp - llmutelist.cpp - llnamebox.cpp - llnameeditor.cpp - llnamelistctrl.cpp - llnavigationbar.cpp - llnearbychat.cpp - llnearbychatbar.cpp - llnearbychathandler.cpp - llnetmap.cpp - llnotificationalerthandler.cpp - llnotificationgrouphandler.cpp - llnotificationmanager.cpp - llnotificationscripthandler.cpp - llnotificationtiphandler.cpp - llnotify.cpp - lloutputmonitorctrl.cpp - lloverlaybar.cpp - llpanelappearance.cpp - llpanelappearancetab.cpp - llpanelavatar.cpp - llpanelavatarrow.cpp - llpanelavatartag.cpp - llpanelblockedlist.cpp - llpanelclassified.cpp - llpanelcontents.cpp - llpaneleditwearable.cpp - llpanelevent.cpp - llpanelface.cpp - llpanelgroup.cpp - llpanelgroupgeneral.cpp - llpanelgroupinvite.cpp - llpanelgrouplandmoney.cpp - llpanelgroupnotices.cpp - llpanelgrouproles.cpp - llpanelimcontrolpanel.cpp - llpanelinventory.cpp - llpanelland.cpp - llpanellandaudio.cpp - llpanellandmarks.cpp - llpanellandmedia.cpp - llpanellogin.cpp - llpanellookinfo.cpp - llpanellooks.cpp - llpanelmedia.cpp - llpanelmediasettingsgeneral.cpp - llpanelmediasettingspermissions.cpp - llpanelmediasettingssecurity.cpp - llpanelmeprofile.cpp - llpanelobject.cpp - llpanelpeople.cpp - llpanelpeoplemenus.cpp - llpanelpermissions.cpp - llpanelpick.cpp - llpanelpicks.cpp - llpanelplace.cpp - llpanelplaceinfo.cpp - llpanelplaces.cpp - llpanelplacestab.cpp - llpanelprimmediacontrols.cpp - llpanelprofile.cpp - llpanelprofileview.cpp - llpanelshower.cpp - llpanelteleporthistory.cpp - llpanelvolume.cpp - llparcelselection.cpp - llparticipantlist.cpp - llpatchvertexarray.cpp - llplacesinventorybridge.cpp - llpolymesh.cpp - llpolymorph.cpp - llpreview.cpp - llpreviewanim.cpp - llpreviewgesture.cpp - llpreviewnotecard.cpp - llpreviewscript.cpp - llpreviewsound.cpp - llpreviewtexture.cpp - llproductinforequest.cpp - llprogressview.cpp - llrecentpeople.cpp - llregionposition.cpp - llremoteparcelrequest.cpp - llsavedsettingsglue.cpp - llscreenchannel.cpp - llscrollingpanelparam.cpp - llsearchcombobox.cpp - llsearchhistory.cpp - llselectmgr.cpp - llsidetray.cpp - llsidetraypanelcontainer.cpp - llsky.cpp - llslurl.cpp - llspatialpartition.cpp - llspeakers.cpp - llsplitbutton.cpp - llsprite.cpp - llstartup.cpp - llstatusbar.cpp - llstylemap.cpp - llsurface.cpp - llsurfacepatch.cpp - llsyswellitem.cpp - llsyswellwindow.cpp - llteleporthistory.cpp - llteleporthistorystorage.cpp - lltexglobalcolor.cpp - lltexlayer.cpp - lltexlayerparams.cpp - lltextureatlas.cpp - lltextureatlasmanager.cpp - lltexturecache.cpp - lltexturectrl.cpp - lltexturefetch.cpp - lltextureview.cpp - lltoast.cpp - lltoastalertpanel.cpp - lltoastgroupnotifypanel.cpp - lltoastimpanel.cpp - lltoastnotifypanel.cpp - lltoastpanel.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 - lltracker.cpp - lltransientdockablefloater.cpp - lltransientfloatermgr.cpp - lluilistener.cpp - lluploaddialog.cpp - llurl.cpp - llurldispatcher.cpp - llurlhistory.cpp - llurllineeditorctrl.cpp - llurlsimstring.cpp - llurlwhitelist.cpp - llvectorperfoptions.cpp - llviewchildren.cpp - llviewerassetstorage.cpp - llvieweraudio.cpp - llviewercamera.cpp - llviewercontrol.cpp - llviewercontrollistener.cpp - llviewerdisplay.cpp - llviewerfloaterreg.cpp - llviewergenericmessage.cpp - llviewergesture.cpp - llviewerhelp.cpp - llviewerhelputil.cpp - llviewerinventory.cpp - llviewerjoint.cpp - llviewerjointattachment.cpp - llviewerjointmesh.cpp - llviewerjointmesh_sse.cpp - llviewerjointmesh_sse2.cpp - llviewerjointmesh_vec.cpp - llviewerjoystick.cpp - llviewerkeyboard.cpp - llviewerlayer.cpp - llviewermedia.cpp - llviewermedia_streamingaudio.cpp - llviewermediafocus.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 - llviewertexture.cpp - llviewertextureanim.cpp - llviewertexturelist.cpp - llviewerthrottle.cpp - llviewervisualparam.cpp - llviewerwindow.cpp - llviewerwindowlistener.cpp - llvlcomposition.cpp - llvlmanager.cpp - llvoavatar.cpp - llvoavatardefines.cpp - llvoavatarself.cpp - llvocache.cpp - llvoclouds.cpp - llvograss.cpp - llvoground.cpp - llvoicechannel.cpp - llvoiceclient.cpp - llvoicecontrolpanel.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 - llwearabledictionary.cpp - llwearablelist.cpp - llweb.cpp - llwind.cpp - llwlanimator.cpp - llwldaycycle.cpp - llwlparammanager.cpp - llwlparamset.cpp - llworld.cpp - llworldmap.cpp - llworldmapview.cpp - llxmlrpclistener.cpp - llxmlrpctransaction.cpp - noise.cpp - pipeline.cpp - ) - -set(VIEWER_BINARY_NAME "secondlife-bin" CACHE STRING - "The name of the viewer executable to create.") - -if (LINUX) - # 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) - -set(viewer_HEADER_FILES - CMakeLists.txt - ViewerInstall.cmake - llaccordionctrl.h - llaccordionctrltab.h - llagent.h - llagentaccess.h - llagentdata.h - llagentlanguage.h - llagentlistener.h - llagentpicksinfo.h - llagentpilot.h - llagentui.h - llagentwearables.h - llanimstatelabels.h - llappearance.h - llappearancemgr.h - llappviewer.h - llappviewerlistener.h - llassetuploadqueue.h - llassetuploadresponders.h - llaudiosourcevo.h - llavataractions.h - llavatariconctrl.h - llavatarlist.h - llavatarlistitem.h - llavatarpropertiesprocessor.h - llbottomtray.h - llbox.h - llbreadcrumbview.h - llcallbacklist.h - llcallingcard.h - llcapabilitylistener.h - llcapabilityprovider.h - llcaphttpsender.h - llchannelmanager.h - llchatbar.h - llchathistory.h - llchatitemscontainerctrl.h - llchatmsgbox.h - llchiclet.h - llclassifiedinfo.h - llclassifiedstatsresponder.h - llcloud.h - llcolorswatch.h - llcommandhandler.h - llcommandlineparser.h - llcompilequeue.h - llconfirmationmanager.h - llcurrencyuimanager.h - llcylinder.h - lldateutil.h - lldebugmessagebox.h - lldebugview.h - lldelayedgestureerror.h - lldirpicker.h - lldndbutton.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 - llexpandabletextbox.h - llface.h - llfasttimerview.h - llfavoritesbar.h - llfeaturemanager.h - llfilepicker.h - llfirstuse.h - llflexibleobject.h - llfloaterabout.h - llfloateractivespeakers.h - llfloateranimpreview.h - llfloaterauction.h - llfloateravatarpicker.h - llfloateravatartextures.h - llfloaterbeacons.h - llfloaterbuildoptions.h - llfloaterbulkpermission.h - llfloaterbump.h - llfloaterbuy.h - llfloaterbuycontents.h - llfloaterbuycurrency.h - llfloaterbuyland.h - llfloatercall.h - llfloatercamera.h - llfloaterchat.h - llfloaterchatterbox.h - llfloatercolorpicker.h - llfloatercustomize.h - llfloaterdaycycle.h - llfloaterenvsettings.h - llfloaterfonttest.h - llfloaterfriends.h - llfloatergesture.h - llfloatergodtools.h - llfloatergroupinvite.h - llfloatergroups.h - llfloaterhandler.h - llfloaterhardwaresettings.h - llfloaterhelpbrowser.h - llfloaterhud.h - llfloaterimagepreview.h - llfloaterinspect.h - llfloaterinventory.h - llfloaterjoystick.h - llfloaterlagmeter.h - llfloaterland.h - llfloaterlandholdings.h - llfloatermap.h - llfloatermediabrowser.h - llfloatermediasettings.h - llfloatermemleak.h - llfloaternamedesc.h - llfloaternotificationsconsole.h - llfloateropenobject.h - llfloaterparcel.h - llfloaterpay.h - llfloaterperms.h - llfloaterpostcard.h - llfloaterpostprocess.h - llfloaterpreference.h - llfloaterproperties.h - llfloaterregioninfo.h - llfloaterreporter.h - llfloaterscriptdebug.h - llfloatersearch.h - llfloatersellland.h - llfloatersettingsdebug.h - llfloatersnapshot.h - llfloatertelehub.h - llfloatertestinspectors.h - llfloatertestlistview.h - llfloatertools.h - llfloatertopobjects.h - llfloatertos.h - llfloateruipreview.h - llfloaterurldisplay.h - llfloaterurlentry.h - llfloatervoicedevicesettings.h - llfloaterwater.h - llfloaterwhitelistentry.h - llfloaterwindlight.h - llfloaterworldmap.h - llfoldertype.h - llfolderview.h - llfoldervieweventlistener.h - llfolderviewitem.h - llfollowcam.h - llfriendcard.h - llgesturemgr.h - llgroupactions.h - llgrouplist.h - llgroupmgr.h - llgroupnotify.h - llhomelocationresponder.h - llhudeffect.h - llhudeffectbeam.h - llhudeffectlookat.h - llhudeffectpointat.h - llhudeffecttrail.h - llhudicon.h - llhudmanager.h - llhudobject.h - llhudrender.h - llhudtext.h - llhudview.h - llimcontrolpanel.h - llimfloater.h - llimpanel.h - llimview.h - llinspect.h - llinspectavatar.h - llinspectgroup.h - llinspectobject.h - llinventorybridge.h - llinventoryclipboard.h - llinventoryfilter.h - llinventorymodel.h - llinventorysubtreepanel.h - lljoystickbutton.h - lllandmarkactions.h - lllandmarklist.h - lllightconstants.h - lllistbrowser.h - lllistview.h - lllocaltextureobject.h - lllocationhistory.h - lllocationinputctrl.h - lllogchat.h - llloginhandler.h - lllogininstance.h - llmanip.h - llmaniprotate.h - llmanipscale.h - llmaniptranslate.h - llmapresponders.h - llmediactrl.h - llmediadataclient.h - llmediaremotectrl.h - llmemoryview.h - llmenucommands.h - llmetricperformancetester.h - llmimetypes.h - llmorphview.h - llmoveview.h - llmutelist.h - llnamebox.h - llnameeditor.h - llnamelistctrl.h - llnavigationbar.h - llnearbychat.h - llnearbychatbar.h - llnearbychathandler.h - llnetmap.h - llnotificationhandler.h - llnotificationmanager.h - llnotify.h - lloutputmonitorctrl.h - lloverlaybar.h - llpanelappearance.h - llpanelappearancetab.h - llpanelavatar.h - llpanelavatarrow.h - llpanelavatartag.h - llpanelblockedlist.h - llpanelclassified.h - llpanelcontents.h - llpaneleditwearable.h - llpanelevent.h - llpanelface.h - llpanelgroup.h - llpanelgroupgeneral.h - llpanelgroupinvite.h - llpanelgrouplandmoney.h - llpanelgroupnotices.h - llpanelgrouproles.h - llpanelimcontrolpanel.h - llpanelinventory.h - llpanelland.h - llpanellandaudio.h - llpanellandmarks.h - llpanellandmedia.h - llpanellogin.h - llpanellookinfo.h - llpanellooks.h - llpanelmedia.h - llpanelmediasettingsgeneral.h - llpanelmediasettingspermissions.h - llpanelmediasettingssecurity.h - llpanelmeprofile.h - llpanelobject.h - llpanelpeople.h - llpanelpeoplemenus.h - llpanelpermissions.h - llpanelpick.h - llpanelpicks.h - llpanelplace.h - llpanelplaceinfo.h - llpanelplaces.h - llpanelplacestab.h - llpanelprimmediacontrols.h - llpanelprofile.h - llpanelprofileview.h - llpanelshower.h - llpanelteleporthistory.h - llpanelvolume.h - llparcelselection.h - llparticipantlist.h - llpatchvertexarray.h - llplacesinventorybridge.h - llpolymesh.h - llpolymorph.h - llpreview.h - llpreviewanim.h - llpreviewgesture.h - llpreviewnotecard.h - llpreviewscript.h - llpreviewsound.h - llpreviewtexture.h - llproductinforequest.h - llprogressview.h - llrecentpeople.h - llregionposition.h - llremoteparcelrequest.h - llresourcedata.h - llrootview.h - llsavedsettingsglue.h - llscreenchannel.h - llscrollingpanelparam.h - llsearchcombobox.h - llsearchhistory.h - llselectmgr.h - llsidetray.h - llsidetraypanelcontainer.h - llsky.h - llslurl.h - llspatialpartition.h - llspeakers.h - llsplitbutton.h - llsprite.h - llstartup.h - llstatusbar.h - llstylemap.h - llsurface.h - llsurfacepatch.h - llsyswellitem.h - llsyswellwindow.h - lltable.h - llteleporthistory.h - llteleporthistorystorage.h - lltexglobalcolor.h - lltexlayer.h - lltexlayerparams.h - lltextureatlas.h - lltextureatlasmanager.h - lltexturecache.h - lltexturectrl.h - lltexturefetch.h - lltextureview.h - lltoast.h - lltoastalertpanel.h - lltoastgroupnotifypanel.h - lltoastimpanel.h - lltoastnotifypanel.h - lltoastpanel.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 - lltracker.h - lltransientdockablefloater.h - lltransientfloatermgr.h - lluiconstants.h - lluilistener.h - lluploaddialog.h - llurl.h - llurldispatcher.h - llurlhistory.h - llurllineeditorctrl.h - llurlsimstring.h - llurlwhitelist.h - llvectorperfoptions.h - llviewchildren.h - llviewerassetstorage.h - llvieweraudio.h - llviewerbuild.h - llviewercamera.h - llviewercontrol.h - llviewercontrollistener.h - llviewerdisplay.h - llviewerfloaterreg.h - llviewergenericmessage.h - llviewergesture.h - llviewerhelp.h - llviewerinventory.h - llviewerjoint.h - llviewerjointattachment.h - llviewerjointmesh.h - llviewerjoystick.h - llviewerkeyboard.h - llviewerlayer.h - llviewermedia.h - llviewermediafocus.h - llviewermediaobserver.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 - llviewertexture.h - llviewertextureanim.h - llviewertexturelist.h - llviewerthrottle.h - llviewervisualparam.h - llviewerwindow.h - llviewerwindowlistener.h - llvlcomposition.h - llvlmanager.h - llvoavatar.h - llvoavatardefines.h - llvoavatarself.h - llvocache.h - llvoclouds.h - llvograss.h - llvoground.h - llvoicechannel.h - llvoiceclient.h - llvoicecontrolpanel.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 - llwearabledictionary.h - llwearablelist.h - llweb.h - llwind.h - llwindebug.h - llwlanimator.h - llwldaycycle.h - llwlparammanager.h - llwlparamset.h - llworld.h - llworldmap.h - llworldmapview.h - llxmlrpclistener.h - llxmlrpctransaction.h - macmain.h - noise.h - pipeline.h - randgauss.h - VertexCache.h - VorbisFramework.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 - secondlife.icns - macview.r - gpu_table.txt - Info-SecondLife.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} -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) - # llstartup.cpp needs special symbols for audio libraries, so it resets - # COMPILE_FLAGS below. Make sure it maintains precompiled header settings. - set(LLSTARTUP_COMPILE_FLAGS - "${LLSTARTUP_COMPILE_FLAGS} /Yullviewerprecompiledheaders.h") - - # 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/icon1.ico - 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/ll_icon.BMP - res/ll_icon.ico - res/resource.h - res/toolpickobject.cur - res/toolpickobject2.cur - res/toolpickobject3.cur - res/toolpipette.cur - ) - - set_source_files_properties(${viewer_RESOURCE_FILES} - PROPERTIES HEADER_FILE_ONLY TRUE) - - set(viewer_RESOURCE_FILES - res/viewerRes.rc - ${viewer_RESOURCE_FILES} - ) - - SOURCE_GROUP("Resource Files" FILES ${viewer_RESOURCE_FILES}) - - if (NOT STANDALONE) - list(APPEND viewer_SOURCE_FILES ${viewer_RESOURCE_FILES}) - endif (NOT STANDALONE) - - 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 - ${WINDOWS_LIBRARIES} - comdlg32 - ${DINPUT_LIBRARY} - ${DXGUID_LIBRARY} - kernel32 - odbc32 - odbccp32 - ole32 - oleaut32 - opengl32 - shell32 - 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. -set(viewer_XUI_FILES - skins/default/colors.xml - skins/default/textures/textures.xml - - - - ) -file(GLOB DEFAULT_XUI_FILE_GLOB_LIST - ${CMAKE_CURRENT_SOURCE_DIR}/skins/default/xui/en/*.xml) -list(APPEND viewer_XUI_FILES ${DEFAULT_XUI_FILE_GLOB_LIST}) - -file(GLOB DEFAULT_WIDGET_FILE_GLOB_LIST - ${CMAKE_CURRENT_SOURCE_DIR}/skins/default/xui/en/widgets/*.xml) -list(APPEND viewer_XUI_FILES ${DEFAULT_WIDGET_FILE_GLOB_LIST}) - -file(GLOB SILVER_XUI_FILE_GLOB_LIST - ${CMAKE_CURRENT_SOURCE_DIR}/skins/silver/xui/en-us/*.xml) -list(APPEND viewer_XUI_FILES ${SILVER_XUI_FILE_GLOB_LIST}) - -# Cannot append empty lists in CMake, wait until we have files here. -#file(GLOB SILVER_WIDGET_FILE_GLOB_LIST -# ${CMAKE_CURRENT_SOURCE_DIR}/skins/silver/xui/en-us/widgets/*.xml) -#list(APPEND viewer_XUI_FILES ${SILVER_WIDGET_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}) - -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) -if (NOT STANDALONE) - list(APPEND viewer_SOURCE_FILES ${viewer_CHARACTER_FILES}) -endif (NOT STANDALONE) - -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 (DARWIN) - set(fmodwrapper_SOURCE_FILES fmodwrapper.cpp) - add_library(fmodwrapper SHARED ${fmodwrapper_SOURCE_FILES}) - set(fmodwrapper_needed_LIBRARIES ${FMOD_LIBRARY} ${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" - ) - set(FMODWRAPPER_LIBRARY fmodwrapper) - target_link_libraries(fmodwrapper ${fmodwrapper_needed_LIBRARIES}) - else (DARWIN) - # fmodwrapper unnecessary on linux or windows - set(FMODWRAPPER_LIBRARY ${FMOD_LIBRARY}) - endif (DARWIN) -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) - -# add package files -file(GLOB EVENT_HOST_SCRIPT_GLOB_LIST - ${CMAKE_CURRENT_SOURCE_DIR}/../viewer_components/*.py) -list(APPEND EVENT_HOST_SCRIPTS ${EVENT_HOST_SCRIPT_GLOB_LIST}) - -set(PACKAGE OFF 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 - # *TODO -reenable this once we get server usage sorted out - #LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS /INCLUDE:\"__tcmalloc\"" - LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS" - LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\" /INCREMENTAL:NO" - 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." - ) - - if(WINDOWS) - # Copy Win Libs... - # This happens at build time, not config time. We can't glob files in this cmake. - # *FIX:Mani Write a sub script to glob the files... - # *FIX:Mani Use actually dependencies rather than bulk copy. - add_custom_command( - TARGET ${VIEWER_BINARY_NAME} PRE_BUILD - COMMAND ${CMAKE_COMMAND} - ARGS - -E - copy_directory - ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR} - ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} - COMMENT "Copying staged dlls." - ) - - add_dependencies(${VIEWER_BINARY_NAME} stage_third_party_libs llcommon) - if(LLKDU_LIBRARY) - # kdu may not exist! - add_dependencies(${VIEWER_BINARY_NAME} llkdu) - endif(LLKDU_LIBRARY) - endif(WINDOWS) - - 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} - --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_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/event_host.tar.bz2 - COMMAND ${PYTHON_EXECUTABLE} - ARGS - ${CMAKE_CURRENT_SOURCE_DIR}/event_host_manifest.py - ${CMAKE_CURRENT_SOURCE_DIR}/.. - ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CFG_INTDIR} - - DEPENDS - lleventhost - ${EVENT_HOST_SCRIPTS} - ${CMAKE_CURRENT_SOURCE_DIR}/event_host_manifest.py) - - add_custom_target(package ALL - DEPENDS - ${CMAKE_CFG_INTDIR}/touched.bat) - # temporarily disable packaging of event_host until hg subrepos get - # sorted out on the parabuild cluster... - #${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/event_host.tar.bz2) - add_dependencies(package windows-updater windows-crash-logger) - - - endif (PACKAGE) -endif (WINDOWS) - -target_link_libraries(${VIEWER_BINARY_NAME} - ${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} - ${LLXUIXML_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} - ${SDL_LIBRARY} - ${SMARTHEAP_LIBRARY} - ${UI_LIBRARIES} - ${WINDOWS_LIBRARIES} - ${XMLRPCEPI_LIBRARIES} - ${ELFIO_LIBRARIES} - ${LLLOGIN_LIBRARIES} - ${GOOGLE_PERFTOOLS_LIBRARIES} - ) - -build_version(viewer) - -set(ARTWORK_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE PATH - "Path to artwork files.") - - -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 SecondLife-${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} - --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 - DEPENDS secondlife-stripped ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py - ) - - add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_gstreamer010 media_plugin_webkit) - - if (NOT INSTALL) - add_custom_target(package ALL DEPENDS ${product}.tar.bz2) - add_dependencies(package linux-crash-logger-strip-target) - add_dependencies(package linux-updater-strip-target) - endif (NOT INSTALL) -endif (LINUX) - -if (DARWIN) - set(product "Second Life") - set_target_properties( - ${VIEWER_BINARY_NAME} - PROPERTIES - OUTPUT_NAME "${product}" - MACOSX_BUNDLE_INFO_STRING "info string - localize me" - MACOSX_BUNDLE_ICON_FILE "secondlife.icns" - MACOSX_BUNDLE_GUI_IDENTIFIER "Second Life" - MACOSX_BUNDLE_LONG_VERSION_STRING "ververver" - MACOSX_BUNDLE_BUNDLE_NAME "Second Life" - MACOSX_BUNDLE_SHORT_VERSION_STRING "asdf" - MACOSX_BUNDLE_BUNDLE_VERSION "asdf" - MACOSX_BUNDLE_COPYRIGHT "copyright linden lab 2007 - localize me and run me through a legal wringer" - ) - - 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} - --build=${CMAKE_CURRENT_BINARY_DIR} - --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${product}.app - 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} - --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 - 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} - --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 - DEPENDS - ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py - ) - - endif (PACKAGE) -endif (DARWIN) - -if (INSTALL) - include(${CMAKE_CURRENT_SOURCE_DIR}/ViewerInstall.cmake) -endif (INSTALL) - -# To add a viewer unit test, just add the test .cpp file below -# This creates a separate test project per file listed. -include(LLAddBuildTest) -SET(viewer_TEST_SOURCE_FILES - llagentaccess.cpp - lldateutil.cpp - llmediadataclient.cpp - llviewerhelputil.cpp - lllogininstance.cpp - ) -set_source_files_properties( - ${viewer_TEST_SOURCE_FILES} - PROPERTIES - LL_TEST_ADDITIONAL_SOURCE_FILES llviewerprecompiledheaders.cpp - ) -LL_ADD_PROJECT_UNIT_TESTS(${VIEWER_BINARY_NAME} "${viewer_TEST_SOURCE_FILES}") - -#set(TEST_DEBUG on) -set(test_sources llcapabilitylistener.cpp llviewerprecompiledheaders.cpp) -set(test_libs - ${LLMESSAGE_LIBRARIES} - ${WINDOWS_LIBRARIES} - ${LLVFS_LIBRARIES} - ${LLMATH_LIBRARIES} - ${LLCOMMON_LIBRARIES} - ${GOOGLEMOCK_LIBRARIES} - ) - -LL_ADD_INTEGRATION_TEST(llcapabilitylistener - "${test_sources}" - "${test_libs}" - ${PYTHON_EXECUTABLE} - "${CMAKE_SOURCE_DIR}/llmessage/tests/test_llsdmessage_peer.py" - ) - -#ADD_VIEWER_BUILD_TEST(llmemoryview viewer) - - -# Don't do these for DARWIN or LINUX here -- they're taken care of by viewer_manifest.py -if (WINDOWS) - add_custom_command( - TARGET ${VIEWER_BINARY_NAME} POST_BUILD - COMMAND ${CMAKE_COMMAND} - ARGS - -E - make_directory - ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llplugin - COMMENT "Creating llplugin dir." - ) - - 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." - ) - - #******************************* - # Copy media plugin support dlls - # Debug config runtime files required for the plugins - set(plugins_debug_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/debug") - set(plugins_debug_files - libeay32.dll - qtcored4.dll - qtguid4.dll - qtnetworkd4.dll - qtopengld4.dll - qtwebkitd4.dll - ssleay32.dll - ) - copy_if_different( - ${plugins_debug_src_dir} - "${CMAKE_CURRENT_BINARY_DIR}/Debug/llplugin" - out_targets - ${plugins_debug_files} - ) - set(media_plugin_targets ${media_plugin_targets} ${out_targets}) - - # Release & ReleaseDebInfo config runtime files required for the plugins - set(plugins_release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release") - set(plugins_release_files - libeay32.dll - qtcore4.dll - qtgui4.dll - qtnetwork4.dll - qtopengl4.dll - qtwebkit4.dll - ssleay32.dll - ) - copy_if_different( - ${plugins_release_src_dir} - "${CMAKE_CURRENT_BINARY_DIR}/Release/llplugin" - out_targets - ${plugins_release_files} - ) - set(media_plugin_targets ${media_plugin_targets} ${out_targets}) - - copy_if_different( - ${plugins_release_src_dir} - "${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo/llplugin" - out_targets - ${plugins_release_files} - ) - set(media_plugin_targets ${media_plugin_targets} ${out_targets}) - - add_custom_target(copy_media_plugin_libs ALL - DEPENDS - ${media_plugin_targets} - ) - - add_custom_command( - TARGET ${VIEWER_BINARY_NAME} POST_BUILD - COMMAND ${CMAKE_COMMAND} - ARGS - -E - copy_directory - ${CMAKE_BINARY_DIR}/test_apps/llplugintest/${CMAKE_CFG_INTDIR}/imageformats - ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llplugin/imageformats - COMMENT "Copying llpluging imageformat libs." - ) - - add_dependencies(${VIEWER_BINARY_NAME} llmediaplugintest copy_media_plugin_libs) - -endif (WINDOWS) - +# -*- cmake -*-
+
+project(viewer)
+
+include(00-Common)
+include(Boost)
+include(BuildVersion)
+include(DBusGlib)
+include(DirectX)
+include(ELFIO)
+include(FMOD)
+include(OPENAL)
+include(FindOpenGL)
+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(LLXUIXML)
+include(LScript)
+include(Linking)
+include(NDOF)
+include(GooglePerfTools)
+include(TemplateCheck)
+include(UI)
+include(UnixInstall)
+include(LLKDU)
+include(ViewerMiscLibs)
+include(LLLogin)
+include(CMakeCopyIfDifferent)
+
+include_directories(
+ ${DBUSGLIB_INCLUDE_DIRS}
+ ${ELFIO_INCLUDE_DIR}
+ ${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}
+ ${LLXUIXML_INCLUDE_DIRS}
+ ${LSCRIPT_INCLUDE_DIRS}
+ ${LSCRIPT_INCLUDE_DIRS}/lscript_compile
+ ${LLLOGIN_INCLUDE_DIRS}
+ )
+
+set(viewer_SOURCE_FILES
+ llaccordionctrl.cpp
+ llaccordionctrltab.cpp
+ llagent.cpp
+ llagentaccess.cpp
+ llagentdata.cpp
+ llagentlanguage.cpp
+ llagentlistener.cpp
+ llagentpicksinfo.cpp
+ llagentpilot.cpp
+ llagentui.cpp
+ llagentwearables.cpp
+ llanimstatelabels.cpp
+ llappearancemgr.cpp
+ llappviewer.cpp
+ llappviewerlistener.cpp
+ llassetuploadqueue.cpp
+ llassetuploadresponders.cpp
+ llaudiosourcevo.cpp
+ llavataractions.cpp
+ llavatariconctrl.cpp
+ llavatarlist.cpp
+ llavatarlistitem.cpp
+ llavatarpropertiesprocessor.cpp
+ llbottomtray.cpp
+ llbox.cpp
+ llbreadcrumbview.cpp
+ llcallbacklist.cpp
+ llcallingcard.cpp
+ llcapabilitylistener.cpp
+ llcaphttpsender.cpp
+ llchannelmanager.cpp
+ llchatbar.cpp
+ llchathistory.cpp
+ llchatitemscontainerctrl.cpp
+ llchatmsgbox.cpp
+ llchiclet.cpp
+ llclassifiedinfo.cpp
+ llclassifiedstatsresponder.cpp
+ llcloud.cpp
+ llcolorswatch.cpp
+ llcommandhandler.cpp
+ llcommandlineparser.cpp
+ llcompilequeue.cpp
+ llconfirmationmanager.cpp
+ llcurrencyuimanager.cpp
+ llcylinder.cpp
+ lldateutil.cpp
+ lldebugmessagebox.cpp
+ lldebugview.cpp
+ lldelayedgestureerror.cpp
+ lldirpicker.cpp
+ lldndbutton.cpp
+ lldrawable.cpp
+ lldrawpool.cpp
+ lldrawpoolalpha.cpp
+ lldrawpoolavatar.cpp
+ lldrawpoolbump.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
+ llexpandabletextbox.cpp
+ llface.cpp
+ llfasttimerview.cpp
+ llfavoritesbar.cpp
+ llfeaturemanager.cpp
+ llfilepicker.cpp
+ llfirstuse.cpp
+ llflexibleobject.cpp
+ llfloaterabout.cpp
+ llfloateractivespeakers.cpp
+ llfloateranimpreview.cpp
+ llfloaterauction.cpp
+ llfloateravatarpicker.cpp
+ llfloateravatartextures.cpp
+ llfloaterbeacons.cpp
+ llfloaterbuildoptions.cpp
+ llfloaterbulkpermission.cpp
+ llfloaterbump.cpp
+ llfloaterbuy.cpp
+ llfloaterbuycontents.cpp
+ llfloaterbuycurrency.cpp
+ llfloaterbuyland.cpp
+ llfloatercall.cpp
+ llfloatercamera.cpp
+ llfloaterchat.cpp
+ llfloaterchatterbox.cpp
+ llfloatercolorpicker.cpp
+ llfloatercustomize.cpp
+ llfloaterdaycycle.cpp
+ llfloaterenvsettings.cpp
+ llfloaterfonttest.cpp
+ llfloaterfriends.cpp
+ llfloatergesture.cpp
+ llfloatergodtools.cpp
+ llfloatergroupinvite.cpp
+ llfloatergroups.cpp
+ llfloaterhandler.cpp
+ llfloaterhardwaresettings.cpp
+ llfloaterhelpbrowser.cpp
+ llfloaterhud.cpp
+ llfloaterimagepreview.cpp
+ llfloaterinspect.cpp
+ llfloaterinventory.cpp
+ llfloaterjoystick.cpp
+ llfloaterlagmeter.cpp
+ llfloaterland.cpp
+ llfloaterlandholdings.cpp
+ llfloatermap.cpp
+ llfloatermediabrowser.cpp
+ llfloatermediasettings.cpp
+ llfloatermemleak.cpp
+ llfloaternamedesc.cpp
+ llfloaternotificationsconsole.cpp
+ llfloateropenobject.cpp
+ llfloaterparcel.cpp
+ llfloaterpay.cpp
+ llfloaterperms.cpp
+ llfloaterpostcard.cpp
+ llfloaterpostprocess.cpp
+ llfloaterpreference.cpp
+ llfloaterproperties.cpp
+ llfloaterregioninfo.cpp
+ llfloaterreporter.cpp
+ llfloaterscriptdebug.cpp
+ llfloatersearch.cpp
+ llfloatersellland.cpp
+ llfloatersettingsdebug.cpp
+ llfloatersnapshot.cpp
+ llfloatertelehub.cpp
+ llfloatertestinspectors.cpp
+ llfloatertestlistview.cpp
+ llfloatertools.cpp
+ llfloatertopobjects.cpp
+ llfloatertos.cpp
+ llfloateruipreview.cpp
+ llfloaterurldisplay.cpp
+ llfloaterurlentry.cpp
+ llfloatervoicedevicesettings.cpp
+ llfloaterwater.cpp
+ llfloaterwhitelistentry.cpp
+ llfloaterwindlight.cpp
+ llfloaterworldmap.cpp
+ llfoldertype.cpp
+ llfolderview.cpp
+ llfolderviewitem.cpp
+ llfollowcam.cpp
+ llfriendcard.cpp
+ llgesturemgr.cpp
+ llglsandbox.cpp
+ llgroupactions.cpp
+ llgrouplist.cpp
+ llgroupmgr.cpp
+ llgroupnotify.cpp
+ llhomelocationresponder.cpp
+ llhudeffect.cpp
+ llhudeffectbeam.cpp
+ llhudeffectlookat.cpp
+ llhudeffectpointat.cpp
+ llhudeffecttrail.cpp
+ llhudicon.cpp
+ llhudmanager.cpp
+ llhudobject.cpp
+ llhudrender.cpp
+ llhudtext.cpp
+ llhudview.cpp
+ llimcontrolpanel.cpp
+ llimfloater.cpp
+ llimhandler.cpp
+ llimpanel.cpp
+ llimview.cpp
+ llinspect.cpp
+ llinspectavatar.cpp
+ llinspectgroup.cpp
+ llinspectobject.cpp
+ llinventorybridge.cpp
+ llinventoryclipboard.cpp
+ llinventoryfilter.cpp
+ llinventoryfunctions.cpp
+ llinventorymodel.cpp
+ llinventorypanel.cpp
+ llinventorysubtreepanel.cpp
+ lljoystickbutton.cpp
+ lllandmarkactions.cpp
+ lllandmarklist.cpp
+ lllistbrowser.cpp
+ lllistview.cpp
+ lllocaltextureobject.cpp
+ lllocationhistory.cpp
+ lllocationinputctrl.cpp
+ lllogchat.cpp
+ llloginhandler.cpp
+ lllogininstance.cpp
+ llmanip.cpp
+ llmaniprotate.cpp
+ llmanipscale.cpp
+ llmaniptranslate.cpp
+ llmapresponders.cpp
+ llmediactrl.cpp
+ llmediadataclient.cpp
+ llmediaremotectrl.cpp
+ llmemoryview.cpp
+ llmenucommands.cpp
+ llmetricperformancetester.cpp
+ llmimetypes.cpp
+ llmorphview.cpp
+ llmoveview.cpp
+ llmutelist.cpp
+ llnamebox.cpp
+ llnameeditor.cpp
+ llnamelistctrl.cpp
+ llnavigationbar.cpp
+ llnearbychat.cpp
+ llnearbychatbar.cpp
+ llnearbychathandler.cpp
+ llnetmap.cpp
+ llnotificationalerthandler.cpp
+ llnotificationgrouphandler.cpp
+ llnotificationmanager.cpp
+ llnotificationscripthandler.cpp
+ llnotificationtiphandler.cpp
+ llnotify.cpp
+ lloutputmonitorctrl.cpp
+ lloverlaybar.cpp
+ llpanelappearance.cpp
+ llpanelappearancetab.cpp
+ llpanelavatar.cpp
+ llpanelavatarrow.cpp
+ llpanelavatartag.cpp
+ llpanelblockedlist.cpp
+ llpanelclassified.cpp
+ llpanelcontents.cpp
+ llpaneleditwearable.cpp
+ llpanelevent.cpp
+ llpanelface.cpp
+ llpanelgroup.cpp
+ llpanelgroupgeneral.cpp
+ llpanelgroupinvite.cpp
+ llpanelgrouplandmoney.cpp
+ llpanelgroupnotices.cpp
+ llpanelgrouproles.cpp
+ llpanelimcontrolpanel.cpp
+ llpanelland.cpp
+ llpanellandaudio.cpp
+ llpanellandmarks.cpp
+ llpanellandmedia.cpp
+ llpanellogin.cpp
+ llpanellookinfo.cpp
+ llpanellooks.cpp
+ llpanelmaininventory.cpp
+ llpanelmedia.cpp
+ llpanelmediasettingsgeneral.cpp
+ llpanelmediasettingspermissions.cpp
+ llpanelmediasettingssecurity.cpp
+ llpanelmeprofile.cpp
+ llpanelobject.cpp
+ llpanelobjectinventory.cpp
+ llpanelpeople.cpp
+ llpanelpeoplemenus.cpp
+ llpanelpermissions.cpp
+ llpanelpick.cpp
+ llpanelpicks.cpp
+ llpanelplace.cpp
+ llpanelplaceinfo.cpp
+ llpanelplaces.cpp
+ llpanelplacestab.cpp
+ llpanelprimmediacontrols.cpp
+ llpanelprofile.cpp
+ llpanelprofileview.cpp
+ llpanelshower.cpp
+ llpanelteleporthistory.cpp
+ llpanelvolume.cpp
+ llparcelselection.cpp
+ llparticipantlist.cpp
+ llpatchvertexarray.cpp
+ llplacesinventorybridge.cpp
+ llpolymesh.cpp
+ llpolymorph.cpp
+ llpreview.cpp
+ llpreviewanim.cpp
+ llpreviewgesture.cpp
+ llpreviewnotecard.cpp
+ llpreviewscript.cpp
+ llpreviewsound.cpp
+ llpreviewtexture.cpp
+ llproductinforequest.cpp
+ llprogressview.cpp
+ llrecentpeople.cpp
+ llregionposition.cpp
+ llremoteparcelrequest.cpp
+ llsavedsettingsglue.cpp
+ llscreenchannel.cpp
+ llscrollingpanelparam.cpp
+ llsearchcombobox.cpp
+ llsearchhistory.cpp
+ llselectmgr.cpp
+ llsidepanelinventory.cpp
+ llsidepanelobjectinfo.cpp
+ llsidetray.cpp
+ llsidetraypanelcontainer.cpp
+ llsky.cpp
+ llslurl.cpp
+ llspatialpartition.cpp
+ llspeakers.cpp
+ llsplitbutton.cpp
+ llsprite.cpp
+ llstartup.cpp
+ llstatusbar.cpp
+ llstylemap.cpp
+ llsurface.cpp
+ llsurfacepatch.cpp
+ llsyswellitem.cpp
+ llsyswellwindow.cpp
+ llteleporthistory.cpp
+ llteleporthistorystorage.cpp
+ lltexglobalcolor.cpp
+ lltexlayer.cpp
+ lltexlayerparams.cpp
+ lltextureatlas.cpp
+ lltextureatlasmanager.cpp
+ lltexturecache.cpp
+ lltexturectrl.cpp
+ lltexturefetch.cpp
+ lltextureview.cpp
+ lltoast.cpp
+ lltoastalertpanel.cpp
+ lltoastgroupnotifypanel.cpp
+ lltoastimpanel.cpp
+ lltoastnotifypanel.cpp
+ lltoastpanel.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
+ lltracker.cpp
+ lltransientdockablefloater.cpp
+ lltransientfloatermgr.cpp
+ lluilistener.cpp
+ lluploaddialog.cpp
+ llurl.cpp
+ llurldispatcher.cpp
+ llurlhistory.cpp
+ llurllineeditorctrl.cpp
+ llurlsimstring.cpp
+ llurlwhitelist.cpp
+ llvectorperfoptions.cpp
+ llviewchildren.cpp
+ llviewerassetstorage.cpp
+ llvieweraudio.cpp
+ llviewercamera.cpp
+ llviewercontrol.cpp
+ llviewercontrollistener.cpp
+ llviewerdisplay.cpp
+ llviewerfloaterreg.cpp
+ llviewergenericmessage.cpp
+ llviewergesture.cpp
+ llviewerhelp.cpp
+ llviewerhelputil.cpp
+ llviewerinventory.cpp
+ llviewerjoint.cpp
+ llviewerjointattachment.cpp
+ llviewerjointmesh.cpp
+ llviewerjointmesh_sse.cpp
+ llviewerjointmesh_sse2.cpp
+ llviewerjointmesh_vec.cpp
+ llviewerjoystick.cpp
+ llviewerkeyboard.cpp
+ llviewerlayer.cpp
+ llviewermedia.cpp
+ llviewermedia_streamingaudio.cpp
+ llviewermediafocus.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
+ llviewertexture.cpp
+ llviewertextureanim.cpp
+ llviewertexturelist.cpp
+ llviewerthrottle.cpp
+ llviewervisualparam.cpp
+ llviewerwindow.cpp
+ llviewerwindowlistener.cpp
+ llvlcomposition.cpp
+ llvlmanager.cpp
+ llvoavatar.cpp
+ llvoavatardefines.cpp
+ llvoavatarself.cpp
+ llvocache.cpp
+ llvoclouds.cpp
+ llvograss.cpp
+ llvoground.cpp
+ llvoicechannel.cpp
+ llvoiceclient.cpp
+ llvoicecontrolpanel.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
+ llwearabledictionary.cpp
+ llwearablelist.cpp
+ llweb.cpp
+ llwind.cpp
+ llwlanimator.cpp
+ llwldaycycle.cpp
+ llwlparammanager.cpp
+ llwlparamset.cpp
+ llworld.cpp
+ llworldmap.cpp
+ llworldmapview.cpp
+ llxmlrpclistener.cpp
+ llxmlrpctransaction.cpp
+ noise.cpp
+ pipeline.cpp
+ )
+
+set(VIEWER_BINARY_NAME "secondlife-bin" CACHE STRING
+ "The name of the viewer executable to create.")
+
+if (LINUX)
+ # 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)
+
+set(viewer_HEADER_FILES
+ CMakeLists.txt
+ ViewerInstall.cmake
+ llaccordionctrl.h
+ llaccordionctrltab.h
+ llagent.h
+ llagentaccess.h
+ llagentdata.h
+ llagentlanguage.h
+ llagentlistener.h
+ llagentpicksinfo.h
+ llagentpilot.h
+ llagentui.h
+ llagentwearables.h
+ llanimstatelabels.h
+ llappearance.h
+ llappearancemgr.h
+ llappviewer.h
+ llappviewerlistener.h
+ llassetuploadqueue.h
+ llassetuploadresponders.h
+ llaudiosourcevo.h
+ llavataractions.h
+ llavatariconctrl.h
+ llavatarlist.h
+ llavatarlistitem.h
+ llavatarpropertiesprocessor.h
+ llbottomtray.h
+ llbox.h
+ llbreadcrumbview.h
+ llcallbacklist.h
+ llcallingcard.h
+ llcapabilitylistener.h
+ llcapabilityprovider.h
+ llcaphttpsender.h
+ llchannelmanager.h
+ llchatbar.h
+ llchathistory.h
+ llchatitemscontainerctrl.h
+ llchatmsgbox.h
+ llchiclet.h
+ llclassifiedinfo.h
+ llclassifiedstatsresponder.h
+ llcloud.h
+ llcolorswatch.h
+ llcommandhandler.h
+ llcommandlineparser.h
+ llcompilequeue.h
+ llconfirmationmanager.h
+ llcurrencyuimanager.h
+ llcylinder.h
+ lldateutil.h
+ lldebugmessagebox.h
+ lldebugview.h
+ lldelayedgestureerror.h
+ lldirpicker.h
+ lldndbutton.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
+ llexpandabletextbox.h
+ llface.h
+ llfasttimerview.h
+ llfavoritesbar.h
+ llfeaturemanager.h
+ llfilepicker.h
+ llfirstuse.h
+ llflexibleobject.h
+ llfloaterabout.h
+ llfloateractivespeakers.h
+ llfloateranimpreview.h
+ llfloaterauction.h
+ llfloateravatarpicker.h
+ llfloateravatartextures.h
+ llfloaterbeacons.h
+ llfloaterbuildoptions.h
+ llfloaterbulkpermission.h
+ llfloaterbump.h
+ llfloaterbuy.h
+ llfloaterbuycontents.h
+ llfloaterbuycurrency.h
+ llfloaterbuyland.h
+ llfloatercall.h
+ llfloatercamera.h
+ llfloaterchat.h
+ llfloaterchatterbox.h
+ llfloatercolorpicker.h
+ llfloatercustomize.h
+ llfloaterdaycycle.h
+ llfloaterenvsettings.h
+ llfloaterfonttest.h
+ llfloaterfriends.h
+ llfloatergesture.h
+ llfloatergodtools.h
+ llfloatergroupinvite.h
+ llfloatergroups.h
+ llfloaterhandler.h
+ llfloaterhardwaresettings.h
+ llfloaterhelpbrowser.h
+ llfloaterhud.h
+ llfloaterimagepreview.h
+ llfloaterinspect.h
+ llfloaterinventory.h
+ llfloaterjoystick.h
+ llfloaterlagmeter.h
+ llfloaterland.h
+ llfloaterlandholdings.h
+ llfloatermap.h
+ llfloatermediabrowser.h
+ llfloatermediasettings.h
+ llfloatermemleak.h
+ llfloaternamedesc.h
+ llfloaternotificationsconsole.h
+ llfloateropenobject.h
+ llfloaterparcel.h
+ llfloaterpay.h
+ llfloaterperms.h
+ llfloaterpostcard.h
+ llfloaterpostprocess.h
+ llfloaterpreference.h
+ llfloaterproperties.h
+ llfloaterregioninfo.h
+ llfloaterreporter.h
+ llfloaterscriptdebug.h
+ llfloatersearch.h
+ llfloatersellland.h
+ llfloatersettingsdebug.h
+ llfloatersnapshot.h
+ llfloatertelehub.h
+ llfloatertestinspectors.h
+ llfloatertestlistview.h
+ llfloatertools.h
+ llfloatertopobjects.h
+ llfloatertos.h
+ llfloateruipreview.h
+ llfloaterurldisplay.h
+ llfloaterurlentry.h
+ llfloatervoicedevicesettings.h
+ llfloaterwater.h
+ llfloaterwhitelistentry.h
+ llfloaterwindlight.h
+ llfloaterworldmap.h
+ llfoldertype.h
+ llfolderview.h
+ llfoldervieweventlistener.h
+ llfolderviewitem.h
+ llfollowcam.h
+ llfriendcard.h
+ llgesturemgr.h
+ llgroupactions.h
+ llgrouplist.h
+ llgroupmgr.h
+ llgroupnotify.h
+ llhomelocationresponder.h
+ llhudeffect.h
+ llhudeffectbeam.h
+ llhudeffectlookat.h
+ llhudeffectpointat.h
+ llhudeffecttrail.h
+ llhudicon.h
+ llhudmanager.h
+ llhudobject.h
+ llhudrender.h
+ llhudtext.h
+ llhudview.h
+ llimcontrolpanel.h
+ llimfloater.h
+ llimpanel.h
+ llimview.h
+ llinspect.h
+ llinspectavatar.h
+ llinspectgroup.h
+ llinspectobject.h
+ llinventorybridge.h
+ llinventoryclipboard.h
+ llinventoryfilter.h
+ llinventoryfunctions.h
+ llinventorymodel.h
+ llinventorypanel.h
+ llinventorysubtreepanel.h
+ lljoystickbutton.h
+ lllandmarkactions.h
+ lllandmarklist.h
+ lllightconstants.h
+ lllistbrowser.h
+ lllistview.h
+ lllocaltextureobject.h
+ lllocationhistory.h
+ lllocationinputctrl.h
+ lllogchat.h
+ llloginhandler.h
+ lllogininstance.h
+ llmanip.h
+ llmaniprotate.h
+ llmanipscale.h
+ llmaniptranslate.h
+ llmapresponders.h
+ llmediactrl.h
+ llmediadataclient.h
+ llmediaremotectrl.h
+ llmemoryview.h
+ llmenucommands.h
+ llmetricperformancetester.h
+ llmimetypes.h
+ llmorphview.h
+ llmoveview.h
+ llmutelist.h
+ llnamebox.h
+ llnameeditor.h
+ llnamelistctrl.h
+ llnavigationbar.h
+ llnearbychat.h
+ llnearbychatbar.h
+ llnearbychathandler.h
+ llnetmap.h
+ llnotificationhandler.h
+ llnotificationmanager.h
+ llnotify.h
+ lloutputmonitorctrl.h
+ lloverlaybar.h
+ llpanelappearance.h
+ llpanelappearancetab.h
+ llpanelavatar.h
+ llpanelavatarrow.h
+ llpanelavatartag.h
+ llpanelblockedlist.h
+ llpanelclassified.h
+ llpanelcontents.h
+ llpaneleditwearable.h
+ llpanelevent.h
+ llpanelface.h
+ llpanelgroup.h
+ llpanelgroupgeneral.h
+ llpanelgroupinvite.h
+ llpanelgrouplandmoney.h
+ llpanelgroupnotices.h
+ llpanelgrouproles.h
+ llpanelimcontrolpanel.h
+ llpanelinventory.h
+ llpanelland.h
+ llpanellandaudio.h
+ llpanellandmarks.h
+ llpanellandmedia.h
+ llpanellogin.h
+ llpanellookinfo.h
+ llpanellooks.h
+ llpanelmaininventory.h
+ llpanelmedia.h
+ llpanelmediasettingsgeneral.h
+ llpanelmediasettingspermissions.h
+ llpanelmediasettingssecurity.h
+ llpanelmeprofile.h
+ llpanelobject.h
+ llpanelobjectinventory.h
+ llpanelpeople.h
+ llpanelpeoplemenus.h
+ llpanelpermissions.h
+ llpanelpick.h
+ llpanelpicks.h
+ llpanelplace.h
+ llpanelplaceinfo.h
+ llpanelplaces.h
+ llpanelplacestab.h
+ llpanelprimmediacontrols.h
+ llpanelprofile.h
+ llpanelprofileview.h
+ llpanelshower.h
+ llpanelteleporthistory.h
+ llpanelvolume.h
+ llparcelselection.h
+ llparticipantlist.h
+ llpatchvertexarray.h
+ llplacesinventorybridge.h
+ llpolymesh.h
+ llpolymorph.h
+ llpreview.h
+ llpreviewanim.h
+ llpreviewgesture.h
+ llpreviewnotecard.h
+ llpreviewscript.h
+ llpreviewsound.h
+ llpreviewtexture.h
+ llproductinforequest.h
+ llprogressview.h
+ llrecentpeople.h
+ llregionposition.h
+ llremoteparcelrequest.h
+ llresourcedata.h
+ llrootview.h
+ llsavedsettingsglue.h
+ llscreenchannel.h
+ llscrollingpanelparam.h
+ llsearchcombobox.h
+ llsearchhistory.h
+ llselectmgr.h
+ llsidepanelinventory.h
+ llsidepanelobjectinfo.h
+ llsidetray.h
+ llsidetraypanelcontainer.h
+ llsky.h
+ llslurl.h
+ llspatialpartition.h
+ llspeakers.h
+ llsplitbutton.h
+ llsprite.h
+ llstartup.h
+ llstatusbar.h
+ llstylemap.h
+ llsurface.h
+ llsurfacepatch.h
+ llsyswellitem.h
+ llsyswellwindow.h
+ lltable.h
+ llteleporthistory.h
+ llteleporthistorystorage.h
+ lltexglobalcolor.h
+ lltexlayer.h
+ lltexlayerparams.h
+ lltextureatlas.h
+ lltextureatlasmanager.h
+ lltexturecache.h
+ lltexturectrl.h
+ lltexturefetch.h
+ lltextureview.h
+ lltoast.h
+ lltoastalertpanel.h
+ lltoastgroupnotifypanel.h
+ lltoastimpanel.h
+ lltoastnotifypanel.h
+ lltoastpanel.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
+ lltracker.h
+ lltransientdockablefloater.h
+ lltransientfloatermgr.h
+ lluiconstants.h
+ lluilistener.h
+ lluploaddialog.h
+ llurl.h
+ llurldispatcher.h
+ llurlhistory.h
+ llurllineeditorctrl.h
+ llurlsimstring.h
+ llurlwhitelist.h
+ llvectorperfoptions.h
+ llviewchildren.h
+ llviewerassetstorage.h
+ llvieweraudio.h
+ llviewerbuild.h
+ llviewercamera.h
+ llviewercontrol.h
+ llviewercontrollistener.h
+ llviewerdisplay.h
+ llviewerfloaterreg.h
+ llviewergenericmessage.h
+ llviewergesture.h
+ llviewerhelp.h
+ llviewerinventory.h
+ llviewerjoint.h
+ llviewerjointattachment.h
+ llviewerjointmesh.h
+ llviewerjoystick.h
+ llviewerkeyboard.h
+ llviewerlayer.h
+ llviewermedia.h
+ llviewermediafocus.h
+ llviewermediaobserver.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
+ llviewertexture.h
+ llviewertextureanim.h
+ llviewertexturelist.h
+ llviewerthrottle.h
+ llviewervisualparam.h
+ llviewerwindow.h
+ llviewerwindowlistener.h
+ llvlcomposition.h
+ llvlmanager.h
+ llvoavatar.h
+ llvoavatardefines.h
+ llvoavatarself.h
+ llvocache.h
+ llvoclouds.h
+ llvograss.h
+ llvoground.h
+ llvoicechannel.h
+ llvoiceclient.h
+ llvoicecontrolpanel.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
+ llwearabledictionary.h
+ llwearablelist.h
+ llweb.h
+ llwind.h
+ llwindebug.h
+ llwlanimator.h
+ llwldaycycle.h
+ llwlparammanager.h
+ llwlparamset.h
+ llworld.h
+ llworldmap.h
+ llworldmapview.h
+ llxmlrpclistener.h
+ llxmlrpctransaction.h
+ macmain.h
+ noise.h
+ pipeline.h
+ randgauss.h
+ VertexCache.h
+ VorbisFramework.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
+ secondlife.icns
+ macview.r
+ gpu_table.txt
+ Info-SecondLife.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} -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)
+ # llstartup.cpp needs special symbols for audio libraries, so it resets
+ # COMPILE_FLAGS below. Make sure it maintains precompiled header settings.
+ set(LLSTARTUP_COMPILE_FLAGS
+ "${LLSTARTUP_COMPILE_FLAGS} /Yullviewerprecompiledheaders.h")
+
+ # 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/icon1.ico
+ 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/ll_icon.BMP
+ res/ll_icon.ico
+ res/resource.h
+ res/toolpickobject.cur
+ res/toolpickobject2.cur
+ res/toolpickobject3.cur
+ res/toolpipette.cur
+ )
+
+ set_source_files_properties(${viewer_RESOURCE_FILES}
+ PROPERTIES HEADER_FILE_ONLY TRUE)
+
+ set(viewer_RESOURCE_FILES
+ res/viewerRes.rc
+ ${viewer_RESOURCE_FILES}
+ )
+
+ SOURCE_GROUP("Resource Files" FILES ${viewer_RESOURCE_FILES})
+
+ if (NOT STANDALONE)
+ list(APPEND viewer_SOURCE_FILES ${viewer_RESOURCE_FILES})
+ endif (NOT STANDALONE)
+
+ 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
+ ${WINDOWS_LIBRARIES}
+ comdlg32
+ ${DINPUT_LIBRARY}
+ ${DXGUID_LIBRARY}
+ kernel32
+ odbc32
+ odbccp32
+ ole32
+ oleaut32
+ opengl32
+ shell32
+ 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.
+set(viewer_XUI_FILES
+ skins/default/colors.xml
+ skins/default/textures/textures.xml
+
+
+
+ )
+file(GLOB DEFAULT_XUI_FILE_GLOB_LIST
+ ${CMAKE_CURRENT_SOURCE_DIR}/skins/default/xui/en/*.xml)
+list(APPEND viewer_XUI_FILES ${DEFAULT_XUI_FILE_GLOB_LIST})
+
+file(GLOB DEFAULT_WIDGET_FILE_GLOB_LIST
+ ${CMAKE_CURRENT_SOURCE_DIR}/skins/default/xui/en/widgets/*.xml)
+list(APPEND viewer_XUI_FILES ${DEFAULT_WIDGET_FILE_GLOB_LIST})
+
+file(GLOB SILVER_XUI_FILE_GLOB_LIST
+ ${CMAKE_CURRENT_SOURCE_DIR}/skins/silver/xui/en-us/*.xml)
+list(APPEND viewer_XUI_FILES ${SILVER_XUI_FILE_GLOB_LIST})
+
+# Cannot append empty lists in CMake, wait until we have files here.
+#file(GLOB SILVER_WIDGET_FILE_GLOB_LIST
+# ${CMAKE_CURRENT_SOURCE_DIR}/skins/silver/xui/en-us/widgets/*.xml)
+#list(APPEND viewer_XUI_FILES ${SILVER_WIDGET_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})
+
+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)
+if (NOT STANDALONE)
+ list(APPEND viewer_SOURCE_FILES ${viewer_CHARACTER_FILES})
+endif (NOT STANDALONE)
+
+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 (DARWIN)
+ set(fmodwrapper_SOURCE_FILES fmodwrapper.cpp)
+ add_library(fmodwrapper SHARED ${fmodwrapper_SOURCE_FILES})
+ set(fmodwrapper_needed_LIBRARIES ${FMOD_LIBRARY} ${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"
+ )
+ set(FMODWRAPPER_LIBRARY fmodwrapper)
+ target_link_libraries(fmodwrapper ${fmodwrapper_needed_LIBRARIES})
+ else (DARWIN)
+ # fmodwrapper unnecessary on linux or windows
+ set(FMODWRAPPER_LIBRARY ${FMOD_LIBRARY})
+ endif (DARWIN)
+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)
+
+# add package files
+file(GLOB EVENT_HOST_SCRIPT_GLOB_LIST
+ ${CMAKE_CURRENT_SOURCE_DIR}/../viewer_components/*.py)
+list(APPEND EVENT_HOST_SCRIPTS ${EVENT_HOST_SCRIPT_GLOB_LIST})
+
+set(PACKAGE OFF 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
+ # *TODO -reenable this once we get server usage sorted out
+ #LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS /INCLUDE:\"__tcmalloc\""
+ LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS"
+ LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\" /INCREMENTAL:NO"
+ 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."
+ )
+
+ if(WINDOWS)
+ # Copy Win Libs...
+ # This happens at build time, not config time. We can't glob files in this cmake.
+ # *FIX:Mani Write a sub script to glob the files...
+ # *FIX:Mani Use actually dependencies rather than bulk copy.
+ add_custom_command(
+ TARGET ${VIEWER_BINARY_NAME} PRE_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS
+ -E
+ copy_directory
+ ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}
+ ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
+ COMMENT "Copying staged dlls."
+ )
+
+ add_dependencies(${VIEWER_BINARY_NAME} stage_third_party_libs llcommon)
+ if(LLKDU_LIBRARY)
+ # kdu may not exist!
+ add_dependencies(${VIEWER_BINARY_NAME} llkdu)
+ endif(LLKDU_LIBRARY)
+ endif(WINDOWS)
+
+ 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}
+ --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_command(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/event_host.tar.bz2
+ COMMAND ${PYTHON_EXECUTABLE}
+ ARGS
+ ${CMAKE_CURRENT_SOURCE_DIR}/event_host_manifest.py
+ ${CMAKE_CURRENT_SOURCE_DIR}/..
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CFG_INTDIR}
+
+ DEPENDS
+ lleventhost
+ ${EVENT_HOST_SCRIPTS}
+ ${CMAKE_CURRENT_SOURCE_DIR}/event_host_manifest.py)
+
+ add_custom_target(package ALL
+ DEPENDS
+ ${CMAKE_CFG_INTDIR}/touched.bat)
+ # temporarily disable packaging of event_host until hg subrepos get
+ # sorted out on the parabuild cluster...
+ #${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/event_host.tar.bz2)
+ add_dependencies(package windows-updater windows-crash-logger)
+
+
+ endif (PACKAGE)
+endif (WINDOWS)
+
+target_link_libraries(${VIEWER_BINARY_NAME}
+ ${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}
+ ${LLXUIXML_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}
+ ${SDL_LIBRARY}
+ ${SMARTHEAP_LIBRARY}
+ ${UI_LIBRARIES}
+ ${WINDOWS_LIBRARIES}
+ ${XMLRPCEPI_LIBRARIES}
+ ${ELFIO_LIBRARIES}
+ ${LLLOGIN_LIBRARIES}
+ ${GOOGLE_PERFTOOLS_LIBRARIES}
+ )
+
+build_version(viewer)
+
+set(ARTWORK_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE PATH
+ "Path to artwork files.")
+
+
+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 SecondLife-${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}
+ --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
+ DEPENDS secondlife-stripped ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
+ )
+
+ add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_gstreamer010 media_plugin_webkit)
+
+ if (NOT INSTALL)
+ add_custom_target(package ALL DEPENDS ${product}.tar.bz2)
+ add_dependencies(package linux-crash-logger-strip-target)
+ add_dependencies(package linux-updater-strip-target)
+ endif (NOT INSTALL)
+endif (LINUX)
+
+if (DARWIN)
+ set(product "Second Life")
+ set_target_properties(
+ ${VIEWER_BINARY_NAME}
+ PROPERTIES
+ OUTPUT_NAME "${product}"
+ MACOSX_BUNDLE_INFO_STRING "info string - localize me"
+ MACOSX_BUNDLE_ICON_FILE "secondlife.icns"
+ MACOSX_BUNDLE_GUI_IDENTIFIER "Second Life"
+ MACOSX_BUNDLE_LONG_VERSION_STRING "ververver"
+ MACOSX_BUNDLE_BUNDLE_NAME "Second Life"
+ MACOSX_BUNDLE_SHORT_VERSION_STRING "asdf"
+ MACOSX_BUNDLE_BUNDLE_VERSION "asdf"
+ MACOSX_BUNDLE_COPYRIGHT "copyright linden lab 2007 - localize me and run me through a legal wringer"
+ )
+
+ 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}
+ --build=${CMAKE_CURRENT_BINARY_DIR}
+ --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${product}.app
+ 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}
+ --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
+ 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}
+ --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
+ DEPENDS
+ ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
+ )
+
+ endif (PACKAGE)
+endif (DARWIN)
+
+if (INSTALL)
+ include(${CMAKE_CURRENT_SOURCE_DIR}/ViewerInstall.cmake)
+endif (INSTALL)
+
+# To add a viewer unit test, just add the test .cpp file below
+# This creates a separate test project per file listed.
+include(LLAddBuildTest)
+SET(viewer_TEST_SOURCE_FILES
+ llagentaccess.cpp
+ lldateutil.cpp
+ llmediadataclient.cpp
+ llviewerhelputil.cpp
+ lllogininstance.cpp
+ )
+set_source_files_properties(
+ ${viewer_TEST_SOURCE_FILES}
+ PROPERTIES
+ LL_TEST_ADDITIONAL_SOURCE_FILES llviewerprecompiledheaders.cpp
+ )
+LL_ADD_PROJECT_UNIT_TESTS(${VIEWER_BINARY_NAME} "${viewer_TEST_SOURCE_FILES}")
+
+#set(TEST_DEBUG on)
+set(test_sources llcapabilitylistener.cpp llviewerprecompiledheaders.cpp)
+set(test_libs
+ ${LLMESSAGE_LIBRARIES}
+ ${WINDOWS_LIBRARIES}
+ ${LLVFS_LIBRARIES}
+ ${LLMATH_LIBRARIES}
+ ${LLCOMMON_LIBRARIES}
+ ${GOOGLEMOCK_LIBRARIES}
+ )
+
+LL_ADD_INTEGRATION_TEST(llcapabilitylistener
+ "${test_sources}"
+ "${test_libs}"
+ ${PYTHON_EXECUTABLE}
+ "${CMAKE_SOURCE_DIR}/llmessage/tests/test_llsdmessage_peer.py"
+ )
+
+#ADD_VIEWER_BUILD_TEST(llmemoryview viewer)
+
+
+# Don't do these for DARWIN or LINUX here -- they're taken care of by viewer_manifest.py
+if (WINDOWS)
+ add_custom_command(
+ TARGET ${VIEWER_BINARY_NAME} POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS
+ -E
+ make_directory
+ ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llplugin
+ COMMENT "Creating llplugin dir."
+ )
+
+ 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."
+ )
+
+ #*******************************
+ # Copy media plugin support dlls
+ # Debug config runtime files required for the plugins
+ set(plugins_debug_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/debug")
+ set(plugins_debug_files
+ libeay32.dll
+ qtcored4.dll
+ qtguid4.dll
+ qtnetworkd4.dll
+ qtopengld4.dll
+ qtwebkitd4.dll
+ ssleay32.dll
+ )
+ copy_if_different(
+ ${plugins_debug_src_dir}
+ "${CMAKE_CURRENT_BINARY_DIR}/Debug/llplugin"
+ out_targets
+ ${plugins_debug_files}
+ )
+ set(media_plugin_targets ${media_plugin_targets} ${out_targets})
+
+ # Release & ReleaseDebInfo config runtime files required for the plugins
+ set(plugins_release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release")
+ set(plugins_release_files
+ libeay32.dll
+ qtcore4.dll
+ qtgui4.dll
+ qtnetwork4.dll
+ qtopengl4.dll
+ qtwebkit4.dll
+ ssleay32.dll
+ )
+ copy_if_different(
+ ${plugins_release_src_dir}
+ "${CMAKE_CURRENT_BINARY_DIR}/Release/llplugin"
+ out_targets
+ ${plugins_release_files}
+ )
+ set(media_plugin_targets ${media_plugin_targets} ${out_targets})
+
+ copy_if_different(
+ ${plugins_release_src_dir}
+ "${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo/llplugin"
+ out_targets
+ ${plugins_release_files}
+ )
+ set(media_plugin_targets ${media_plugin_targets} ${out_targets})
+
+ add_custom_target(copy_media_plugin_libs ALL
+ DEPENDS
+ ${media_plugin_targets}
+ )
+
+ add_custom_command(
+ TARGET ${VIEWER_BINARY_NAME} POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS
+ -E
+ copy_directory
+ ${CMAKE_BINARY_DIR}/test_apps/llplugintest/${CMAKE_CFG_INTDIR}/imageformats
+ ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llplugin/imageformats
+ COMMENT "Copying llpluging imageformat libs."
+ )
+
+ add_dependencies(${VIEWER_BINARY_NAME} llmediaplugintest copy_media_plugin_libs)
+
+endif (WINDOWS)
+
|