CMakeLists.txt
上传用户:king477883
上传日期:2021-03-01
资源大小:9553k
文件大小:50k
源码类别:

游戏引擎

开发平台:

C++ Builder

  1. # -*- cmake -*-
  2. project(viewer)
  3. include(00-Common)
  4. include(Boost)
  5. include(BuildVersion)
  6. include(DBusGlib)
  7. include(DirectX)
  8. include(DragDrop)
  9. include(ELFIO)
  10. include(FMOD)
  11. include(OPENAL)
  12. include(FindOpenGL)
  13. include(LLAudio)
  14. include(LLCharacter)
  15. include(LLCommon)
  16. include(LLImage)
  17. include(LLImageJ2COJ)
  18. include(LLInventory)
  19. include(LLMath)
  20. include(LLMessage)
  21. include(LLPlugin)
  22. include(LLPrimitive)
  23. include(LLRender)
  24. include(LLUI)
  25. include(LLVFS)
  26. include(LLWindow)
  27. include(LLXML)
  28. include(LLXUIXML)
  29. include(LScript)
  30. include(Linking)
  31. include(NDOF)
  32. include(GooglePerfTools)
  33. include(TemplateCheck)
  34. include(UI)
  35. include(UnixInstall)
  36. include(LLKDU)
  37. include(ViewerMiscLibs)
  38. include(LLLogin)
  39. include(CMakeCopyIfDifferent)
  40. include_directories(
  41.     ${DBUSGLIB_INCLUDE_DIRS}
  42.     ${ELFIO_INCLUDE_DIR}
  43.     ${LLAUDIO_INCLUDE_DIRS}
  44.     ${LLCHARACTER_INCLUDE_DIRS}
  45.     ${LLCOMMON_INCLUDE_DIRS}
  46.     ${LLIMAGE_INCLUDE_DIRS}
  47.     ${LLINVENTORY_INCLUDE_DIRS}
  48.     ${LLMATH_INCLUDE_DIRS}
  49.     ${LLMESSAGE_INCLUDE_DIRS}
  50.     ${LLPLUGIN_INCLUDE_DIRS}
  51.     ${LLPRIMITIVE_INCLUDE_DIRS}
  52.     ${LLRENDER_INCLUDE_DIRS}
  53.     ${LLUI_INCLUDE_DIRS}
  54.     ${LLVFS_INCLUDE_DIRS}
  55.     ${LLWINDOW_INCLUDE_DIRS}
  56.     ${LLXML_INCLUDE_DIRS}
  57.     ${LLXUIXML_INCLUDE_DIRS}
  58.     ${LSCRIPT_INCLUDE_DIRS}
  59.     ${LSCRIPT_INCLUDE_DIRS}/lscript_compile
  60.     ${LLLOGIN_INCLUDE_DIRS}
  61.     )
  62. set(viewer_SOURCE_FILES
  63.     llagent.cpp
  64.     llagentaccess.cpp
  65.     llagentdata.cpp
  66.     llagentlanguage.cpp
  67.     llagentlistener.cpp
  68.     llagentpicksinfo.cpp
  69.     llagentpilot.cpp
  70.     llagentui.cpp
  71.     llagentwearables.cpp
  72.     llanimstatelabels.cpp
  73.     llappearancemgr.cpp
  74.     llappviewer.cpp
  75.     llappviewerlistener.cpp
  76.     llassetuploadqueue.cpp
  77.     llassetuploadresponders.cpp
  78.     llaudiosourcevo.cpp
  79.     llavataractions.cpp
  80.     llavatariconctrl.cpp
  81.     llavatarlist.cpp
  82.     llavatarlistitem.cpp
  83.     llavatarpropertiesprocessor.cpp
  84.     llbottomtray.cpp
  85.     llbox.cpp
  86.     llbreadcrumbview.cpp
  87.     llcallbacklist.cpp
  88.     llcallfloater.cpp
  89.     llcallingcard.cpp
  90.     llcapabilitylistener.cpp
  91.     llcaphttpsender.cpp
  92.     llchannelmanager.cpp
  93.     llchatbar.cpp
  94.     llchathistory.cpp
  95.     llchatitemscontainerctrl.cpp
  96.     llchatmsgbox.cpp
  97.     llchiclet.cpp
  98.     llclassifiedinfo.cpp
  99.     llclassifiedstatsresponder.cpp
  100.     llcloud.cpp
  101.     llcolorswatch.cpp
  102.     llcommanddispatcherlistener.cpp
  103.     llcommandhandler.cpp
  104.     llcommandlineparser.cpp
  105.     llcompilequeue.cpp
  106.     llconfirmationmanager.cpp
  107.     llcurrencyuimanager.cpp
  108.     llcylinder.cpp
  109.     lldateutil.cpp
  110.     lldebugmessagebox.cpp
  111.     lldebugview.cpp
  112.     lldelayedgestureerror.cpp
  113.     lldirpicker.cpp
  114.     lldndbutton.cpp
  115.     lldrawable.cpp
  116.     lldrawpool.cpp
  117.     lldrawpoolalpha.cpp
  118.     lldrawpoolavatar.cpp
  119.     lldrawpoolbump.cpp
  120.     lldrawpoolground.cpp
  121.     lldrawpoolsimple.cpp
  122.     lldrawpoolsky.cpp
  123.     lldrawpoolterrain.cpp
  124.     lldrawpooltree.cpp
  125.     lldrawpoolwater.cpp
  126.     lldrawpoolwlsky.cpp
  127.     lldriverparam.cpp
  128.     lldynamictexture.cpp
  129.     llemote.cpp
  130.     lleventinfo.cpp
  131.     lleventnotifier.cpp
  132.     lleventpoll.cpp
  133.     llexpandabletextbox.cpp
  134.     llface.cpp
  135.     llfasttimerview.cpp
  136.     llfavoritesbar.cpp
  137.     llfeaturemanager.cpp
  138.     llfilepicker.cpp
  139.     llfirstuse.cpp
  140.     llflexibleobject.cpp
  141.     llfloaterabout.cpp
  142.     llfloateractivespeakers.cpp
  143.     llfloateranimpreview.cpp
  144.     llfloaterauction.cpp
  145.     llfloateravatarpicker.cpp
  146.     llfloateravatartextures.cpp
  147.     llfloaterbeacons.cpp
  148.     llfloaterbuildoptions.cpp
  149.     llfloaterbulkpermission.cpp
  150.     llfloaterbump.cpp
  151.     llfloaterbuy.cpp
  152.     llfloaterbuycontents.cpp
  153.     llfloaterbuycurrency.cpp
  154.     llfloaterbuyland.cpp
  155.     llfloatercamera.cpp
  156.     llfloatercolorpicker.cpp
  157.     llfloatercustomize.cpp
  158.     llfloaterdaycycle.cpp
  159.     llfloaterenvsettings.cpp
  160.     llfloaterevent.cpp
  161.     llfloaterfonttest.cpp
  162.     llfloatergesture.cpp
  163.     llfloatergodtools.cpp
  164.     llfloatergroupinvite.cpp
  165.     llfloatergroups.cpp
  166.     llfloaterhandler.cpp
  167.     llfloaterhardwaresettings.cpp
  168.     llfloaterhelpbrowser.cpp
  169.     llfloaterhud.cpp
  170.     llfloaterimagepreview.cpp
  171.     llfloaterinspect.cpp
  172.     llfloaterinventory.cpp
  173.     llfloaterjoystick.cpp
  174.     llfloaterlagmeter.cpp
  175.     llfloaterland.cpp
  176.     llfloaterlandholdings.cpp
  177.     llfloatermap.cpp
  178.     llfloatermediabrowser.cpp
  179.     llfloatermediasettings.cpp
  180.     llfloatermemleak.cpp
  181.     llfloaternamedesc.cpp
  182.     llfloaternotificationsconsole.cpp
  183.     llfloateropenobject.cpp
  184.     llfloaterparcel.cpp
  185.     llfloaterpay.cpp
  186.     llfloaterperms.cpp
  187.     llfloaterpostcard.cpp
  188.     llfloaterpostprocess.cpp
  189.     llfloaterpreference.cpp
  190.     llfloaterproperties.cpp
  191.     llfloaterregioninfo.cpp
  192.     llfloaterreporter.cpp
  193.     llfloaterscriptdebug.cpp
  194.     llfloaterscriptlimits.cpp
  195.     llfloatersearch.cpp
  196.     llfloatersellland.cpp
  197.     llfloatersettingsdebug.cpp
  198.     llfloatersnapshot.cpp
  199.     llfloatertelehub.cpp
  200.     llfloatertestinspectors.cpp
  201.     llfloatertestlistview.cpp
  202.     llfloatertools.cpp
  203.     llfloatertopobjects.cpp
  204.     llfloatertos.cpp
  205.     llfloateruipreview.cpp
  206.     llfloaterurldisplay.cpp
  207.     llfloaterurlentry.cpp
  208.     llfloatervoicedevicesettings.cpp
  209.     llfloaterwater.cpp
  210.     llfloaterwhitelistentry.cpp
  211.     llfloaterwindlight.cpp
  212.     llfloaterwindowsize.cpp
  213.     llfloaterworldmap.cpp
  214.     llfolderview.cpp
  215.     llfolderviewitem.cpp
  216.     llfollowcam.cpp
  217.     llfriendcard.cpp
  218.     llgesturemgr.cpp
  219.     llglsandbox.cpp
  220.     llgroupactions.cpp
  221.     llgroupiconctrl.cpp
  222.     llgrouplist.cpp
  223.     llgroupmgr.cpp
  224.     llhomelocationresponder.cpp
  225.     llhudeffect.cpp
  226.     llhudeffectbeam.cpp
  227.     llhudeffectlookat.cpp
  228.     llhudeffectpointat.cpp
  229.     llhudeffecttrail.cpp
  230.     llhudicon.cpp
  231.     llhudmanager.cpp
  232.     llhudobject.cpp
  233.     llhudrender.cpp
  234.     llhudtext.cpp
  235.     llhudview.cpp
  236.     llimfloater.cpp
  237.     llimfloatercontainer.cpp
  238.     llimhandler.cpp
  239.     llimview.cpp
  240.     llinspect.cpp
  241.     llinspectavatar.cpp
  242.     llinspectgroup.cpp
  243.     llinspectobject.cpp
  244.     llinspectremoteobject.cpp
  245.     llinspecttoast.cpp
  246.     llinventorybridge.cpp
  247.     llinventoryclipboard.cpp
  248.     llinventoryfilter.cpp
  249.     llinventoryfunctions.cpp
  250.     llinventorymodel.cpp
  251.     llinventoryobserver.cpp
  252.     llinventorypanel.cpp
  253.     lljoystickbutton.cpp
  254.     lllandmarkactions.cpp
  255.     lllandmarklist.cpp
  256.     lllistbrowser.cpp
  257.     lllistview.cpp
  258.     lllocaltextureobject.cpp
  259.     lllocationhistory.cpp
  260.     lllocationinputctrl.cpp
  261.     lllogchat.cpp
  262.     llloginhandler.cpp
  263.     lllogininstance.cpp
  264.     llmanip.cpp
  265.     llmaniprotate.cpp
  266.     llmanipscale.cpp
  267.     llmaniptranslate.cpp
  268.     llmediactrl.cpp
  269.     llmediadataclient.cpp
  270.     llmemoryview.cpp
  271.     llmenucommands.cpp
  272.     llmetricperformancetester.cpp
  273.     llmimetypes.cpp
  274.     llmorphview.cpp
  275.     llmoveview.cpp
  276.     llmutelist.cpp
  277.     llnamebox.cpp
  278.     llnameeditor.cpp
  279.     llnamelistctrl.cpp
  280.     llnavigationbar.cpp
  281.     llnearbychat.cpp
  282.     llnearbychatbar.cpp
  283.     llnearbychathandler.cpp
  284.     llnetmap.cpp
  285.     llnotificationalerthandler.cpp
  286.     llnotificationgrouphandler.cpp
  287.     llnotificationhandlerutil.cpp
  288.     llnotificationmanager.cpp
  289.     llnotificationofferhandler.cpp
  290.     llnotificationscripthandler.cpp
  291.     llnotificationtiphandler.cpp
  292.     lloutputmonitorctrl.cpp
  293.     llpanelavatar.cpp
  294.     llpanelavatartag.cpp
  295.     llpanelblockedlist.cpp
  296.     llpanelclassified.cpp
  297.     llpanelcontents.cpp
  298.     llpaneleditwearable.cpp
  299.     llpanelface.cpp
  300.     llpanelgroup.cpp
  301.     llpanelgroupgeneral.cpp
  302.     llpanelgroupinvite.cpp
  303.     llpanelgrouplandmoney.cpp
  304.     llpanelgroupnotices.cpp
  305.     llpanelgrouproles.cpp
  306.     llpanelhome.cpp
  307.     llpanelimcontrolpanel.cpp
  308.     llpanelland.cpp
  309.     llpanellandaudio.cpp
  310.     llpanellandmarkinfo.cpp
  311.     llpanellandmarks.cpp
  312.     llpanellandmedia.cpp
  313.     llpanellogin.cpp
  314.     llpanelloginlistener.cpp
  315.     llpanellookinfo.cpp
  316.     llpanelmaininventory.cpp
  317.     llpanelmediasettingsgeneral.cpp
  318.     llpanelmediasettingspermissions.cpp
  319.     llpanelmediasettingssecurity.cpp
  320.     llpanelme.cpp
  321.     llpanelnearbymedia.cpp
  322.     llpanelobject.cpp
  323.     llpanelobjectinventory.cpp
  324.     llpaneloutfitsinventory.cpp
  325.     llpanelpeople.cpp
  326.     llpanelpeoplemenus.cpp
  327.     llpanelpermissions.cpp
  328.     llpanelpick.cpp
  329.     llpanelpicks.cpp
  330.     llpanelplace.cpp
  331.     llpanelplaceinfo.cpp
  332.     llpanelplaceprofile.cpp
  333.     llpanelplaces.cpp
  334.     llpanelplacestab.cpp
  335.     llpanelprimmediacontrols.cpp
  336.     llpanelprofile.cpp
  337.     llpanelprofileview.cpp
  338.     llpanelteleporthistory.cpp
  339.     llpanelvolume.cpp
  340.     llpanelvolumepulldown.cpp
  341.     llparcelselection.cpp
  342.     llparticipantlist.cpp
  343.     llpatchvertexarray.cpp
  344.     llplacesinventorybridge.cpp
  345.     llplacesinventorypanel.cpp
  346.     llpolymesh.cpp
  347.     llpolymorph.cpp
  348.     llpreview.cpp
  349.     llpreviewanim.cpp
  350.     llpreviewgesture.cpp
  351.     llpreviewnotecard.cpp
  352.     llpreviewscript.cpp
  353.     llpreviewsound.cpp
  354.     llpreviewtexture.cpp
  355.     llproductinforequest.cpp
  356.     llprogressview.cpp
  357.     llrecentpeople.cpp
  358.     llregionposition.cpp
  359.     llremoteparcelrequest.cpp
  360.     llsavedsettingsglue.cpp
  361.     llscreenchannel.cpp
  362.     llscriptfloater.cpp
  363.     llscrollingpanelparam.cpp
  364.     llsearchcombobox.cpp
  365.     llsearchhistory.cpp
  366.     llselectmgr.cpp
  367.     llsidepanelappearance.cpp
  368.     llsidepanelinventory.cpp
  369.     llsidepanelinventorysubpanel.cpp
  370.     llsidepaneliteminfo.cpp
  371.     llsidepaneltaskinfo.cpp
  372.     llsidetray.cpp
  373.     llsidetraypanelcontainer.cpp
  374.     llsky.cpp
  375.     llslurl.cpp
  376.     llspatialpartition.cpp
  377.     llspeakbutton.cpp
  378.     llspeakers.cpp
  379.     llspeakingindicatormanager.cpp
  380.     llsplitbutton.cpp
  381.     llsprite.cpp
  382.     llstartup.cpp
  383.     llstartuplistener.cpp
  384.     llstatusbar.cpp
  385.     llstylemap.cpp
  386.     llsurface.cpp
  387.     llsurfacepatch.cpp
  388.     llsyswellitem.cpp
  389.     llsyswellwindow.cpp
  390.     llteleporthistory.cpp
  391.     llteleporthistorystorage.cpp
  392.     lltexglobalcolor.cpp
  393.     lltexlayer.cpp
  394.     lltexlayerparams.cpp
  395.     lltextureatlas.cpp
  396.     lltextureatlasmanager.cpp
  397.     lltexturecache.cpp
  398.     lltexturectrl.cpp
  399.     lltexturefetch.cpp
  400.     lltextureinfo.cpp
  401.     lltextureinfodetails.cpp
  402.     lltexturestats.cpp
  403.     lltexturestatsuploader.cpp
  404.     lltextureview.cpp
  405.     lltextutil.cpp
  406.     lltoast.cpp
  407.     lltoastalertpanel.cpp
  408.     lltoastgroupnotifypanel.cpp
  409.     lltoastimpanel.cpp
  410.     lltoastnotifypanel.cpp
  411.     lltoastpanel.cpp
  412.     lltool.cpp
  413.     lltoolbrush.cpp
  414.     lltoolcomp.cpp
  415.     lltooldraganddrop.cpp
  416.     lltoolface.cpp
  417.     lltoolfocus.cpp
  418.     lltoolgrab.cpp
  419.     lltoolgun.cpp
  420.     lltoolindividual.cpp
  421.     lltoolmgr.cpp
  422.     lltoolmorph.cpp
  423.     lltoolobjpicker.cpp
  424.     lltoolpie.cpp
  425.     lltoolpipette.cpp
  426.     lltoolplacer.cpp
  427.     lltoolselect.cpp
  428.     lltoolselectland.cpp
  429.     lltoolselectrect.cpp
  430.     lltracker.cpp
  431.     lltransientdockablefloater.cpp
  432.     lltransientfloatermgr.cpp
  433.     lluilistener.cpp
  434.     lluploaddialog.cpp
  435.     llurl.cpp
  436.     llurldispatcher.cpp
  437.     llurldispatcherlistener.cpp
  438.     llurlhistory.cpp
  439.     llurllineeditorctrl.cpp
  440.     llurlsimstring.cpp
  441.     llurlwhitelist.cpp
  442.     llvectorperfoptions.cpp
  443.     llversioninfo.cpp
  444.     llviewchildren.cpp
  445.     llviewerassetstorage.cpp
  446.     llviewerassettype.cpp
  447.     llvieweraudio.cpp
  448.     llviewercamera.cpp
  449.     llviewerchat.cpp
  450.     llviewercontrol.cpp
  451.     llviewercontrollistener.cpp
  452.     llviewerdisplay.cpp
  453.     llviewerfloaterreg.cpp
  454.     llviewerfoldertype.cpp
  455.     llviewergenericmessage.cpp
  456.     llviewergesture.cpp    
  457.     llviewerhelp.cpp
  458.     llviewerhelputil.cpp
  459.     llviewerhome.cpp
  460.     llviewerinventory.cpp
  461.     llviewerjoint.cpp
  462.     llviewerjointattachment.cpp
  463.     llviewerjointmesh.cpp
  464.     llviewerjointmesh_sse.cpp
  465.     llviewerjointmesh_sse2.cpp
  466.     llviewerjointmesh_vec.cpp
  467.     llviewerjoystick.cpp
  468.     llviewerkeyboard.cpp
  469.     llviewerlayer.cpp
  470.     llviewermedia.cpp
  471.     llviewermedia_streamingaudio.cpp
  472.     llviewermediafocus.cpp
  473.     llviewermenu.cpp
  474.     llviewermenufile.cpp
  475.     llviewermessage.cpp
  476.     llviewernetwork.cpp
  477.     llviewerobject.cpp
  478.     llviewerobjectlist.cpp
  479.     llviewerparcelmedia.cpp
  480.     llviewerparcelmediaautoplay.cpp
  481.     llviewerparcelmgr.cpp
  482.     llviewerparceloverlay.cpp
  483.     llviewerpartsim.cpp
  484.     llviewerpartsource.cpp
  485.     llviewerregion.cpp
  486.     llviewershadermgr.cpp
  487.     llviewerstats.cpp
  488.     llviewertexteditor.cpp
  489.     llviewertexture.cpp
  490.     llviewertextureanim.cpp
  491.     llviewertexturelist.cpp
  492.     llviewerthrottle.cpp
  493.     llviewervisualparam.cpp
  494.     llviewerwindow.cpp
  495.     llviewerwindowlistener.cpp
  496.     llvlcomposition.cpp
  497.     llvlmanager.cpp
  498.     llvoavatar.cpp
  499.     llvoavatardefines.cpp
  500.     llvoavatarself.cpp
  501.     llvocache.cpp
  502.     llvoclouds.cpp
  503.     llvograss.cpp
  504.     llvoground.cpp
  505.     llvoicechannel.cpp
  506.     llvoiceclient.cpp
  507.     llvoicevisualizer.cpp
  508.     llvoinventorylistener.cpp
  509.     llvopartgroup.cpp
  510.     llvosky.cpp
  511.     llvosurfacepatch.cpp
  512.     llvotextbubble.cpp
  513.     llvotree.cpp
  514.     llvovolume.cpp
  515.     llvowater.cpp
  516.     llvowlsky.cpp
  517.     llwatchdog.cpp
  518.     llwaterparammanager.cpp
  519.     llwaterparamset.cpp
  520.     llwearable.cpp
  521.     llwearabledictionary.cpp
  522.     llwearablelist.cpp
  523.     llweb.cpp
  524.     llwind.cpp
  525.     llwlanimator.cpp
  526.     llwldaycycle.cpp
  527.     llwlparammanager.cpp
  528.     llwlparamset.cpp
  529.     llworld.cpp
  530.     llworldmap.cpp
  531.     llworldmapmessage.cpp
  532.     llworldmipmap.cpp
  533.     llworldmapview.cpp
  534.     llxmlrpclistener.cpp
  535.     llxmlrpctransaction.cpp
  536.     noise.cpp
  537.     pipeline.cpp
  538.     )
  539. set(VIEWER_BINARY_NAME "secondlife-bin" CACHE STRING
  540.     "The name of the viewer executable to create.")
  541. if (LINUX)
  542.   # We can't set these flags for Darwin, because they get passed to
  543.   # the PPC compiler.  Ugh.
  544.   set_source_files_properties(
  545.       llviewerjointmesh_sse.cpp
  546.       PROPERTIES COMPILE_FLAGS "-msse -mfpmath=sse"
  547.       )
  548.   set_source_files_properties(
  549.       llviewerjointmesh_sse2.cpp
  550.       PROPERTIES COMPILE_FLAGS "-msse2 -mfpmath=sse"
  551.       )
  552. endif (LINUX)
  553. set(viewer_HEADER_FILES
  554.     CMakeLists.txt
  555.     ViewerInstall.cmake
  556.     llagent.h
  557.     llagentaccess.h
  558.     llagentdata.h
  559.     llagentlanguage.h
  560.     llagentlistener.h
  561.     llagentpicksinfo.h
  562.     llagentpilot.h
  563.     llagentui.h
  564.     llagentwearables.h
  565.     llanimstatelabels.h
  566.     llappearance.h
  567.     llappearancemgr.h
  568.     llappviewer.h
  569.     llappviewerlistener.h
  570.     llassetuploadqueue.h
  571.     llassetuploadresponders.h
  572.     llaudiosourcevo.h
  573.     llavataractions.h
  574.     llavatariconctrl.h
  575.     llavatarlist.h
  576.     llavatarlistitem.h
  577.     llavatarpropertiesprocessor.h
  578.     llbottomtray.h
  579.     llbox.h
  580.     llbreadcrumbview.h
  581.     llcallbacklist.h
  582.     llcallfloater.h
  583.     llcallingcard.h
  584.     llcapabilitylistener.h
  585.     llcapabilityprovider.h
  586.     llcaphttpsender.h
  587.     llchannelmanager.h
  588.     llchatbar.h
  589.     llchathistory.h
  590.     llchatitemscontainerctrl.h
  591.     llchatmsgbox.h
  592.     llchiclet.h
  593.     llclassifiedinfo.h
  594.     llclassifiedstatsresponder.h
  595.     llcloud.h
  596.     llcolorswatch.h
  597.     llcommanddispatcherlistener.h
  598.     llcommandhandler.h
  599.     llcommandlineparser.h
  600.     llcompilequeue.h
  601.     llconfirmationmanager.h
  602.     llcurrencyuimanager.h
  603.     llcylinder.h
  604.     lldateutil.h
  605.     lldebugmessagebox.h
  606.     lldebugview.h
  607.     lldelayedgestureerror.h
  608.     lldirpicker.h
  609.     lldndbutton.h
  610.     lldrawable.h
  611.     lldrawpool.h
  612.     lldrawpoolalpha.h
  613.     lldrawpoolavatar.h
  614.     lldrawpoolbump.h
  615.     lldrawpoolclouds.h
  616.     lldrawpoolground.h
  617.     lldrawpoolsimple.h
  618.     lldrawpoolsky.h
  619.     lldrawpoolterrain.h
  620.     lldrawpooltree.h
  621.     lldrawpoolwater.h
  622.     lldrawpoolwlsky.h
  623.     lldriverparam.h
  624.     lldynamictexture.h
  625.     llemote.h
  626.     lleventinfo.h
  627.     lleventnotifier.h
  628.     lleventpoll.h
  629.     llexpandabletextbox.h
  630.     llface.h
  631.     llfasttimerview.h
  632.     llfavoritesbar.h
  633.     llfeaturemanager.h
  634.     llfilepicker.h
  635.     llfirstuse.h
  636.     llflexibleobject.h
  637.     llfloaterabout.h
  638.     llfloateractivespeakers.h
  639.     llfloateranimpreview.h
  640.     llfloaterauction.h
  641.     llfloateravatarpicker.h
  642.     llfloateravatartextures.h
  643.     llfloaterbeacons.h
  644.     llfloaterbuildoptions.h
  645.     llfloaterbulkpermission.h
  646.     llfloaterbump.h
  647.     llfloaterbuy.h
  648.     llfloaterbuycontents.h
  649.     llfloaterbuycurrency.h
  650.     llfloaterbuyland.h
  651.     llfloatercamera.h
  652.     llfloatercolorpicker.h
  653.     llfloatercustomize.h
  654.     llfloaterdaycycle.h
  655.     llfloaterenvsettings.h
  656.     llfloaterevent.h
  657.     llfloaterfonttest.h
  658.     llfloatergesture.h
  659.     llfloatergodtools.h
  660.     llfloatergroupinvite.h
  661.     llfloatergroups.h
  662.     llfloaterhandler.h
  663.     llfloaterhardwaresettings.h
  664.     llfloaterhelpbrowser.h
  665.     llfloaterhud.h
  666.     llfloaterimagepreview.h
  667.     llfloaterinspect.h
  668.     llfloaterinventory.h
  669.     llfloaterjoystick.h
  670.     llfloaterlagmeter.h
  671.     llfloaterland.h
  672.     llfloaterlandholdings.h
  673.     llfloatermap.h
  674.     llfloatermediabrowser.h
  675.     llfloatermediasettings.h
  676.     llfloatermemleak.h
  677.     llfloaternamedesc.h
  678.     llfloaternotificationsconsole.h
  679.     llfloateropenobject.h
  680.     llfloaterparcel.h
  681.     llfloaterpay.h
  682.     llfloaterperms.h
  683.     llfloaterpostcard.h
  684.     llfloaterpostprocess.h
  685.     llfloaterpreference.h
  686.     llfloaterproperties.h
  687.     llfloaterregioninfo.h
  688.     llfloaterreporter.h
  689.     llfloaterscriptdebug.h
  690.     llfloaterscriptlimits.h
  691.     llfloatersearch.h
  692.     llfloatersellland.h
  693.     llfloatersettingsdebug.h
  694.     llfloatersnapshot.h
  695.     llfloatertelehub.h
  696.     llfloatertestinspectors.h
  697.     llfloatertestlistview.h
  698.     llfloatertools.h
  699.     llfloatertopobjects.h
  700.     llfloatertos.h
  701.     llfloateruipreview.h
  702.     llfloaterurldisplay.h
  703.     llfloaterurlentry.h
  704.     llfloatervoicedevicesettings.h
  705.     llfloaterwater.h
  706.     llfloaterwhitelistentry.h
  707.     llfloaterwindlight.h
  708.     llfloaterwindowsize.h
  709.     llfloaterworldmap.h
  710.     llfolderview.h
  711.     llfoldervieweventlistener.h
  712.     llfolderviewitem.h
  713.     llfollowcam.h
  714.     llfriendcard.h
  715.     llgesturemgr.h
  716.     llgroupactions.h
  717.     llgroupiconctrl.h
  718.     llgrouplist.h
  719.     llgroupmgr.h
  720.     llhomelocationresponder.h
  721.     llhudeffect.h
  722.     llhudeffectbeam.h
  723.     llhudeffectlookat.h
  724.     llhudeffectpointat.h
  725.     llhudeffecttrail.h
  726.     llhudicon.h
  727.     llhudmanager.h
  728.     llhudobject.h
  729.     llhudrender.h
  730.     llhudtext.h
  731.     llhudview.h
  732.     llimfloater.h
  733.     llimfloatercontainer.h
  734.     llimview.h
  735.     llinspect.h
  736.     llinspectavatar.h
  737.     llinspectgroup.h
  738.     llinspectobject.h
  739.     llinspectremoteobject.h
  740.     llinspecttoast.h
  741.     llinventorybridge.h
  742.     llinventoryclipboard.h
  743.     llinventoryfilter.h
  744.     llinventoryfunctions.h
  745.     llinventorymodel.h
  746.     llinventoryobserver.h
  747.     llinventorypanel.h
  748.     lljoystickbutton.h
  749.     lllandmarkactions.h
  750.     lllandmarklist.h
  751.     lllightconstants.h
  752.     lllistbrowser.h
  753.     lllistview.h
  754.     lllocaltextureobject.h
  755.     lllocationhistory.h
  756.     lllocationinputctrl.h
  757.     lllogchat.h
  758.     llloginhandler.h
  759.     lllogininstance.h
  760.     llmanip.h
  761.     llmaniprotate.h
  762.     llmanipscale.h
  763.     llmaniptranslate.h
  764.     llmediactrl.h
  765.     llmediadataclient.h
  766.     llmemoryview.h
  767.     llmenucommands.h
  768.     llmetricperformancetester.h
  769.     llmimetypes.h
  770.     llmorphview.h
  771.     llmoveview.h
  772.     llmutelist.h
  773.     llnamebox.h
  774.     llnameeditor.h
  775.     llnamelistctrl.h
  776.     llnavigationbar.h
  777.     llnearbychat.h
  778.     llnearbychatbar.h
  779.     llnearbychathandler.h
  780.     llnetmap.h
  781.     llnotificationhandler.h
  782.     llnotificationmanager.h
  783.     lloutputmonitorctrl.h
  784.     llpanelavatar.h
  785.     llpanelavatartag.h
  786.     llpanelblockedlist.h
  787.     llpanelclassified.h
  788.     llpanelcontents.h
  789.     llpaneleditwearable.h
  790.     llpanelface.h
  791.     llpanelgroup.h
  792.     llpanelgroupgeneral.h
  793.     llpanelgroupinvite.h
  794.     llpanelgrouplandmoney.h
  795.     llpanelgroupnotices.h
  796.     llpanelgrouproles.h
  797.     llpanelhome.h
  798.     llpanelimcontrolpanel.h
  799.     llpanelland.h
  800.     llpanellandaudio.h
  801.     llpanellandmarkinfo.h
  802.     llpanellandmarks.h
  803.     llpanellandmedia.h
  804.     llpanellogin.h
  805.     llpanelloginlistener.h
  806.     llpanellookinfo.h
  807.     llpanelmaininventory.h
  808.     llpanelmediasettingsgeneral.h
  809.     llpanelmediasettingspermissions.h
  810.     llpanelmediasettingssecurity.h
  811.     llpanelme.h
  812.     llpanelnearbymedia.h
  813.     llpanelobject.h
  814.     llpanelobjectinventory.h
  815.     llpaneloutfitsinventory.h
  816.     llpanelpeople.h
  817.     llpanelpeoplemenus.h
  818.     llpanelpermissions.h
  819.     llpanelpick.h
  820.     llpanelpicks.h
  821.     llpanelplace.h
  822.     llpanelplaceinfo.h
  823.     llpanelplaceprofile.h
  824.     llpanelplaces.h
  825.     llpanelplacestab.h
  826.     llpanelprimmediacontrols.h
  827.     llpanelprofile.h
  828.     llpanelprofileview.h
  829.     llpanelteleporthistory.h
  830.     llpanelvolume.h
  831.     llpanelvolumepulldown.h
  832.     llparcelselection.h
  833.     llparticipantlist.h
  834.     llpatchvertexarray.h
  835.     llplacesinventorybridge.h
  836.     llplacesinventorypanel.h
  837.     llpolymesh.h
  838.     llpolymorph.h
  839.     llpreview.h
  840.     llpreviewanim.h
  841.     llpreviewgesture.h
  842.     llpreviewnotecard.h
  843.     llpreviewscript.h
  844.     llpreviewsound.h
  845.     llpreviewtexture.h
  846.     llproductinforequest.h
  847.     llprogressview.h
  848.     llrecentpeople.h
  849.     llregionposition.h
  850.     llremoteparcelrequest.h
  851.     llresourcedata.h
  852.     llrootview.h
  853.     llsavedsettingsglue.h
  854.     llscreenchannel.h
  855.     llscriptfloater.h
  856.     llscrollingpanelparam.h
  857.     llsearchcombobox.h
  858.     llsearchhistory.h
  859.     llselectmgr.h
  860.     llsidepanelappearance.h
  861.     llsidepanelinventory.h
  862.     llsidepanelinventorysubpanel.h
  863.     llsidepaneliteminfo.h
  864.     llsidepaneltaskinfo.h
  865.     llsidetray.h
  866.     llsidetraypanelcontainer.h
  867.     llsky.h
  868.     llslurl.h
  869.     llspatialpartition.h
  870.     llspeakbutton.h
  871.     llspeakers.h
  872.     llspeakingindicatormanager.h
  873.     llsplitbutton.h
  874.     llsprite.h
  875.     llstartup.h
  876.     llstartuplistener.h
  877.     llstatusbar.h
  878.     llstylemap.h
  879.     llsurface.h
  880.     llsurfacepatch.h
  881.     llsyswellitem.h
  882.     llsyswellwindow.h    
  883.     lltable.h
  884.     llteleporthistory.h
  885.     llteleporthistorystorage.h
  886.     lltexglobalcolor.h
  887.     lltexlayer.h
  888.     lltexlayerparams.h
  889.     lltextureatlas.h
  890.     lltextureatlasmanager.h
  891.     lltexturecache.h
  892.     lltexturectrl.h
  893.     lltexturefetch.h
  894.     lltextureinfo.h
  895.     lltextureinfodetails.h
  896.     lltexturestats.h
  897.     lltexturestatsuploader.h
  898.     lltextureview.h
  899.     lltextutil.h
  900.     lltoast.h
  901.     lltoastalertpanel.h
  902.     lltoastgroupnotifypanel.h
  903.     lltoastimpanel.h
  904.     lltoastnotifypanel.h
  905.     lltoastpanel.h
  906.     lltool.h
  907.     lltoolbrush.h
  908.     lltoolcomp.h
  909.     lltooldraganddrop.h
  910.     lltoolface.h
  911.     lltoolfocus.h
  912.     lltoolgrab.h
  913.     lltoolgun.h
  914.     lltoolindividual.h
  915.     lltoolmgr.h
  916.     lltoolmorph.h
  917.     lltoolobjpicker.h
  918.     lltoolpie.h
  919.     lltoolpipette.h
  920.     lltoolplacer.h
  921.     lltoolselect.h
  922.     lltoolselectland.h
  923.     lltoolselectrect.h
  924.     lltracker.h
  925.     lltransientdockablefloater.h
  926.     lltransientfloatermgr.h
  927.     lluiconstants.h
  928.     lluilistener.h
  929.     lluploaddialog.h
  930.     llurl.h
  931.     llurldispatcher.h
  932.     llurldispatcherlistener.h
  933.     llurlhistory.h
  934.     llurllineeditorctrl.h
  935.     llurlsimstring.h
  936.     llurlwhitelist.h
  937.     llvectorperfoptions.h
  938.     llversioninfo.h
  939.     llviewchildren.h
  940.     llviewerassetstorage.h
  941.     llviewerassettype.h
  942.     llvieweraudio.h
  943.     llviewercamera.h
  944.     llviewerchat.h
  945.     llviewercontrol.h
  946.     llviewercontrollistener.h
  947.     llviewerdisplay.h
  948.     llviewerfloaterreg.h
  949.     llviewerfoldertype.h
  950.     llviewergenericmessage.h
  951.     llviewergesture.h    
  952.     llviewerhelp.h
  953.     llviewerhome.h
  954.     llviewerinventory.h
  955.     llviewerjoint.h
  956.     llviewerjointattachment.h
  957.     llviewerjointmesh.h
  958.     llviewerjoystick.h
  959.     llviewerkeyboard.h
  960.     llviewerlayer.h
  961.     llviewermedia.h
  962.     llviewermediafocus.h
  963.     llviewermediaobserver.h
  964.     llviewermenu.h
  965.     llviewermenufile.h
  966.     llviewermessage.h
  967.     llviewernetwork.h
  968.     llviewerobject.h
  969.     llviewerobjectlist.h
  970.     llviewerparcelmedia.h
  971.     llviewerparcelmediaautoplay.h
  972.     llviewerparcelmgr.h
  973.     llviewerparceloverlay.h
  974.     llviewerpartsim.h
  975.     llviewerpartsource.h
  976.     llviewerprecompiledheaders.h
  977.     llviewerregion.h
  978.     llviewershadermgr.h
  979.     llviewerstats.h
  980.     llviewertexteditor.h
  981.     llviewertexture.h
  982.     llviewertextureanim.h
  983.     llviewertexturelist.h
  984.     llviewerthrottle.h
  985.     llviewervisualparam.h
  986.     llviewerwindow.h
  987.     llviewerwindowlistener.h
  988.     llvlcomposition.h
  989.     llvlmanager.h
  990.     llvoavatar.h
  991.     llvoavatardefines.h
  992.     llvoavatarself.h
  993.     llvocache.h
  994.     llvoclouds.h
  995.     llvograss.h
  996.     llvoground.h
  997.     llvoicechannel.h
  998.     llvoiceclient.h
  999.     llvoicevisualizer.h
  1000.     llvoinventorylistener.h
  1001.     llvopartgroup.h
  1002.     llvosky.h
  1003.     llvosurfacepatch.h
  1004.     llvotextbubble.h
  1005.     llvotree.h
  1006.     llvotreenew.h
  1007.     llvovolume.h
  1008.     llvowater.h
  1009.     llvowlsky.h
  1010.     llwatchdog.h
  1011.     llwaterparammanager.h
  1012.     llwaterparamset.h
  1013.     llwearable.h
  1014.     llwearabledictionary.h
  1015.     llwearablelist.h
  1016.     llweb.h
  1017.     llwind.h
  1018.     llwindebug.h
  1019.     llwlanimator.h
  1020.     llwldaycycle.h
  1021.     llwlparammanager.h
  1022.     llwlparamset.h
  1023.     llworld.h
  1024.     llworldmap.h
  1025.     llworldmapmessage.h
  1026.     llworldmipmap.h
  1027.     llworldmapview.h
  1028.     llxmlrpclistener.h
  1029.     llxmlrpctransaction.h
  1030.     macmain.h
  1031.     noise.h
  1032.     pipeline.h
  1033.     VertexCache.h
  1034.     VorbisFramework.h
  1035.     )
  1036. source_group("CMake Rules" FILES ViewerInstall.cmake)
  1037. if (DARWIN)
  1038.   LIST(APPEND viewer_SOURCE_FILES llappviewermacosx.cpp)
  1039.   find_library(AGL_LIBRARY AGL)
  1040.   find_library(APPKIT_LIBRARY AppKit)
  1041.   find_library(COCOA_LIBRARY Cocoa)
  1042.   find_library(IOKIT_LIBRARY IOKit)
  1043.   find_library(COREAUDIO_LIBRARY CoreAudio)
  1044.   set(viewer_LIBRARIES
  1045.     ${COCOA_LIBRARY}
  1046.     ${AGL_LIBRARY}
  1047.     ${IOKIT_LIBRARY}
  1048.     ${COREAUDIO_LIBRARY}
  1049.     )
  1050.   # Add resource files to the project.
  1051.   set(viewer_RESOURCE_FILES
  1052.     ${VIEWER_BRANDING_ID}.icns
  1053.     macview.r
  1054.     gpu_table.txt
  1055.     Info-${VIEWER_BRANDING_NAME_CAMELCASE}.plist
  1056.     SecondLife.nib/
  1057.     # CMake doesn't seem to support Xcode language variants well just yet
  1058.     English.lproj/InfoPlist.strings
  1059.     English.lproj/language.txt
  1060.     German.lproj/language.txt
  1061.     Japanese.lproj/language.txt
  1062.     Korean.lproj/language.txt
  1063.     )
  1064.   set_source_files_properties(
  1065.     ${viewer_RESOURCE_FILES}
  1066.     PROPERTIES
  1067.     HEADER_FILE_ONLY TRUE
  1068.     #MACOSX_PACKAGE_LOCATION Resources #don't do this! this tells cmake to copy the files.
  1069.     )
  1070.   SOURCE_GROUP("Resources" FILES ${viewer_RESOURCE_FILES})
  1071.   list(APPEND viewer_SOURCE_FILES ${viewer_RESOURCE_FILES})
  1072. endif (DARWIN)
  1073. if (LINUX)
  1074.     LIST(APPEND viewer_SOURCE_FILES llappviewerlinux.cpp)
  1075.     LIST(APPEND viewer_SOURCE_FILES llappviewerlinux_api_dbus.cpp)
  1076.     SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed")
  1077.     set(viewer_LIBRARIES
  1078.         Xinerama
  1079.         )
  1080. endif (LINUX)
  1081. if (WINDOWS)
  1082.     list(APPEND viewer_SOURCE_FILES
  1083.          llappviewerwin32.cpp
  1084.          llwindebug.cpp
  1085.          )
  1086.     list(APPEND viewer_HEADER_FILES
  1087.          llappviewerwin32.h
  1088.          llwindebug.h
  1089.          )
  1090.     # precompiled header configuration
  1091.     # llviewerprecompiledheaders.cpp generates
  1092.     # the .pch file.
  1093.     # All sources added to viewer_SOURCE_FILES 
  1094.     # at this point use it.
  1095.     if(USE_PRECOMPILED_HEADERS)
  1096.         set_source_files_properties(llviewerprecompiledheaders.cpp
  1097.             PROPERTIES
  1098.             COMPILE_FLAGS "/Ycllviewerprecompiledheaders.h"
  1099.             )
  1100.         set(viewer_SOURCE_FILES "${viewer_SOURCE_FILES}" llviewerprecompiledheaders.cpp)
  1101.     endif(USE_PRECOMPILED_HEADERS)
  1102.     
  1103.     # Add resource files to the project.
  1104.     # viewerRes.rc is the only buildable file, but
  1105.     # the rest are all dependencies of it.
  1106.     set(viewer_RESOURCE_FILES
  1107.         res/arrow.cur
  1108.         res/arrowcop.cur
  1109.         res/arrowcopmulti.cur
  1110.         res/arrowdrag.cur
  1111.         res/circleandline.cur
  1112.         res/icon1.ico
  1113.         res/llarrow.cur
  1114.         res/llarrowdrag.cur
  1115.         res/llarrowdragmulti.cur
  1116.         res/llarrowlocked.cur
  1117.         res/llgrablocked.cur
  1118.         res/llno.cur
  1119.         res/llnolocked.cur
  1120.         res/lltoolcamera.cur
  1121.         res/lltoolcreate.cur
  1122.         res/lltoolfocus.cur
  1123.         res/lltoolgrab.cur
  1124.         res/lltoolland.cur
  1125.         res/lltoolpan.cur
  1126.         res/lltoolpipette.cur
  1127.         res/lltoolrotate.cur
  1128.         res/lltoolscale.cur
  1129.         res/lltooltranslate.cur
  1130.         res/lltoolzoomin.cur
  1131.         res/lltoolzoomout.cur
  1132.         res/snowglobe_icon.BMP
  1133.         res/snowglobe_icon.ico
  1134.         res/resource.h
  1135.         res/toolpickobject.cur
  1136.         res/toolpickobject2.cur
  1137.         res/toolpickobject3.cur
  1138.         res/toolpipette.cur
  1139.         )
  1140.     set_source_files_properties(${viewer_RESOURCE_FILES}
  1141.                                 PROPERTIES HEADER_FILE_ONLY TRUE)
  1142.     set(viewer_RESOURCE_FILES 
  1143.         res/viewerRes.rc 
  1144.         ${viewer_RESOURCE_FILES}
  1145.         )
  1146.     SOURCE_GROUP("Resource Files" FILES ${viewer_RESOURCE_FILES})
  1147.     if (NOT STANDALONE)
  1148.         list(APPEND viewer_SOURCE_FILES ${viewer_RESOURCE_FILES})
  1149.     endif (NOT STANDALONE)      
  1150.     find_library(DINPUT_LIBRARY dinput8 ${DIRECTX_LIBRARY_DIR})
  1151.     find_library(DXGUID_LIBRARY dxguid ${DIRECTX_LIBRARY_DIR})
  1152.     mark_as_advanced(
  1153.         DINPUT_LIBRARY
  1154.         DXGUID_LIBRARY
  1155.         )
  1156.     set(viewer_LIBRARIES
  1157.         ${WINDOWS_LIBRARIES}
  1158.         comdlg32
  1159.         ${DINPUT_LIBRARY}
  1160.         ${DXGUID_LIBRARY}
  1161.         kernel32
  1162.         odbc32
  1163.         odbccp32
  1164.         ole32
  1165.         oleaut32
  1166.         opengl32
  1167.         shell32
  1168.         Vfw32
  1169.         winspool
  1170.         )
  1171.     find_library(INTEL_MEMOPS_LIBRARY
  1172.                  NAMES ll_intel_memops
  1173.                  PATHS
  1174.                  optimized ${ARCH_PREBUILT_DIRS_RELEASE}
  1175.                  debug ${ARCH_PREBUILT_DIRS_DEBUG}
  1176.                  )
  1177.     mark_as_advanced(INTEL_MEMOPS_LIBRARY)
  1178.     if (INTEL_MEMOPS_LIBRARY)
  1179.       list(APPEND viewer_LIBRARIES ${INTEL_MEMOPS_LIBRARY})
  1180.     endif (INTEL_MEMOPS_LIBRARY)
  1181.     use_prebuilt_binary(dbghelp)
  1182. endif (WINDOWS)
  1183. # Add the xui files. This is handy for searching for xui elements
  1184. # from within the IDE.
  1185. set(viewer_XUI_FILES
  1186.     skins/default/colors.xml
  1187.     skins/default/textures/textures.xml
  1188.     )
  1189. file(GLOB DEFAULT_XUI_FILE_GLOB_LIST
  1190.      ${CMAKE_CURRENT_SOURCE_DIR}/skins/default/xui/en/*.xml)
  1191. list(APPEND viewer_XUI_FILES ${DEFAULT_XUI_FILE_GLOB_LIST})
  1192. file(GLOB DEFAULT_WIDGET_FILE_GLOB_LIST
  1193.      ${CMAKE_CURRENT_SOURCE_DIR}/skins/default/xui/en/widgets/*.xml)
  1194. list(APPEND viewer_XUI_FILES ${DEFAULT_WIDGET_FILE_GLOB_LIST})
  1195. file(GLOB SILVER_XUI_FILE_GLOB_LIST
  1196.      ${CMAKE_CURRENT_SOURCE_DIR}/skins/silver/xui/en-us/*.xml)
  1197. list(APPEND viewer_XUI_FILES ${SILVER_XUI_FILE_GLOB_LIST})
  1198. # Cannot append empty lists in CMake, wait until we have files here.
  1199. #file(GLOB SILVER_WIDGET_FILE_GLOB_LIST
  1200. #     ${CMAKE_CURRENT_SOURCE_DIR}/skins/silver/xui/en-us/widgets/*.xml)
  1201. #list(APPEND viewer_XUI_FILES ${SILVER_WIDGET_FILE_GLOB_LIST})
  1202. list(SORT viewer_XUI_FILES)
  1203. source_group("XUI Files" FILES ${viewer_XUI_FILES})
  1204. set_source_files_properties(${viewer_XUI_FILES}
  1205.                             PROPERTIES HEADER_FILE_ONLY TRUE)
  1206. list(APPEND viewer_SOURCE_FILES ${viewer_XUI_FILES})
  1207. set(viewer_APPSETTINGS_FILES
  1208.     app_settings/anim.ini
  1209.     app_settings/cmd_line.xml
  1210.     app_settings/grass.xml
  1211.     app_settings/high_graphics.xml
  1212.     app_settings/keys.ini
  1213.     app_settings/keywords.ini
  1214.     app_settings/logcontrol.xml
  1215.     app_settings/low_graphics.xml
  1216.     app_settings/mid_graphics.xml
  1217.     app_settings/settings.xml
  1218.     app_settings/settings_crash_behavior.xml
  1219.     app_settings/settings_files.xml
  1220.     app_settings/settings_per_account.xml
  1221.     app_settings/std_bump.ini
  1222.     app_settings/trees.xml
  1223.     app_settings/ultra_graphics.xml
  1224.     app_settings/viewerart.xml
  1225.     ${CMAKE_SOURCE_DIR}/../etc/message.xml
  1226.     ${CMAKE_SOURCE_DIR}/../scripts/messages/message_template.msg
  1227.     )
  1228. use_prebuilt_binary(artwork-common)
  1229. source_group("App Settings" FILES ${viewer_APPSETTINGS_FILES})
  1230. set_source_files_properties(${viewer_APPSETTINGS_FILES}
  1231.                             PROPERTIES HEADER_FILE_ONLY TRUE)
  1232. list(APPEND viewer_SOURCE_FILES ${viewer_APPSETTINGS_FILES})
  1233. set(viewer_CHARACTER_FILES
  1234.     character/attentions.xml
  1235.     character/attentionsN.xml
  1236.     character/avatar_lad.xml
  1237.     character/avatar_skeleton.xml
  1238.     character/genepool.xml
  1239.     )
  1240. source_group("Character File" FILES ${viewer_CHARACTER_FILES})
  1241. set_source_files_properties(${viewer_CHARACTER_FILES}
  1242.                             PROPERTIES HEADER_FILE_ONLY TRUE)
  1243. if (NOT STANDALONE)
  1244.     list(APPEND viewer_SOURCE_FILES ${viewer_CHARACTER_FILES})
  1245. endif (NOT STANDALONE)
  1246. if (WINDOWS)
  1247.   file(GLOB viewer_INSTALLER_FILES installers/windows/*.nsi)
  1248.   source_group("Installer Files" FILES ${viewer_INSTALLER_FILES})
  1249.   set_source_files_properties(${viewer_INSTALLER_FILES}
  1250.                               PROPERTIES HEADER_FILE_ONLY TRUE)
  1251.   list(APPEND viewer_SOURCE_FILES ${viewer_INSTALLER_FILES})
  1252. endif (WINDOWS)
  1253. if (OPENAL)
  1254.   set(LLSTARTUP_COMPILE_FLAGS "${LLSTARTUP_COMPILE_FLAGS} -DLL_OPENAL")
  1255. endif (OPENAL)
  1256. if (FMOD)
  1257.   set(LLSTARTUP_COMPILE_FLAGS "${LLSTARTUP_COMPILE_FLAGS} -DLL_FMOD")
  1258.   if (DARWIN)
  1259.     set(fmodwrapper_SOURCE_FILES fmodwrapper.cpp)
  1260.     add_library(fmodwrapper SHARED ${fmodwrapper_SOURCE_FILES})
  1261.     set(fmodwrapper_needed_LIBRARIES ${FMOD_LIBRARY} ${CARBON_LIBRARY})
  1262.     set_target_properties(
  1263.       fmodwrapper
  1264.       PROPERTIES
  1265.       BUILD_WITH_INSTALL_RPATH 1
  1266.       INSTALL_NAME_DIR "@executable_path/../Resources"
  1267.       LINK_FLAGS "-unexported_symbols_list ${CMAKE_CURRENT_SOURCE_DIR}/fmod_hidden_symbols.exp"
  1268.       )
  1269.     set(FMODWRAPPER_LIBRARY fmodwrapper)
  1270.     target_link_libraries(fmodwrapper ${fmodwrapper_needed_LIBRARIES})
  1271.   else (DARWIN)
  1272.     # fmodwrapper unnecessary on linux or windows
  1273.     set(FMODWRAPPER_LIBRARY ${FMOD_LIBRARY})
  1274.   endif (DARWIN)
  1275. endif (FMOD)
  1276. set_source_files_properties(llstartup.cpp PROPERTIES COMPILE_FLAGS "${LLSTARTUP_COMPILE_FLAGS}")
  1277. list(APPEND viewer_SOURCE_FILES ${viewer_HEADER_FILES})
  1278. set_source_files_properties(${viewer_HEADER_FILES}
  1279.                             PROPERTIES HEADER_FILE_ONLY TRUE)
  1280. add_executable(${VIEWER_BINARY_NAME}
  1281.     WIN32
  1282.     MACOSX_BUNDLE
  1283.     ${viewer_SOURCE_FILES}
  1284.     )
  1285. if (LLKDU_LIBRARY)
  1286.   add_dependencies(${VIEWER_BINARY_NAME} ${LLKDU_LIBRARY})
  1287. endif (LLKDU_LIBRARY)
  1288. # add package files
  1289. file(GLOB EVENT_HOST_SCRIPT_GLOB_LIST
  1290.      ${CMAKE_CURRENT_SOURCE_DIR}/../viewer_components/*.py)
  1291. list(APPEND EVENT_HOST_SCRIPTS ${EVENT_HOST_SCRIPT_GLOB_LIST})
  1292. set(PACKAGE ON CACHE BOOL
  1293.     "Add a package target that builds an installer package.")
  1294. if (WINDOWS)
  1295.     if(MSVC71)
  1296.         set(release_flags "/MAP:Release/${VIEWER_BINARY_NAME}.map /MAPINFO:LINES")
  1297.     else(MSVC71)
  1298.         set(release_flags "/MAP:Release/${VIEWER_BINARY_NAME}.map")
  1299.     endif(MSVC71)
  1300.     
  1301.     set_target_properties(${VIEWER_BINARY_NAME}
  1302.         PROPERTIES
  1303.         # *TODO -reenable this once we get server usage sorted out
  1304.         #LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS /INCLUDE:"__tcmalloc""
  1305.         LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS"
  1306.         LINK_FLAGS_DEBUG "/NODEFAULTLIB:"LIBCMT;LIBCMTD;MSVCRT" /INCREMENTAL:NO"
  1307.         LINK_FLAGS_RELEASE ${release_flags}
  1308.         )
  1309.     if(USE_PRECOMPILED_HEADERS)
  1310.         set_target_properties(
  1311.             ${VIEWER_BINARY_NAME}
  1312.             PROPERTIES
  1313.             COMPILE_FLAGS "/Yullviewerprecompiledheaders.h"
  1314.             )
  1315.     endif(USE_PRECOMPILED_HEADERS)
  1316.     # If adding a file to viewer_manifest.py in the WindowsManifest.construct() method, be sure to add the dependency
  1317.     # here.
  1318.     # *NOTE:Mani - This is a crappy hack to have important dependecies for the viewer_manifest copy action
  1319.     # be met. I'm looking forward to a source-code split-up project next year that will address this kind of thing.
  1320.     # In the meantime, if you have any ideas on how to easily maintain one list, either here or in viewer_manifest.py
  1321.     # and have the build deps get tracked *please* tell me about it.
  1322.     if(LLKDU_LIBRARY)
  1323.       # Configure a var for llkdu which may not exist for all builds.
  1324.       set(LLKDU_DLL_SOURCE ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/llkdu.dll)
  1325.     endif(LLKDU_LIBRARY)
  1326.     if(USE_GOOGLE_PERFTOOLS)
  1327.       # Configure a var for tcmalloc location, if used.
  1328.       # Note the need to specify multiple names explicitly.
  1329.       set(GOOGLE_PERF_TOOLS_SOURCE
  1330.         ${SHARED_LIB_STAGING_DIR}/Release/libtcmalloc_minimal.dll
  1331.         ${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/libtcmalloc_minimal.dll
  1332.         ${SHARED_LIB_STAGING_DIR}/Debug/libtcmalloc_minimal-debug.dll
  1333.         )
  1334.     endif(USE_GOOGLE_PERFTOOLS)
  1335.   
  1336.     set(COPY_INPUT_DEPENDECIES
  1337.       # The following commented dependencies are determined at variably at build time. Can't do this here.
  1338.       #${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libtcmalloc_minimal.dll => None ... Skipping libtcmalloc_minimal.dll
  1339.       ${CMAKE_SOURCE_DIR}/../etc/message.xml
  1340.       ${CMAKE_SOURCE_DIR}/../scripts/messages/message_template.msg
  1341.       ${LLKDU_DLL_SOURCE}
  1342.       ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/llcommon.dll
  1343.       ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libapr-1.dll
  1344.       ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libaprutil-1.dll
  1345.       ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libapriconv-1.dll
  1346.       ${SHARED_LIB_STAGING_DIR}/Release/openjpeg.dll
  1347.       ${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/openjpeg.dll
  1348.       ${SHARED_LIB_STAGING_DIR}/Debug/openjpegd.dll
  1349.       ${SHARED_LIB_STAGING_DIR}/Release/msvcr80.dll
  1350.       ${SHARED_LIB_STAGING_DIR}/Release/msvcp80.dll
  1351.       ${SHARED_LIB_STAGING_DIR}/Release/Microsoft.VC80.CRT.manifest
  1352.       ${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/msvcr80.dll
  1353.       ${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/msvcp80.dll
  1354.       ${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/Microsoft.VC80.CRT.manifest
  1355.       ${SHARED_LIB_STAGING_DIR}/Debug/msvcr80d.dll
  1356.       ${SHARED_LIB_STAGING_DIR}/Debug/msvcp80d.dll
  1357.       ${SHARED_LIB_STAGING_DIR}/Debug/Microsoft.VC80.DebugCRT.manifest
  1358.       ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/SLVoice.exe
  1359.       ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/vivoxsdk.dll
  1360.       ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/ortp.dll
  1361.       ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/libsndfile-1.dll
  1362.       ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/zlib1.dll
  1363.       ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/vivoxplatform.dll
  1364.       ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/vivoxoal.dll
  1365.       ${GOOGLE_PERF_TOOLS_SOURCE}
  1366.       ${CMAKE_CURRENT_SOURCE_DIR}/licenses-win32.txt
  1367.       ${CMAKE_CURRENT_SOURCE_DIR}/featuretable.txt
  1368.       ${CMAKE_CURRENT_SOURCE_DIR}/dbghelp.dll
  1369.       ${CMAKE_CURRENT_SOURCE_DIR}/fmod.dll
  1370.       ${CMAKE_BINARY_DIR}/media_plugins/quicktime/${CMAKE_CFG_INTDIR}/media_plugin_quicktime.dll
  1371.       ${CMAKE_BINARY_DIR}/media_plugins/quicktime/${CMAKE_CFG_INTDIR}/media_plugin_webkit.dll
  1372.       ${ARCH_PREBUILT_DIRS_RELEASE}/libeay32.dll
  1373.       ${ARCH_PREBUILT_DIRS_RELEASE}/qtcore4.dll
  1374.       ${ARCH_PREBUILT_DIRS_RELEASE}/qtgui4.dll
  1375.       ${ARCH_PREBUILT_DIRS_RELEASE}/qtnetwork4.dll
  1376.       ${ARCH_PREBUILT_DIRS_RELEASE}/qtopengl4.dll
  1377.       ${ARCH_PREBUILT_DIRS_RELEASE}/qtwebkit4.dll
  1378.       ${ARCH_PREBUILT_DIRS_RELEASE}/qtxmlpatterns4.dll
  1379.       ${ARCH_PREBUILT_DIRS_RELEASE}/ssleay32.dll
  1380.       ${ARCH_PREBUILT_DIRS_RELEASE}/imageformats/qgif4.dll
  1381.       ${ARCH_PREBUILT_DIRS_RELEASE}/imageformats/qico4.dll
  1382.       ${ARCH_PREBUILT_DIRS_RELEASE}/imageformats/qjpeg4.dll
  1383.       ${ARCH_PREBUILT_DIRS_RELEASE}/imageformats/qmng4.dll
  1384.       ${ARCH_PREBUILT_DIRS_RELEASE}/imageformats/qsvg4.dll
  1385.       ${ARCH_PREBUILT_DIRS_RELEASE}/imageformats/qtiff4.dll
  1386.       ${ARCH_PREBUILT_DIRS_RELEASE}/codecs/qcncodecs4.dll
  1387.       ${ARCH_PREBUILT_DIRS_RELEASE}/codecs/qjpcodecs4.dll
  1388.       ${ARCH_PREBUILT_DIRS_RELEASE}/codecs/qkrcodecs4.dll
  1389.       ${ARCH_PREBUILT_DIRS_RELEASE}/codecs/qtwcodecs4.dll
  1390.       ${ARCH_PREBUILT_DIRS_DEBUG}/libeay32.dll
  1391.       ${ARCH_PREBUILT_DIRS_DEBUG}/qtcored4.dll
  1392.       ${ARCH_PREBUILT_DIRS_DEBUG}/qtguid4.dll
  1393.       ${ARCH_PREBUILT_DIRS_DEBUG}/qtnetworkd4.dll
  1394.       ${ARCH_PREBUILT_DIRS_DEBUG}/qtopengld4.dll
  1395.       ${ARCH_PREBUILT_DIRS_DEBUG}/qtwebkitd4.dll
  1396.       ${ARCH_PREBUILT_DIRS_DEBUG}/qtxmlpatternsd4.dll
  1397.       ${ARCH_PREBUILT_DIRS_DEBUG}/ssleay32.dll
  1398.       ${ARCH_PREBUILT_DIRS_DEBUG}/imageformats/qgifd4.dll
  1399.       ${ARCH_PREBUILT_DIRS_DEBUG}/imageformats/qicod4.dll
  1400.       ${ARCH_PREBUILT_DIRS_DEBUG}/imageformats/qjpegd4.dll
  1401.       ${ARCH_PREBUILT_DIRS_DEBUG}/imageformats/qmngd4.dll
  1402.       ${ARCH_PREBUILT_DIRS_DEBUG}/imageformats/qsvgd4.dll
  1403.       ${ARCH_PREBUILT_DIRS_DEBUG}/imageformats/qtiffd4.dll
  1404.       ${ARCH_PREBUILT_DIRS_RELEASE}/codecs/qcncodecsd4.dll
  1405.       ${ARCH_PREBUILT_DIRS_RELEASE}/codecs/qjpcodecsd4.dll
  1406.       ${ARCH_PREBUILT_DIRS_RELEASE}/codecs/qkrcodecsd4.dll
  1407.       ${ARCH_PREBUILT_DIRS_RELEASE}/codecs/qtwcodecsd4.dll
  1408.       SLPlugin
  1409.       media_plugin_quicktime
  1410.       media_plugin_webkit
  1411.       windows-crash-logger
  1412.       windows-updater
  1413.       )
  1414.     add_custom_command(
  1415.       OUTPUT  ${CMAKE_CFG_INTDIR}/copy_touched.bat
  1416.       COMMAND ${PYTHON_EXECUTABLE}
  1417.       ARGS
  1418.         ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
  1419.         --actions=copy
  1420.         --artwork=${ARTWORK_DIR}
  1421.         --build=${CMAKE_CURRENT_BINARY_DIR}
  1422.         --buildtype=${CMAKE_BUILD_TYPE}
  1423.         --configuration=${CMAKE_CFG_INTDIR}
  1424.         --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
  1425.         --grid=${GRID}
  1426.         --source=${CMAKE_CURRENT_SOURCE_DIR}
  1427.         --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/copy_touched.bat
  1428.       DEPENDS 
  1429.         ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
  1430.         stage_third_party_libs
  1431.         ${COPY_INPUT_DEPENDECIES}
  1432.       COMMENT "Performing viewer_manifest copy"
  1433.       )
  1434.     
  1435.     add_custom_target(copy_w_viewer_manifest ALL DEPENDS ${CMAKE_CFG_INTDIR}/copy_touched.bat) 
  1436.     add_dependencies(${VIEWER_BINARY_NAME} stage_third_party_libs llcommon copy_w_viewer_manifest)
  1437.     
  1438.     if(LLKDU_LIBRARY)
  1439.       # kdu may not exist!
  1440.       add_dependencies(copy_w_viewer_manifest llkdu)
  1441.     endif(LLKDU_LIBRARY)
  1442.     if (EXISTS ${CMAKE_SOURCE_DIR}/copy_win_scripts)
  1443.       add_dependencies(${VIEWER_BINARY_NAME} copy_win_scripts)
  1444.     endif (EXISTS ${CMAKE_SOURCE_DIR}/copy_win_scripts)
  1445.         
  1446.     add_dependencies(${VIEWER_BINARY_NAME} 
  1447.       SLPlugin 
  1448.       media_plugin_quicktime 
  1449.       media_plugin_webkit
  1450.       windows-updater 
  1451.       windows-crash-logger
  1452.       )
  1453.     # sets the 'working directory' for debugging from visual studio.
  1454.     if (NOT UNATTENDED)
  1455.         add_custom_command(
  1456.             TARGET ${VIEWER_BINARY_NAME} POST_BUILD
  1457.             COMMAND ${CMAKE_SOURCE_DIR}/tools/vstool/vstool.exe
  1458.             ARGS
  1459.               --solution 
  1460.               ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}.sln
  1461.               --workingdir
  1462.               ${VIEWER_BINARY_NAME}
  1463.               "${CMAKE_CURRENT_SOURCE_DIR}"
  1464.             COMMENT "Setting the ${VIEWER_BINARY_NAME} working directory for debugging."
  1465.             )
  1466.     endif (NOT UNATTENDED)
  1467.     if (PACKAGE)
  1468.       add_custom_command(
  1469.         OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/event_host.tar.bz2
  1470.         COMMAND ${PYTHON_EXECUTABLE}
  1471.         ARGS
  1472.           ${CMAKE_CURRENT_SOURCE_DIR}/event_host_manifest.py
  1473.           ${CMAKE_CURRENT_SOURCE_DIR}/..
  1474.           ${CMAKE_CURRENT_BINARY_DIR}
  1475.           ${CMAKE_CFG_INTDIR}
  1476.         DEPENDS 
  1477.           lleventhost 
  1478.           ${EVENT_HOST_SCRIPTS}
  1479.           ${CMAKE_CURRENT_SOURCE_DIR}/event_host_manifest.py
  1480.         )
  1481.     
  1482.       add_custom_command(
  1483.         OUTPUT ${CMAKE_CFG_INTDIR}/touched.bat
  1484.         COMMAND ${PYTHON_EXECUTABLE}
  1485.         ARGS
  1486.           ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
  1487.           --artwork=${ARTWORK_DIR}
  1488.           --build=${CMAKE_CURRENT_BINARY_DIR}
  1489.           --buildtype=${CMAKE_BUILD_TYPE}
  1490.           --channel=${VIEWER_CHANNEL}
  1491.           --branding_id=${VIEWER_BRANDING_ID}
  1492.           --configuration=${CMAKE_CFG_INTDIR}
  1493.           --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
  1494.           --grid=${GRID}
  1495.           --login_channel=${VIEWER_LOGIN_CHANNEL}
  1496.           --source=${CMAKE_CURRENT_SOURCE_DIR}
  1497.           --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/touched.bat
  1498.         DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
  1499.         )
  1500.       add_custom_target(package ALL DEPENDS 
  1501.         ${CMAKE_CFG_INTDIR}/touched.bat
  1502.         windows-setup-build-all 
  1503.         )
  1504.         # temporarily disable packaging of event_host until hg subrepos get
  1505.         # sorted out on the parabuild cluster...
  1506.         #${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/event_host.tar.bz2)
  1507.       check_message_template(package)
  1508.     endif (PACKAGE)
  1509. endif (WINDOWS)
  1510. target_link_libraries(${VIEWER_BINARY_NAME}
  1511.     ${LLAUDIO_LIBRARIES}
  1512.     ${LLCHARACTER_LIBRARIES}
  1513.     ${LLIMAGE_LIBRARIES}
  1514.     ${LLIMAGEJ2COJ_LIBRARIES}
  1515.     ${LLINVENTORY_LIBRARIES}
  1516.     ${LLMESSAGE_LIBRARIES}
  1517.     ${LLPLUGIN_LIBRARIES}
  1518.     ${LLPRIMITIVE_LIBRARIES}
  1519.     ${LLRENDER_LIBRARIES}
  1520.     ${FREETYPE_LIBRARIES}
  1521.     ${LLUI_LIBRARIES}
  1522.     ${LLVFS_LIBRARIES}
  1523.     ${LLWINDOW_LIBRARIES}
  1524.     ${LLXML_LIBRARIES}
  1525.     ${LLXUIXML_LIBRARIES}
  1526.     ${LSCRIPT_LIBRARIES}
  1527.     ${LLMATH_LIBRARIES}
  1528.     ${LLCOMMON_LIBRARIES}
  1529.     ${NDOF_LIBRARY}
  1530.     ${viewer_LIBRARIES}
  1531.     ${BOOST_PROGRAM_OPTIONS_LIBRARY}
  1532.     ${BOOST_REGEX_LIBRARY}
  1533.     ${DBUSGLIB_LIBRARIES}
  1534.     ${OPENGL_LIBRARIES}
  1535.     ${FMODWRAPPER_LIBRARY} # must come after LLAudio
  1536.     ${OPENGL_LIBRARIES}
  1537.     ${SDL_LIBRARY}
  1538.     ${SMARTHEAP_LIBRARY}
  1539.     ${UI_LIBRARIES}
  1540.     ${WINDOWS_LIBRARIES}
  1541.     ${XMLRPCEPI_LIBRARIES}
  1542.     ${ELFIO_LIBRARIES}
  1543.     ${LLLOGIN_LIBRARIES}
  1544.     ${GOOGLE_PERFTOOLS_LIBRARIES}
  1545.     )
  1546. build_version(viewer)
  1547. set(ARTWORK_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE PATH
  1548.     "Path to artwork files.")
  1549. if (LINUX)
  1550.   set(product ${VIEWER_BRANDING_NAME_CAMELCASE}-${ARCH}-${viewer_VERSION})
  1551.   add_custom_command(
  1552.       OUTPUT ${product}.tar.bz2
  1553.       COMMAND ${PYTHON_EXECUTABLE}
  1554.       ARGS
  1555.         ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
  1556.         --arch=${ARCH}
  1557.         --artwork=${ARTWORK_DIR}
  1558.         --build=${CMAKE_CURRENT_BINARY_DIR}
  1559.         --buildtype=${CMAKE_BUILD_TYPE}
  1560.         --channel=${VIEWER_CHANNEL}
  1561.         --configuration=${CMAKE_CFG_INTDIR}
  1562.         --dest=${CMAKE_CURRENT_BINARY_DIR}/packaged
  1563.         --grid=${GRID}
  1564.         --installer_name=${product}
  1565.         --login_channel=${VIEWER_LOGIN_CHANNEL}
  1566.         --branding_id=${VIEWER_BRANDING_ID}
  1567.         --source=${CMAKE_CURRENT_SOURCE_DIR}
  1568.         --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.touched
  1569.       DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
  1570.       )
  1571.   add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_gstreamer010 media_plugin_webkit)
  1572.   if (NOT INSTALL)
  1573.     add_custom_target(package ALL DEPENDS ${product}.tar.bz2)
  1574.     add_dependencies(package linux-crash-logger-target)
  1575.     add_dependencies(package linux-updater-target)
  1576.     check_message_template(package)
  1577.   endif (NOT INSTALL)
  1578. endif (LINUX)
  1579. if (DARWIN)
  1580.   set(product ${VIEWER_BRANDING_NAME})
  1581.   set_target_properties(
  1582.     ${VIEWER_BINARY_NAME}
  1583.     PROPERTIES
  1584.     OUTPUT_NAME "${product}"
  1585.     MACOSX_BUNDLE_INFO_STRING "info string - localize me"
  1586.     MACOSX_BUNDLE_ICON_FILE "${VIEWER_BRANDING_ID}.icns"
  1587.     MACOSX_BUNDLE_GUI_IDENTIFIER "${VIEWER_BRANDING_NAME}"
  1588.     MACOSX_BUNDLE_LONG_VERSION_STRING "ververver"
  1589.     MACOSX_BUNDLE_BUNDLE_NAME "${VIEWER_BRANDING_NAME}"
  1590.     MACOSX_BUNDLE_SHORT_VERSION_STRING "asdf"
  1591.     MACOSX_BUNDLE_BUNDLE_VERSION "asdf"
  1592.     MACOSX_BUNDLE_COPYRIGHT "copyright linden lab 2007 - localize me and run me through a legal wringer"
  1593.     )
  1594.   add_custom_command(
  1595.     TARGET ${VIEWER_BINARY_NAME} POST_BUILD
  1596.     COMMAND ${PYTHON_EXECUTABLE}
  1597.     ARGS
  1598.       ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
  1599.       --actions=copy
  1600.       --artwork=${ARTWORK_DIR}
  1601.       --branding_id=${VIEWER_BRANDING_ID}
  1602.       --build=${CMAKE_CURRENT_BINARY_DIR}
  1603.       --buildtype=${CMAKE_BUILD_TYPE}
  1604.       --configuration=${CMAKE_CFG_INTDIR}
  1605.       --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${product}.app
  1606.       --grid=${GRID}
  1607.       --source=${CMAKE_CURRENT_SOURCE_DIR}
  1608.     DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
  1609.     )
  1610.   add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit)
  1611.   if (PACKAGE)
  1612.       add_custom_target(package ALL DEPENDS ${VIEWER_BINARY_NAME}) 
  1613.       check_message_template(package)
  1614.       add_dependencies(package mac-updater mac-crash-logger)
  1615.       add_custom_command(
  1616.         TARGET package POST_BUILD
  1617.         COMMAND ${PYTHON_EXECUTABLE}
  1618.         ARGS
  1619.           ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
  1620.           --grid=${GRID}
  1621.           --buildtype=${CMAKE_BUILD_TYPE}
  1622.           --configuration=${CMAKE_CFG_INTDIR}
  1623.           --channel=${VIEWER_CHANNEL}
  1624.           --login_channel=${VIEWER_LOGIN_CHANNEL}
  1625.           --branding_id=${VIEWER_BRANDING_ID}
  1626.           --source=${CMAKE_CURRENT_SOURCE_DIR}
  1627.           --artwork=${ARTWORK_DIR}
  1628.           --build=${CMAKE_CURRENT_BINARY_DIR}
  1629.           --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${product}.app
  1630.           --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.touched
  1631.         DEPENDS
  1632.           ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
  1633.       )
  1634.       add_custom_command(
  1635.         TARGET package POST_BUILD
  1636.         COMMAND ${PYTHON_EXECUTABLE}
  1637.         ARGS
  1638.           ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
  1639.           --grid=${GRID}
  1640.           --buildtype=${CMAKE_BUILD_TYPE}
  1641.           --configuration=${CMAKE_CFG_INTDIR}
  1642.           --channel=${VIEWER_CHANNEL}
  1643.           --login_channel=${VIEWER_LOGIN_CHANNEL}
  1644.           --branding_id=${VIEWER_BRANDING_ID}
  1645.           --source=${CMAKE_CURRENT_SOURCE_DIR}
  1646.           --artwork=${ARTWORK_DIR}
  1647.           --build=${CMAKE_CURRENT_BINARY_DIR}
  1648.           --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${product}.app
  1649.           --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.touched
  1650.         DEPENDS
  1651.           ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
  1652.       )
  1653.   endif (PACKAGE)
  1654. endif (DARWIN)
  1655. if (INSTALL)
  1656.   include(${CMAKE_CURRENT_SOURCE_DIR}/ViewerInstall.cmake)
  1657. endif (INSTALL)
  1658. if (LL_TESTS)
  1659.   # To add a viewer unit test, just add the test .cpp file below
  1660.   # This creates a separate test project per file listed.
  1661.   include(LLAddBuildTest)
  1662.   SET(viewer_TEST_SOURCE_FILES
  1663.     llagentaccess.cpp
  1664.     lldateutil.cpp
  1665.     llmediadataclient.cpp
  1666.     lllogininstance.cpp
  1667.     llviewerhelputil.cpp
  1668.   )
  1669.   ##################################################
  1670.   # DISABLING PRECOMPILED HEADERS USAGE FOR TESTS 
  1671.   ##################################################
  1672.   # if(USE_PRECOMPILED_HEADERS)
  1673.   #     set_source_files_properties(
  1674.   #       ${viewer_TEST_SOURCE_FILES}
  1675.   #       PROPERTIES
  1676.   #         LL_TEST_ADDITIONAL_SOURCE_FILES llviewerprecompiledheaders.cpp
  1677.   #       )
  1678.   # endif(USE_PRECOMPILED_HEADERS)
  1679.   LL_ADD_PROJECT_UNIT_TESTS(${VIEWER_BINARY_NAME} "${viewer_TEST_SOURCE_FILES}")
  1680.   #set(TEST_DEBUG on)
  1681.   set(test_sources llcapabilitylistener.cpp)
  1682.   ##################################################
  1683.   # DISABLING PRECOMPILED HEADERS USAGE FOR TESTS 
  1684.   ##################################################
  1685.   # if(USE_PRECOMPILED_HEADERS)
  1686.   #     set(test_sources "${test_sources}" llviewerprecompiledheaders.cpp)
  1687.   # endif(USE_PRECOMPILED_HEADERS)
  1688.   set(test_libs 
  1689.     ${LLMESSAGE_LIBRARIES} 
  1690.     ${WINDOWS_LIBRARIES} 
  1691.     ${LLVFS_LIBRARIES}
  1692.     ${LLMATH_LIBRARIES}
  1693.     ${LLCOMMON_LIBRARIES} 
  1694.     ${GOOGLEMOCK_LIBRARIES}
  1695.     )
  1696.   LL_ADD_INTEGRATION_TEST(llcapabilitylistener 
  1697.     "${test_sources}" 
  1698.     "${test_libs}"
  1699.     ${PYTHON_EXECUTABLE}
  1700.     "${CMAKE_SOURCE_DIR}/llmessage/tests/test_llsdmessage_peer.py"
  1701.     )
  1702.   #ADD_VIEWER_BUILD_TEST(llmemoryview viewer)
  1703.   #ADD_VIEWER_BUILD_TEST(llagentaccess viewer)
  1704.   #ADD_VIEWER_BUILD_TEST(llworldmap viewer)
  1705.   #ADD_VIEWER_BUILD_TEST(llworldmipmap viewer)
  1706.   #ADD_VIEWER_BUILD_TEST(lltextureinfo viewer)
  1707.   #ADD_VIEWER_BUILD_TEST(lltextureinfodetails viewer)
  1708.   #ADD_VIEWER_BUILD_TEST(lltexturestatsuploader viewer)
  1709. endif (LL_TESTS)