PageRenderTime 170ms CodeModel.GetById 10ms RepoModel.GetById 7ms app.codeStats 1ms

/indra/newview/CMakeLists.txt

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