aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/CMakeLists.txt
diff options
context:
space:
mode:
authorJacek Antonelli2008-09-06 18:24:57 -0500
committerJacek Antonelli2008-09-06 18:25:07 -0500
commit798d367d54a6c6379ad355bd8345fa40e31e7fe9 (patch)
tree1921f1708cd0240648c97bc02df2c2ab5f2fc41e /linden/indra/newview/CMakeLists.txt
parentSecond Life viewer sources 1.20.15 (diff)
downloadmeta-impy-798d367d54a6c6379ad355bd8345fa40e31e7fe9.zip
meta-impy-798d367d54a6c6379ad355bd8345fa40e31e7fe9.tar.gz
meta-impy-798d367d54a6c6379ad355bd8345fa40e31e7fe9.tar.bz2
meta-impy-798d367d54a6c6379ad355bd8345fa40e31e7fe9.tar.xz
Second Life viewer sources 1.21.0-RC
Diffstat (limited to 'linden/indra/newview/CMakeLists.txt')
-rw-r--r--linden/indra/newview/CMakeLists.txt1490
1 files changed, 1490 insertions, 0 deletions
diff --git a/linden/indra/newview/CMakeLists.txt b/linden/indra/newview/CMakeLists.txt
new file mode 100644
index 0000000..e93ea57
--- /dev/null
+++ b/linden/indra/newview/CMakeLists.txt
@@ -0,0 +1,1490 @@
1# -*- cmake -*-
2
3project(viewer)
4
5include(00-Common)
6include(Boost)
7include(BuildVersion)
8include(DirectX)
9include(ELFIO)
10include(FMOD)
11include(FindOpenGL)
12include(LLAudio)
13include(LLCharacter)
14include(LLCommon)
15include(LLImage)
16include(LLImageJ2COJ)
17include(LLInventory)
18include(LLMath)
19include(LLMedia)
20include(LLMessage)
21include(LLPrimitive)
22include(LLRender)
23include(LLUI)
24include(LLVFS)
25include(LLWindow)
26include(LLXML)
27include(LScript)
28include(Linking)
29include(Mozlib)
30include(NDOF)
31include(TemplateCheck)
32include(UI)
33include(UnixInstall)
34include(LLKDU)
35include(ViewerMiscLibs)
36
37if (WINDOWS)
38 include(CopyWinLibs)
39endif (WINDOWS)
40
41include_directories(
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 ${LLMEDIA_INCLUDE_DIRS}
50 ${LLMESSAGE_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 ${LSCRIPT_INCLUDE_DIRS}
58 ${LSCRIPT_INCLUDE_DIRS}/lscript_compile
59 )
60
61set(viewer_SOURCE_FILES
62 llagent.cpp
63 llagentdata.cpp
64 llagentlanguage.cpp
65 llagentpilot.cpp
66 llanimstatelabels.cpp
67 llappviewer.cpp
68 llassetuploadresponders.cpp
69 llassetuploadqueue.cpp
70 llaudiosourcevo.cpp
71 llbbox.cpp
72 llbox.cpp
73 llcallbacklist.cpp
74 llcallingcard.cpp
75 llcaphttpsender.cpp
76 llchatbar.cpp
77 llclassifiedinfo.cpp
78 llclassifiedstatsresponder.cpp
79 llcloud.cpp
80 llcolorscheme.cpp
81 llcolorswatch.cpp
82 llcommandhandler.cpp
83 llcommandlineparser.cpp
84 llcompass.cpp
85 llcompilequeue.cpp
86 llconfirmationmanager.cpp
87 llconsole.cpp
88 llcontainerview.cpp
89 llcurrencyuimanager.cpp
90 llcylinder.cpp
91 lldebugmessagebox.cpp
92 lldebugview.cpp
93 lldelayedgestureerror.cpp
94 lldirpicker.cpp
95 lldrawable.cpp
96 lldrawpoolalpha.cpp
97 lldrawpoolavatar.cpp
98 lldrawpoolbump.cpp
99 lldrawpool.cpp
100 lldrawpoolground.cpp
101 lldrawpoolsimple.cpp
102 lldrawpoolsky.cpp
103 lldrawpoolterrain.cpp
104 lldrawpooltree.cpp
105 lldrawpoolwater.cpp
106 lldrawpoolwlsky.cpp
107 lldriverparam.cpp
108 lldynamictexture.cpp
109 llemote.cpp
110 lleventinfo.cpp
111 lleventnotifier.cpp
112 lleventpoll.cpp
113 llface.cpp
114 llfasttimerview.cpp
115 llfeaturemanager.cpp
116 llfilepicker.cpp
117 llfirstuse.cpp
118 llflexibleobject.cpp
119 llfloaterabout.cpp
120 llfloateractivespeakers.cpp
121 llfloateranimpreview.cpp
122 llfloaterauction.cpp
123 llfloateravatarinfo.cpp
124 llfloateravatarpicker.cpp
125 llfloateravatartextures.cpp
126 llfloaterbuildoptions.cpp
127 llfloaterbump.cpp
128 llfloaterbuycontents.cpp
129 llfloaterbuy.cpp
130 llfloaterbuycurrency.cpp
131 llfloaterbuyland.cpp
132 llfloatercamera.cpp
133 llfloaterchat.cpp
134 llfloaterchatterbox.cpp
135 llfloaterclassified.cpp
136 llfloaterclothing.cpp
137 llfloatercolorpicker.cpp
138 llfloatercustomize.cpp
139 llfloaterdaycycle.cpp
140 llfloaterdirectory.cpp
141 llfloatereditui.cpp
142 llfloaterenvsettings.cpp
143 llfloaterevent.cpp
144 llfloaterfriends.cpp
145 llfloatergesture.cpp
146 llfloatergodtools.cpp
147 llfloatergroupinfo.cpp
148 llfloatergroupinvite.cpp
149 llfloatergroups.cpp
150 llfloaterhardwaresettings.cpp
151 llfloaterhtml.cpp
152 llfloaterhtmlhelp.cpp
153 llfloaterhud.cpp
154 llfloaterimagepreview.cpp
155 llfloaterinspect.cpp
156 llfloaterjoystick.cpp
157 llfloaterlagmeter.cpp
158 llfloaterland.cpp
159 llfloaterlandholdings.cpp
160 llfloaterlandmark.cpp
161 llfloatermap.cpp
162 llfloatermemleak.cpp
163 llfloatermute.cpp
164 llfloaternamedesc.cpp
165 llfloaternewim.cpp
166 llfloateropenobject.cpp
167 llfloaterparcel.cpp
168 llfloaterpermissionsmgr.cpp
169 llfloaterpostcard.cpp
170 llfloaterpostprocess.cpp
171 llfloaterpreference.cpp
172 llfloaterproperties.cpp
173 llfloaterregioninfo.cpp
174 llfloaterreporter.cpp
175 llfloaterscriptdebug.cpp
176 llfloatersellland.cpp
177 llfloatersettingsdebug.cpp
178 llfloatersnapshot.cpp
179 llfloaterstats.cpp
180 llfloatertelehub.cpp
181 llfloatertest.cpp
182 llfloatertools.cpp
183 llfloatertopobjects.cpp
184 llfloatertos.cpp
185 llfloaterurldisplay.cpp
186 llfloaterurlentry.cpp
187 llfloatervoicedevicesettings.cpp
188 llfloaterwater.cpp
189 llfloaterwindlight.cpp
190 llfloaterworldmap.cpp
191 llfolderview.cpp
192 llfollowcam.cpp
193 llframestats.cpp
194 llframestatview.cpp
195 llgenepool.cpp
196 llgesturemgr.cpp
197 llgivemoney.cpp
198 llglsandbox.cpp
199 llgroupmgr.cpp
200 llgroupnotify.cpp
201 llhoverview.cpp
202 llhudeffectbeam.cpp
203 llhudeffect.cpp
204 llhudeffectlookat.cpp
205 llhudeffectpointat.cpp
206 llhudeffecttrail.cpp
207 llhudicon.cpp
208 llhudmanager.cpp
209 llhudobject.cpp
210 llhudrender.cpp
211 llhudtext.cpp
212 llhudview.cpp
213 llimpanel.cpp
214 llimview.cpp
215 llinventoryactions.cpp
216 llinventorybridge.cpp
217 llinventoryclipboard.cpp
218 llinventorymodel.cpp
219 llinventoryview.cpp
220 lljoystickbutton.cpp
221 lllandmarklist.cpp
222 lllogchat.cpp
223 llmanip.cpp
224 llmaniprotate.cpp
225 llmanipscale.cpp
226 llmaniptranslate.cpp
227 llmapresponders.cpp
228 llmediaremotectrl.cpp
229 llmemoryview.cpp
230 llmenucommands.cpp
231 llmimetypes.cpp
232 llmorphview.cpp
233 llmoveview.cpp
234 llmutelist.cpp
235 llnamebox.cpp
236 llnameeditor.cpp
237 llnamelistctrl.cpp
238 llnetmap.cpp
239 llnotify.cpp
240 lloverlaybar.cpp
241 llpanelaudioprefs.cpp
242 llpanelaudiovolume.cpp
243 llpanelavatar.cpp
244 llpanelclassified.cpp
245 llpanelcontents.cpp
246 llpaneldebug.cpp
247 llpaneldirbrowser.cpp
248 llpaneldirclassified.cpp
249 llpaneldirevents.cpp
250 llpaneldirfind.cpp
251 llpaneldirgroups.cpp
252 llpaneldirland.cpp
253 llpaneldirpeople.cpp
254 llpaneldirplaces.cpp
255 llpaneldirpopular.cpp
256 llpaneldisplay.cpp
257 llpanelevent.cpp
258 llpanelface.cpp
259 llpanelgeneral.cpp
260 llpanelgroup.cpp
261 llpanelgroupgeneral.cpp
262 llpanelgroupinvite.cpp
263 llpanelgrouplandmoney.cpp
264 llpanelgroupnotices.cpp
265 llpanelgrouproles.cpp
266 llpanelgroupvoting.cpp
267 llpanelinput.cpp
268 llpanelinventory.cpp
269 llpanelland.cpp
270 llpanellandmedia.cpp
271 llpanellandobjects.cpp
272 llpanellandoptions.cpp
273 llpanellogin.cpp
274 llpanelmorph.cpp
275 llpanelmsgs.cpp
276 llpanelnetwork.cpp
277 llpanelobject.cpp
278 llpanelpermissions.cpp
279 llpanelpick.cpp
280 llpanelplace.cpp
281 llpanelskins.cpp
282 llpanelvolume.cpp
283 llpanelweb.cpp
284 llparcelselection.cpp
285 llpatchvertexarray.cpp
286 llpolymesh.cpp
287 llpolymorph.cpp
288 llprefschat.cpp
289 llprefsim.cpp
290 llprefsvoice.cpp
291 llpreviewanim.cpp
292 llpreview.cpp
293 llpreviewgesture.cpp
294 llpreviewlandmark.cpp
295 llpreviewnotecard.cpp
296 llpreviewscript.cpp
297 llpreviewsound.cpp
298 llpreviewtexture.cpp
299 llprogressview.cpp
300 llregionposition.cpp
301 llremoteparcelrequest.cpp
302 llsavedsettingsglue.cpp
303 llselectmgr.cpp
304 llsky.cpp
305 llspatialpartition.cpp
306 llsprite.cpp
307 llsrv.cpp
308 llstartup.cpp
309 llstatbar.cpp
310 llstatgraph.cpp
311 llstatusbar.cpp
312 llstatview.cpp
313 llstylemap.cpp
314 llsurface.cpp
315 llsurfacepatch.cpp
316 lltexlayer.cpp
317 lltexturecache.cpp
318 lltexturectrl.cpp
319 lltexturefetch.cpp
320 lltextureview.cpp
321 lltoolbar.cpp
322 lltoolbrush.cpp
323 lltoolcomp.cpp
324 lltool.cpp
325 lltooldraganddrop.cpp
326 lltoolface.cpp
327 lltoolfocus.cpp
328 lltoolgrab.cpp
329 lltoolgun.cpp
330 lltoolindividual.cpp
331 lltoolmgr.cpp
332 lltoolmorph.cpp
333 lltoolobjpicker.cpp
334 lltoolpie.cpp
335 lltoolpipette.cpp
336 lltoolplacer.cpp
337 lltoolselect.cpp
338 lltoolselectland.cpp
339 lltoolselectrect.cpp
340 lltoolview.cpp
341 lltracker.cpp
342 lltrans.cpp
343 lluploaddialog.cpp
344 llurl.cpp
345 llurldispatcher.cpp
346 llurlhistory.cpp
347 llurlsimstring.cpp
348 llurlwhitelist.cpp
349 lluserauth.cpp
350 llvectorperfoptions.cpp
351 llvelocitybar.cpp
352 llviewchildren.cpp
353 llviewerassetstorage.cpp
354 llvieweraudio.cpp
355 llviewercamera.cpp
356 llviewercontrol.cpp
357 llviewerdisplay.cpp
358 llviewergenericmessage.cpp
359 llviewergesture.cpp
360 llviewerimage.cpp
361 llviewerimagelist.cpp
362 llviewerinventory.cpp
363 llviewerjointattachment.cpp
364 llviewerjoint.cpp
365 llviewerjointmesh.cpp
366 llviewerjointmesh_sse2.cpp
367 llviewerjointmesh_sse.cpp
368 llviewerjointmesh_vec.cpp
369 llviewerjoystick.cpp
370 llviewerkeyboard.cpp
371 llviewerlayer.cpp
372 llviewermedia.cpp
373 llviewermenu.cpp
374 llviewermenufile.cpp
375 llviewermessage.cpp
376 llviewernetwork.cpp
377 llviewerobject.cpp
378 llviewerobjectlist.cpp
379 llviewerparcelmedia.cpp
380 llviewerparcelmediaautoplay.cpp
381 llviewerparcelmgr.cpp
382 llviewerparceloverlay.cpp
383 llviewerpartsim.cpp
384 llviewerpartsource.cpp
385 llviewerregion.cpp
386 llviewershadermgr.cpp
387 llviewerstats.cpp
388 llviewertexteditor.cpp
389 llviewertextureanim.cpp
390 llviewerthrottle.cpp
391 llviewervisualparam.cpp
392 llviewerwindow.cpp
393 llvlcomposition.cpp
394 llvlmanager.cpp
395 llvoavatar.cpp
396 llvocache.cpp
397 llvoclouds.cpp
398 llvograss.cpp
399 llvoground.cpp
400 llvoiceclient.cpp
401 llvoiceremotectrl.cpp
402 llvoicevisualizer.cpp
403 llvoinventorylistener.cpp
404 llvopartgroup.cpp
405 llvosky.cpp
406 llvosurfacepatch.cpp
407 llvotextbubble.cpp
408 llvotree.cpp
409 llvovolume.cpp
410 llvowater.cpp
411 llvowlsky.cpp
412 llwatchdog.cpp
413 llwaterparammanager.cpp
414 llwaterparamset.cpp
415 llwearable.cpp
416 llwearablelist.cpp
417 llweb.cpp
418 llwebbrowserctrl.cpp
419 llwind.cpp
420 llwlanimator.cpp
421 llwldaycycle.cpp
422 llwlparammanager.cpp
423 llwlparamset.cpp
424 llworld.cpp
425 llworldmap.cpp
426 llworldmapview.cpp
427 llxmlrpctransaction.cpp
428 noise.cpp
429 pipeline.cpp
430 )
431
432if (LINUX)
433 # We can't set these flags for Darwin, because they get passed to
434 # the PPC compiler. Ugh.
435
436 set_source_files_properties(
437 llviewerjointmesh_sse.cpp
438 PROPERTIES COMPILE_FLAGS "-msse -mfpmath=sse"
439 )
440 set_source_files_properties(
441 llviewerjointmesh_sse2.cpp
442 PROPERTIES COMPILE_FLAGS "-msse2 -mfpmath=sse"
443 )
444endif (LINUX)
445
446set(viewer_HEADER_FILES
447 CMakeLists.txt
448 ViewerInstall.cmake
449
450 llagent.h
451 llagentdata.h
452 llagentlanguage.h
453 llagentpilot.h
454 llanimstatelabels.h
455 llappearance.h
456 llappviewer.h
457 llassetuploadresponders.h
458 llassetuploadqueue.h
459 llaudiosourcevo.h
460 llbbox.h
461 llbox.h
462 llcallbacklist.h
463 llcallingcard.h
464 llcaphttpsender.h
465 llchatbar.h
466 llclassifiedinfo.h
467 llclassifiedstatsresponder.h
468 llcloud.h
469 llcolorscheme.h
470 llcolorswatch.h
471 llcommandhandler.h
472 llcommandlineparser.h
473 llcompass.h
474 llcompilequeue.h
475 llconfirmationmanager.h
476 llconsole.h
477 llcontainerview.h
478 llcurrencyuimanager.h
479 llcylinder.h
480 lldebugmessagebox.h
481 lldebugview.h
482 lldelayedgestureerror.h
483 lldirpicker.h
484 lldrawable.h
485 lldrawpool.h
486 lldrawpoolalpha.h
487 lldrawpoolavatar.h
488 lldrawpoolbump.h
489 lldrawpoolclouds.h
490 lldrawpoolground.h
491 lldrawpoolsimple.h
492 lldrawpoolsky.h
493 lldrawpoolterrain.h
494 lldrawpooltree.h
495 lldrawpoolwater.h
496 lldrawpoolwlsky.h
497 lldriverparam.h
498 lldynamictexture.h
499 llemote.h
500 lleventinfo.h
501 lleventnotifier.h
502 lleventpoll.h
503 llface.h
504 llfasttimerview.h
505 llfeaturemanager.h
506 llfilepicker.h
507 llfirstuse.h
508 llflexibleobject.h
509 llfloaterabout.h
510 llfloateractivespeakers.h
511 llfloateranimpreview.h
512 llfloaterauction.h
513 llfloateravatarinfo.h
514 llfloateravatarpicker.h
515 llfloateravatartextures.h
516 llfloaterbuildoptions.h
517 llfloaterbump.h
518 llfloaterbuy.h
519 llfloaterbuycontents.h
520 llfloaterbuycurrency.h
521 llfloaterbuyland.h
522 llfloatercamera.h
523 llfloaterchat.h
524 llfloaterchatterbox.h
525 llfloaterclassified.h
526 llfloaterclothing.h
527 llfloatercolorpicker.h
528 llfloatercustomize.h
529 llfloaterdaycycle.h
530 llfloaterdirectory.h
531 llfloatereditui.h
532 llfloaterenvsettings.h
533 llfloaterevent.h
534 llfloaterfriends.h
535 llfloatergesture.h
536 llfloatergodtools.h
537 llfloatergroupinfo.h
538 llfloatergroupinvite.h
539 llfloatergroups.h
540 llfloaterhardwaresettings.h
541 llfloaterhtml.h
542 llfloaterhtmlhelp.h
543 llfloaterhud.h
544 llfloaterimagepreview.h
545 llfloaterinspect.h
546 llfloaterjoystick.h
547 llfloaterlagmeter.h
548 llfloaterland.h
549 llfloaterlandholdings.h
550 llfloaterlandmark.h
551 llfloatermap.h
552 llfloatermemleak.h
553 llfloatermute.h
554 llfloaternamedesc.h
555 llfloaternewim.h
556 llfloateropenobject.h
557 llfloaterparcel.h
558 llfloaterpermissionsmgr.h
559 llfloaterpostcard.h
560 llfloaterpostprocess.h
561 llfloaterpreference.h
562 llfloaterproperties.h
563 llfloaterregioninfo.h
564 llfloaterreporter.h
565 llfloaterscriptdebug.h
566 llfloatersellland.h
567 llfloatersettingsdebug.h
568 llfloatersnapshot.h
569 llfloaterstats.h
570 llfloatertelehub.h
571 llfloatertest.h
572 llfloatertools.h
573 llfloatertopobjects.h
574 llfloatertos.h
575 llfloaterurldisplay.h
576 llfloaterurlentry.h
577 llfloatervoicedevicesettings.h
578 llfloaterwater.h
579 llfloaterwindlight.h
580 llfloaterworldmap.h
581 llfolderview.h
582 llfollowcam.h
583 llframestats.h
584 llframestatview.h
585 llgenepool.h
586 llgesturemgr.h
587 llgivemoney.h
588 llgroupmgr.h
589 llgroupnotify.h
590 llhoverview.h
591 llhudeffect.h
592 llhudeffectbeam.h
593 llhudeffectlookat.h
594 llhudeffectpointat.h
595 llhudeffecttrail.h
596 llhudicon.h
597 llhudmanager.h
598 llhudobject.h
599 llhudrender.h
600 llhudtext.h
601 llhudview.h
602 llimpanel.h
603 llimview.h
604 llinventorybridge.h
605 llinventoryclipboard.h
606 llinventorymodel.h
607 llinventoryview.h
608 lljoystickbutton.h
609 lllandmarklist.h
610 lllightconstants.h
611 lllogchat.h
612 llmanip.h
613 llmaniprotate.h
614 llmanipscale.h
615 llmaniptranslate.h
616 llmapresponders.h
617 llmediaremotectrl.h
618 llmemoryview.h
619 llmenucommands.h
620 llmimetypes.h
621 llmorphview.h
622 llmoveview.h
623 llmutelist.h
624 llnamebox.h
625 llnameeditor.h
626 llnamelistctrl.h
627 llnetmap.h
628 llnotify.h
629 lloverlaybar.h
630 llpanelaudioprefs.h
631 llpanelaudiovolume.h
632 llpanelavatar.h
633 llpanelclassified.h
634 llpanelcontents.h
635 llpaneldebug.h
636 llpaneldirbrowser.h
637 llpaneldirclassified.h
638 llpaneldirevents.h
639 llpaneldirfind.h
640 llpaneldirgroups.h
641 llpaneldirland.h
642 llpaneldirpeople.h
643 llpaneldirplaces.h
644 llpaneldirpopular.h
645 llpaneldisplay.h
646 llpanelevent.h
647 llpanelface.h
648 llpanelgeneral.h
649 llpanelgroup.h
650 llpanelgroupgeneral.h
651 llpanelgroupinvite.h
652 llpanelgrouplandmoney.h
653 llpanelgroupnotices.h
654 llpanelgrouproles.h
655 llpanelgroupvoting.h
656 llpanelinput.h
657 llpanelinventory.h
658 llpanelland.h
659 llpanellandmedia.h
660 llpanellandobjects.h
661 llpanellandoptions.h
662 llpanelLCD.h
663 llpanellogin.h
664 llpanelmorph.h
665 llpanelmsgs.h
666 llpanelnetwork.h
667 llpanelobject.h
668 llpanelpermissions.h
669 llpanelpick.h
670 llpanelplace.h
671 llpanelskins.h
672 llpanelvolume.h
673 llpanelweb.h
674 llparcelselection.h
675 llpatchvertexarray.h
676 llpolymesh.h
677 llpolymorph.h
678 llprefschat.h
679 llprefsim.h
680 llprefsvoice.h
681 llpreview.h
682 llpreviewanim.h
683 llpreviewgesture.h
684 llpreviewlandmark.h
685 llpreviewnotecard.h
686 llpreviewscript.h
687 llpreviewsound.h
688 llpreviewtexture.h
689 llprogressview.h
690 llregionposition.h
691 llremoteparcelrequest.h
692 llresourcedata.h
693 llsavedsettingsglue.h
694 llselectmgr.h
695 llsky.h
696 llspatialpartition.h
697 llsprite.h
698 llsrv.h
699 llstartup.h
700 llstatbar.h
701 llstatgraph.h
702 llstatusbar.h
703 llstatview.h
704 llstylemap.h
705 llsurface.h
706 llsurfacepatch.h
707 lltable.h
708 lltexlayer.h
709 lltexturecache.h
710 lltexturectrl.h
711 lltexturefetch.h
712 lltextureview.h
713 lltool.h
714 lltoolbar.h
715 lltoolbrush.h
716 lltoolcomp.h
717 lltooldraganddrop.h
718 lltoolface.h
719 lltoolfocus.h
720 lltoolgrab.h
721 lltoolgun.h
722 lltoolindividual.h
723 lltoolmgr.h
724 lltoolmorph.h
725 lltoolobjpicker.h
726 lltoolpie.h
727 lltoolpipette.h
728 lltoolplacer.h
729 lltoolselect.h
730 lltoolselectland.h
731 lltoolselectrect.h
732 lltoolview.h
733 lltracker.h
734 lltrans.h
735 lluiconstants.h
736 lluploaddialog.h
737 llurl.h
738 llurldispatcher.h
739 llurlhistory.h
740 llurlsimstring.h
741 llurlwhitelist.h
742 lluserauth.h
743 llvectorperfoptions.h
744 llvelocitybar.h
745 llviewchildren.h
746 llviewerassetstorage.h
747 llvieweraudio.h
748 llviewerbuild.h
749 llviewercamera.h
750 llviewercontrol.h
751 llviewerdisplay.h
752 llviewergenericmessage.h
753 llviewergesture.h
754 llviewerimage.h
755 llviewerimagelist.h
756 llviewerinventory.h
757 llviewerjoint.h
758 llviewerjointattachment.h
759 llviewerjointmesh.h
760 llviewerjoystick.h
761 llviewerkeyboard.h
762 llviewerlayer.h
763 llviewermedia.h
764 llviewermenu.h
765 llviewermenufile.h
766 llviewermessage.h
767 llviewernetwork.h
768 llviewerobject.h
769 llviewerobjectlist.h
770 llviewerparcelmedia.h
771 llviewerparcelmediaautoplay.h
772 llviewerparcelmgr.h
773 llviewerparceloverlay.h
774 llviewerpartsim.h
775 llviewerpartsource.h
776 llviewerprecompiledheaders.h
777 llviewerregion.h
778 llviewershadermgr.h
779 llviewerstats.h
780 llviewertexteditor.h
781 llviewertextureanim.h
782 llviewerthrottle.h
783 llviewervisualparam.h
784 llviewerwindow.h
785 llvlcomposition.h
786 llvlmanager.h
787 llvoavatar.h
788 llvocache.h
789 llvoclouds.h
790 llvograss.h
791 llvoground.h
792 llvoiceclient.h
793 llvoiceremotectrl.h
794 llvoicevisualizer.h
795 llvoinventorylistener.h
796 llvopartgroup.h
797 llvosky.h
798 llvosurfacepatch.h
799 llvotextbubble.h
800 llvotree.h
801 llvotreenew.h
802 llvovolume.h
803 llvowater.h
804 llvowlsky.h
805 llwatchdog.h
806 llwaterparammanager.h
807 llwaterparamset.h
808 llwearable.h
809 llwearablelist.h
810 llweb.h
811 llwebbrowserctrl.h
812 llwind.h
813 llwindebug.h
814 llwlanimator.h
815 llwldaycycle.h
816 llwlparammanager.h
817 llwlparamset.h
818 llworld.h
819 llworldmap.h
820 llworldmapview.h
821 llxmlrpctransaction.h
822 macmain.h
823 noise.h
824 pipeline.h
825 randgauss.h
826 VertexCache.h
827 VorbisFramework.h
828 )
829
830source_group("CMake Rules" FILES ViewerInstall.cmake)
831
832if (DARWIN)
833 LIST(APPEND viewer_SOURCE_FILES llappviewermacosx.cpp)
834
835 find_library(AGL_LIBRARY AGL)
836 find_library(APPKIT_LIBRARY AppKit)
837 find_library(COCOA_LIBRARY Cocoa)
838 find_library(IOKIT_LIBRARY IOKit)
839
840 set(viewer_LIBRARIES
841 ${COCOA_LIBRARY}
842 ${AGL_LIBRARY}
843 ${IOKIT_LIBRARY}
844 )
845
846 # Add resource files to the project.
847 set(viewer_RESOURCE_FILES
848 secondlife.icns
849 macview.r
850 gpu_table.txt
851 Info-SecondLife.plist
852 SecondLife.nib/
853 # CMake doesn't seem to support Xcode language variants well just yet
854 English.lproj/InfoPlist.strings
855 English.lproj/language.txt
856 German.lproj/language.txt
857 Japanese.lproj/language.txt
858 Korean.lproj/language.txt
859 )
860 set_source_files_properties(
861 ${viewer_RESOURCE_FILES}
862 PROPERTIES
863 HEADER_FILE_ONLY TRUE
864 #MACOSX_PACKAGE_LOCATION Resources #don't do this! this tells cmake to copy the files.
865 )
866 SOURCE_GROUP("Resources" FILES ${viewer_RESOURCE_FILES})
867 list(APPEND viewer_SOURCE_FILES ${viewer_RESOURCE_FILES})
868endif (DARWIN)
869
870if (LINUX)
871 LIST(APPEND viewer_SOURCE_FILES llappviewerlinux.cpp)
872 LIST(APPEND CMAKE_EXE_LINKER_FLAGS -Wl,--as-needed)
873
874 set(viewer_LIBRARIES
875 Xinerama
876 )
877endif (LINUX)
878
879if (WINDOWS)
880 list(APPEND viewer_SOURCE_FILES
881 llappviewerwin32.cpp
882 llwindebug.cpp
883 )
884
885 list(APPEND viewer_HEADER_FILES
886 llappviewerwin32.h
887 llwindebug.h
888 )
889
890 # precompiled header configuration
891 # llviewerprecompiledheaders.cpp generates
892 # the .pch file.
893 # All sources added to viewer_SOURCE_FILES
894 # at this point use it.
895 set_source_files_properties(llviewerprecompiledheaders.cpp
896 PROPERTIES
897 COMPILE_FLAGS "/Ycllviewerprecompiledheaders.h"
898 )
899 foreach( src_file ${viewer_SOURCE_FILES} )
900 set_source_files_properties(
901 ${src_file}
902 PROPERTIES
903 COMPILE_FLAGS "/Yullviewerprecompiledheaders.h"
904 )
905 endforeach( src_file ${viewer_SOURCE_FILES} )
906 list(APPEND viewer_SOURCE_FILES llviewerprecompiledheaders.cpp)
907
908 # Add resource files to the project.
909 # viewerRes.rc is the only buildable file, but
910 # the rest are all dependencies of it.
911 set(viewer_RESOURCE_FILES
912 res/arrow.cur
913 res/arrowcop.cur
914 res/arrowcopmulti.cur
915 res/arrowdrag.cur
916 res/bitmap2.bmp
917 res/circleandline.cur
918 res/icon1.ico
919 res/install_icon.BMP
920 res/install_icon.ico
921 res/llarrow.cur
922 res/llarrowdrag.cur
923 res/llarrowdragmulti.cur
924 res/llarrowlocked.cur
925 res/llgrablocked.cur
926 res/llno.cur
927 res/llnolocked.cur
928 res/lltoolcamera.cur
929 res/lltoolcreate.cur
930 res/lltoolfocus.cur
931 res/lltoolgrab.cur
932 res/lltoolland.cur
933 res/lltoolpan.cur
934 res/lltoolpipette.cur
935 res/lltoolrotate.cur
936 res/lltoolscale.cur
937 res/lltooltranslate.cur
938 res/lltoolzoomin.cur
939 res/lltoolzoomout.cur
940 res/ll_icon.BMP
941 res/ll_icon.ico
942 res/loginbackground.bmp
943 res/resource.h
944 res/toolbuy.cur
945 res/toolopen.cur
946 res/toolpay.cur
947 res/toolpickobject.cur
948 res/toolpickobject2.cur
949 res/toolpickobject3.cur
950 res/toolpipette.cur
951 res/toolsit.cur
952 res/uninstall_icon.BMP
953 res/uninstall_icon.ico
954 )
955
956 set_source_files_properties(${viewer_RESOURCE_FILES}
957 PROPERTIES HEADER_FILE_ONLY TRUE)
958
959 set(viewer_RESOURCE_FILES
960 res/viewerRes.rc
961 ${viewer_RESOURCE_FILES}
962 )
963
964 SOURCE_GROUP("Resource Files" FILES ${viewer_RESOURCE_FILES})
965
966 list(APPEND viewer_SOURCE_FILES ${viewer_RESOURCE_FILES})
967
968 find_library(DINPUT_LIBRARY dinput8 ${DIRECTX_LIBRARY_DIR})
969 find_library(DXGUID_LIBRARY dxguid ${DIRECTX_LIBRARY_DIR})
970 mark_as_advanced(
971 DINPUT_LIBRARY
972 DXGUID_LIBRARY
973 )
974
975 set(viewer_LIBRARIES
976 advapi32
977 comdlg32
978 ${DINPUT_LIBRARY}
979 ${DXGUID_LIBRARY}
980 fmodvc
981 gdi32
982 kernel32
983 odbc32
984 odbccp32
985 ole32
986 oleaut32
987 opengl32
988 shell32
989 user32
990 Vfw32
991 winspool
992 )
993
994 find_library(INTEL_MEMOPS_LIBRARY
995 NAMES ll_intel_memops
996 PATHS
997 optimized ${ARCH_PREBUILT_DIRS_RELEASE}
998 debug ${ARCH_PREBUILT_DIRS_DEBUG}
999 )
1000 mark_as_advanced(INTEL_MEMOPS_LIBRARY)
1001
1002 if (INTEL_MEMOPS_LIBRARY)
1003 list(APPEND viewer_LIBRARIES ${INTEL_MEMOPS_LIBRARY})
1004 endif (INTEL_MEMOPS_LIBRARY)
1005endif (WINDOWS)
1006
1007# Add the xui files. This is handy for searching for xui elements
1008# from within the IDE
1009set(viewer_XUI_FILES
1010 skins/default/colors.xml
1011 skins/default/colors_base.xml
1012 skins/default/xui/en-us/alerts.xml
1013 skins/default/xui/en-us/floater_about_land.xml
1014 skins/default/xui/en-us/floater_about.xml
1015 skins/default/xui/en-us/floater_active_speakers.xml
1016 skins/default/xui/en-us/floater_animation_preview.xml
1017 skins/default/xui/en-us/floater_auction.xml
1018 skins/default/xui/en-us/floater_audio_volume.xml
1019 skins/default/xui/en-us/floater_avatar_picker.xml
1020 skins/default/xui/en-us/floater_avatar_textures.xml
1021 skins/default/xui/en-us/floater_build_options.xml
1022 skins/default/xui/en-us/floater_bumps.xml
1023 skins/default/xui/en-us/floater_buy_contents.xml
1024 skins/default/xui/en-us/floater_buy_currency.xml
1025 skins/default/xui/en-us/floater_buy_land.xml
1026 skins/default/xui/en-us/floater_buy_object.xml
1027 skins/default/xui/en-us/floater_camera.xml
1028 skins/default/xui/en-us/floater_chat_history.xml
1029 skins/default/xui/en-us/floater_chatterbox.xml
1030 skins/default/xui/en-us/floater_choose_group.xml
1031 skins/default/xui/en-us/floater_clothing.xml
1032 skins/default/xui/en-us/floater_color_picker.xml
1033 skins/default/xui/en-us/floater_critical.xml
1034 skins/default/xui/en-us/floater_customize.xml
1035 skins/default/xui/en-us/floater_day_cycle_options.xml
1036 skins/default/xui/en-us/floater_device_settings.xml
1037 skins/default/xui/en-us/floater_directory.xml
1038 skins/default/xui/en-us/floater_env_settings.xml
1039 skins/default/xui/en-us/floater_gesture.xml
1040 skins/default/xui/en-us/floater_god_tools.xml
1041 skins/default/xui/en-us/floater_group_info.xml
1042 skins/default/xui/en-us/floater_hardware_settings.xml
1043 skins/default/xui/en-us/floater_html.xml
1044 skins/default/xui/en-us/floater_hud.xml
1045 skins/default/xui/en-us/floater_image_preview.xml
1046 skins/default/xui/en-us/floater_import.xml
1047 skins/default/xui/en-us/floater_im.xml
1048 skins/default/xui/en-us/floater_inspect.xml
1049 skins/default/xui/en-us/floater_instant_message_ad_hoc.xml
1050 skins/default/xui/en-us/floater_instant_message_group.xml
1051 skins/default/xui/en-us/floater_instant_message.xml
1052 skins/default/xui/en-us/floater_inventory_item_properties.xml
1053 skins/default/xui/en-us/floater_inventory_view_finder.xml
1054 skins/default/xui/en-us/floater_inventory.xml
1055 skins/default/xui/en-us/floater_joystick.xml
1056 skins/default/xui/en-us/floater_lagmeter.xml
1057 skins/default/xui/en-us/floater_land_holdings.xml
1058 skins/default/xui/en-us/floater_landmark_ctrl.xml
1059 skins/default/xui/en-us/floater_live_lsleditor.xml
1060 skins/default/xui/en-us/floater_lsl_guide.xml
1061 skins/default/xui/en-us/floater_media_browser.xml
1062 skins/default/xui/en-us/floater_moveview.xml
1063 skins/default/xui/en-us/floater_mute_object.xml
1064 skins/default/xui/en-us/floater_mute.xml
1065 skins/default/xui/en-us/floater_my_friends.xml
1066 skins/default/xui/en-us/floater_name_description.xml
1067 skins/default/xui/en-us/floater_new_im.xml
1068 skins/default/xui/en-us/floater_new_outfit_dialog.xml
1069 skins/default/xui/en-us/floater_openobject.xml
1070 skins/default/xui/en-us/floater_pay_object.xml
1071 skins/default/xui/en-us/floater_pay.xml
1072 skins/default/xui/en-us/floater_postcard.xml
1073 skins/default/xui/en-us/floater_post_process.xml
1074 skins/default/xui/en-us/floater_preferences.xml
1075 skins/default/xui/en-us/floater_preview_animation.xml
1076 skins/default/xui/en-us/floater_preview_classified.xml
1077 skins/default/xui/en-us/floater_preview_embedded_texture.xml
1078 skins/default/xui/en-us/floater_preview_event.xml
1079 skins/default/xui/en-us/floater_preview_existing_landmark.xml
1080 skins/default/xui/en-us/floater_preview_gesture.xml
1081 skins/default/xui/en-us/floater_preview_notecard_keep_discard.xml
1082 skins/default/xui/en-us/floater_preview_notecard.xml
1083 skins/default/xui/en-us/floater_preview_sound.xml
1084 skins/default/xui/en-us/floater_preview_texture_keep_discard.xml
1085 skins/default/xui/en-us/floater_preview_texture.xml
1086 skins/default/xui/en-us/floater_preview_url.xml
1087 skins/default/xui/en-us/floater_price_for_listing.xml
1088 skins/default/xui/en-us/floater_profile.xml
1089 skins/default/xui/en-us/floater_region_info.xml
1090 skins/default/xui/en-us/floater_report_abuse.xml
1091 skins/default/xui/en-us/floater_report_bug.xml
1092 skins/default/xui/en-us/floater_script_debug.xml
1093 skins/default/xui/en-us/floater_script_ed_panel.xml
1094 skins/default/xui/en-us/floater_script_preview.xml
1095 skins/default/xui/en-us/floater_script_queue.xml
1096 skins/default/xui/en-us/floater_script_search.xml
1097 skins/default/xui/en-us/floater_select_key.xml
1098 skins/default/xui/en-us/floater_sell_land.xml
1099 skins/default/xui/en-us/floater_settings_debug.xml
1100 skins/default/xui/en-us/floater_sim_release_message.xml
1101 skins/default/xui/en-us/floater_snapshot.xml
1102 skins/default/xui/en-us/floater_sound_preview.xml
1103 skins/default/xui/en-us/floater_telehub.xml
1104 skins/default/xui/en-us/floater_test.xml
1105 skins/default/xui/en-us/floater_texture_ctrl.xml
1106 skins/default/xui/en-us/floater_tools.xml
1107 skins/default/xui/en-us/floater_top_objects.xml
1108 skins/default/xui/en-us/floater_tos.xml
1109 skins/default/xui/en-us/floater_url_entry.xml
1110 skins/default/xui/en-us/floater_voice_wizard.xml
1111 skins/default/xui/en-us/floater_water.xml
1112 skins/default/xui/en-us/floater_wearable_save_as.xml
1113 skins/default/xui/en-us/floater_windlight_options.xml
1114 skins/default/xui/en-us/floater_world_map.xml
1115 skins/default/xui/en-us/menu_inventory.xml
1116 skins/default/xui/en-us/menu_login.xml
1117 skins/default/xui/en-us/menu_pie_attachment.xml
1118 skins/default/xui/en-us/menu_pie_avatar.xml
1119 skins/default/xui/en-us/menu_pie_land.xml
1120 skins/default/xui/en-us/menu_pie_object.xml
1121 skins/default/xui/en-us/menu_pie_self.xml
1122 skins/default/xui/en-us/menu_slurl.xml
1123 skins/default/xui/en-us/menu_viewer.xml
1124 skins/default/xui/en-us/mime_types.xml
1125 skins/default/xui/en-us/notify.xml
1126 skins/default/xui/en-us/panel_audio_device.xml
1127 skins/default/xui/en-us/panel_audio.xml
1128 skins/default/xui/en-us/panel_avatar_classified.xml
1129 skins/default/xui/en-us/panel_avatar_pick.xml
1130 skins/default/xui/en-us/panel_avatar.xml
1131 skins/default/xui/en-us/panel_bars.xml
1132 skins/default/xui/en-us/panel_bg_tab.xml
1133 skins/default/xui/en-us/panel_bg_toolbar.xml
1134 skins/default/xui/en-us/panel_chat_bar.xml
1135 skins/default/xui/en-us/panel_classified.xml
1136 skins/default/xui/en-us/panel_event.xml
1137 skins/default/xui/en-us/panel_friends.xml
1138 skins/default/xui/en-us/panel_group_finder.xml
1139 skins/default/xui/en-us/panel_group_general.xml
1140 skins/default/xui/en-us/panel_group_invite.xml
1141 skins/default/xui/en-us/panel_group_land_money.xml
1142 skins/default/xui/en-us/panel_group_notices.xml
1143 skins/default/xui/en-us/panel_group_roles.xml
1144 skins/default/xui/en-us/panel_groups.xml
1145 skins/default/xui/en-us/panel_group_voting.xml
1146 skins/default/xui/en-us/panel_group.xml
1147 skins/default/xui/en-us/panel_land_covenant.xml
1148 skins/default/xui/en-us/panel_login.xml
1149 skins/default/xui/en-us/panel_master_volume.xml
1150 skins/default/xui/en-us/panel_media_controls.xml
1151 skins/default/xui/en-us/panel_media_remote_expanded.xml
1152 skins/default/xui/en-us/panel_media_remote.xml
1153 skins/default/xui/en-us/panel_overlaybar.xml
1154 skins/default/xui/en-us/panel_place_small.xml
1155 skins/default/xui/en-us/panel_place.xml
1156 skins/default/xui/en-us/panel_preferences_audio.xml
1157 skins/default/xui/en-us/panel_preferences_chat.xml
1158 skins/default/xui/en-us/panel_preferences_general.xml
1159 skins/default/xui/en-us/panel_preferences_graphics1.xml
1160 skins/default/xui/en-us/panel_preferences_im.xml
1161 skins/default/xui/en-us/panel_preferences_input.xml
1162 skins/default/xui/en-us/panel_preferences_network.xml
1163 skins/default/xui/en-us/panel_preferences_popups.xml
1164 skins/default/xui/en-us/panel_preferences_voice.xml
1165 skins/default/xui/en-us/panel_preferences_web.xml
1166 skins/default/xui/en-us/panel_region_covenant.xml
1167 skins/default/xui/en-us/panel_region_debug.xml
1168 skins/default/xui/en-us/panel_region_estate.xml
1169 skins/default/xui/en-us/panel_region_general.xml
1170 skins/default/xui/en-us/panel_region_terrain.xml
1171 skins/default/xui/en-us/panel_region_texture.xml
1172 skins/default/xui/en-us/panel_scrolling_param.xml
1173 skins/default/xui/en-us/panel_speaker_controls.xml
1174 skins/default/xui/en-us/panel_status_bar.xml
1175 skins/default/xui/en-us/panel_toolbar.xml
1176 skins/default/xui/en-us/panel_top_pick.xml
1177 skins/default/xui/en-us/panel_voice_controls.xml
1178 skins/default/xui/en-us/panel_voice_enable.xml
1179 skins/default/xui/en-us/panel_voice_options.xml
1180 skins/default/xui/en-us/panel_voice_remote_expanded.xml
1181 skins/default/xui/en-us/panel_voice_remote.xml
1182 skins/default/xui/en-us/role_actions.xml
1183 skins/default/xui/en-us/strings.xml
1184 skins/default/xui/en-us/teleport_strings.xml
1185 skins/default/xui/en-us/xui_version.xml
1186 )
1187
1188source_group("XUI Files" FILES ${viewer_XUI_FILES})
1189
1190set_source_files_properties(${viewer_XUI_FILES}
1191 PROPERTIES HEADER_FILE_ONLY TRUE)
1192
1193list(APPEND viewer_SOURCE_FILES ${viewer_XUI_FILES})
1194
1195set(viewer_APPSETTINGS_FILES
1196 app_settings/anim.ini
1197 app_settings/cmd_line.xml
1198 app_settings/grass.xml
1199 app_settings/high_graphics.xml
1200 app_settings/keys.ini
1201 app_settings/keywords.ini
1202 app_settings/logcontrol.xml
1203 app_settings/low_graphics.xml
1204 app_settings/mid_graphics.xml
1205 app_settings/settings.xml
1206 app_settings/settings_crash_behavior.xml
1207 app_settings/settings_files.xml
1208 app_settings/settings_per_account.xml
1209 app_settings/std_bump.ini
1210 app_settings/trees.xml
1211 app_settings/ultra_graphics.xml
1212 app_settings/viewerart.xml
1213 ${CMAKE_SOURCE_DIR}/../etc/message.xml
1214 ${CMAKE_SOURCE_DIR}/../scripts/messages/message_template.msg
1215 )
1216
1217source_group("App Settings" FILES ${viewer_APPSETTINGS_FILES})
1218
1219set_source_files_properties(${viewer_APPSETTINGS_FILES}
1220 PROPERTIES HEADER_FILE_ONLY TRUE)
1221
1222list(APPEND viewer_SOURCE_FILES ${viewer_APPSETTINGS_FILES})
1223
1224set(viewer_CHARACTER_FILES
1225 character/attentions.xml
1226 character/attentionsN.xml
1227 character/avatar_lad.xml
1228 character/avatar_skeleton.xml
1229 character/genepool.xml
1230 )
1231
1232source_group("Character File" FILES ${viewer_CHARACTER_FILES})
1233
1234set_source_files_properties(${viewer_CHARACTER_FILES}
1235 PROPERTIES HEADER_FILE_ONLY TRUE)
1236
1237list(APPEND viewer_SOURCE_FILES ${viewer_CHARACTER_FILES})
1238
1239if (FMOD)
1240 set_source_files_properties(llstartup.cpp PROPERTIES COMPILE_FLAGS -DLL_FMOD)
1241
1242 if (NOT WINDOWS)
1243 set(fmodwrapper_SOURCE_FILES fmodwrapper.cpp)
1244 add_library(fmodwrapper SHARED ${fmodwrapper_SOURCE_FILES})
1245 set(fmodwrapper_needed_LIBRARIES ${FMOD_LIBRARY})
1246 if (DARWIN)
1247 list(APPEND fmodwrapper_needed_LIBRARIES ${CARBON_LIBRARY})
1248 set_target_properties(
1249 fmodwrapper
1250 PROPERTIES
1251 BUILD_WITH_INSTALL_RPATH 1
1252 INSTALL_NAME_DIR "@executable_path/../Resources"
1253 )
1254 endif (DARWIN)
1255 set(FMODWRAPPER_LIBRARY fmodwrapper)
1256 target_link_libraries(fmodwrapper ${fmodwrapper_needed_LIBRARIES})
1257 endif (NOT WINDOWS)
1258endif (FMOD)
1259
1260list(APPEND viewer_SOURCE_FILES ${viewer_HEADER_FILES})
1261
1262set_source_files_properties(${viewer_HEADER_FILES}
1263 PROPERTIES HEADER_FILE_ONLY TRUE)
1264
1265add_executable(secondlife-bin
1266 WIN32
1267 MACOSX_BUNDLE
1268 ${viewer_SOURCE_FILES}
1269 )
1270check_message_template(secondlife-bin)
1271
1272if (LLKDU_LIBRARY)
1273 add_dependencies(secondlife-bin ${LLKDU_LIBRARY})
1274endif (LLKDU_LIBRARY)
1275
1276set(PACKAGE OFF CACHE BOOL
1277 "Add a package target that builds an installer package.")
1278
1279if (WINDOWS)
1280 if(MSVC71)
1281 set(release_flags "/MAP:Release/secondlife-bin.map /MAPINFO:LINES")
1282 else(MSVC71)
1283 set(release_flags "/MAP:Release/secondlife-bin.map")
1284 endif(MSVC71)
1285
1286 set_target_properties(secondlife-bin
1287 PROPERTIES
1288 LINK_FLAGS "/debug /NODEFAULTLIB:MSVCRT /SUBSYSTEM:WINDOWS"
1289 LINK_FLAGS_DEBUG "/NODEFAULTLIB:LIBCMT /NODEFAULTLIB:MSVCRTD"
1290 LINK_FLAGS_RELEASE ${release_flags}
1291 )
1292
1293 # sets the 'working directory' for debugging from visual studio.
1294 if (NOT UNATTENDED)
1295 add_custom_command(
1296 TARGET secondlife-bin PRE_BUILD
1297 COMMAND ${CMAKE_SOURCE_DIR}/tools/vstool/vstool.exe
1298 ARGS
1299 --solution
1300 ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}.sln
1301 --workingdir
1302 secondlife-bin
1303 ${CMAKE_CURRENT_SOURCE_DIR}
1304 COMMENT "Setting the secondlife-bin working directory for debugging."
1305 )
1306 endif (NOT UNATTENDED)
1307
1308 add_custom_command(
1309 TARGET secondlife-bin PRE_BUILD
1310 COMMAND ${CMAKE_COMMAND}
1311 ARGS
1312 -E
1313 copy_if_different
1314 ${CMAKE_CURRENT_SOURCE_DIR}/../../scripts/messages/message_template.msg
1315 ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/app_settings/message_template.msg
1316 COMMENT "Copying message_template.msg to the runtime folder."
1317 )
1318
1319 add_custom_command(
1320 TARGET secondlife-bin PRE_BUILD
1321 COMMAND ${CMAKE_COMMAND}
1322 ARGS
1323 -E
1324 copy_if_different
1325 ${CMAKE_CURRENT_SOURCE_DIR}/../../etc/message.xml
1326 ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/app_settings/message.xml
1327 COMMENT "Copying message.xml to the runtime folder."
1328 )
1329
1330 add_dependencies(secondlife-bin copy_win_libs)
1331
1332 if (EXISTS ${CMAKE_SOURCE_DIR}/copy_win_scripts)
1333 add_dependencies(secondlife-bin copy_win_scripts)
1334 endif (EXISTS ${CMAKE_SOURCE_DIR}/copy_win_scripts)
1335
1336 add_custom_command(
1337 OUTPUT ${CMAKE_CFG_INTDIR}/touched.bat
1338 COMMAND ${PYTHON_EXECUTABLE}
1339 ARGS
1340 ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
1341 --configuration=${CMAKE_CFG_INTDIR}
1342 --channel=${VIEWER_CHANNEL}
1343 --login_channel=${VIEWER_CHANNEL}
1344 --grid=${GRID}
1345 --source=${CMAKE_CURRENT_SOURCE_DIR}
1346 --artwork=${ARTWORK_DIR}
1347 --build=${CMAKE_CURRENT_BINARY_DIR}
1348 --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
1349 --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/touched.bat
1350 DEPENDS secondlife-bin ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
1351 )
1352 if (PACKAGE)
1353 add_custom_target(package ALL DEPENDS ${CMAKE_CFG_INTDIR}/touched.bat)
1354 add_dependencies(package windows-updater windows-crash-logger)
1355 endif (PACKAGE)
1356endif (WINDOWS)
1357
1358target_link_libraries(secondlife-bin
1359 ${LLAUDIO_LIBRARIES}
1360 ${LLCHARACTER_LIBRARIES}
1361 ${LLIMAGE_LIBRARIES}
1362 ${LLIMAGEJ2COJ_LIBRARIES}
1363 ${LLINVENTORY_LIBRARIES}
1364 ${LLMEDIA_LIBRARIES}
1365 ${LLMESSAGE_LIBRARIES}
1366 ${LLPRIMITIVE_LIBRARIES}
1367 ${LLRENDER_LIBRARIES}
1368 ${FREETYPE_LIBRARIES}
1369 ${LLUI_LIBRARIES}
1370 ${LLVFS_LIBRARIES}
1371 ${LLWINDOW_LIBRARIES}
1372 ${LLXML_LIBRARIES}
1373 ${LSCRIPT_LIBRARIES}
1374 ${LLMATH_LIBRARIES}
1375 ${LLCOMMON_LIBRARIES}
1376 ${viewer_LIBRARIES}
1377 ${BOOST_PROGRAM_OPTIONS_LIBRARY}
1378 ${BOOST_REGEX_LIBRARY}
1379 ${BOOST_SIGNALS_LIBRARY}
1380 ${OPENGL_LIBRARIES}
1381 ${FMODWRAPPER_LIBRARY}
1382 ${OPENGL_LIBRARIES}
1383 ${MOZLIB_LIBRARIES}
1384 ${SDL_LIBRARY}
1385 ${SMARTHEAP_LIBRARY}
1386 ${UI_LIBRARIES}
1387 ${NDOF_LIBRARY}
1388 ${QUICKTIME_LIBRARY}
1389 ${WINDOWS_LIBRARIES}
1390 ${XMLRPCEPI_LIBRARIES}
1391 ${ZLIB_LIBRARIES}
1392 ${ELFIO_LIBRARIES}
1393 )
1394
1395build_version(viewer)
1396
1397set(ARTWORK_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE PATH
1398 "Path to artwork files.")
1399
1400
1401if (LINUX)
1402 add_custom_command(
1403 OUTPUT secondlife-stripped
1404 COMMAND strip
1405 ARGS --strip-debug -o secondlife-stripped secondlife-bin
1406 DEPENDS secondlife-bin
1407 )
1408
1409 set(product SecondLife-${ARCH}-${viewer_VERSION})
1410
1411 add_custom_command(
1412 OUTPUT ${product}.tar.bz2
1413 COMMAND ${PYTHON_EXECUTABLE}
1414 ARGS
1415 ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
1416 --grid=${GRID}
1417 --channel=${VIEWER_CHANNEL}
1418 --login_channel=${VIEWER_CHANNEL}
1419 --installer_name=${product}
1420 --arch=${ARCH}
1421 --source=${CMAKE_CURRENT_SOURCE_DIR}
1422 --artwork=${ARTWORK_DIR}
1423 --build=${CMAKE_CURRENT_BINARY_DIR}
1424 --dest=${CMAKE_CURRENT_BINARY_DIR}/packaged
1425 --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.touched
1426 DEPENDS secondlife-stripped ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
1427 )
1428
1429 if (NOT INSTALL)
1430 add_custom_target(package ALL DEPENDS ${product}.tar.bz2)
1431 add_dependencies(package linux-crash-logger-stripped)
1432 endif (NOT INSTALL)
1433endif (LINUX)
1434
1435if (DARWIN)
1436 set(product "Second Life")
1437 set_target_properties(
1438 secondlife-bin
1439 PROPERTIES
1440 OUTPUT_NAME "${product}"
1441 MACOSX_BUNDLE_INFO_STRING "info string - localize me"
1442 MACOSX_BUNDLE_ICON_FILE "secondlife.icns"
1443 MACOSX_BUNDLE_GUI_IDENTIFIER "Second Life"
1444 MACOSX_BUNDLE_LONG_VERSION_STRING "ververver"
1445 MACOSX_BUNDLE_BUNDLE_NAME "Second Life"
1446 MACOSX_BUNDLE_SHORT_VERSION_STRING "asdf"
1447 MACOSX_BUNDLE_BUNDLE_VERSION "asdf"
1448 MACOSX_BUNDLE_COPYRIGHT "copyright linden lab 2007 - localize me and run me through a legal wringer"
1449 )
1450
1451 add_custom_command(
1452 TARGET secondlife-bin POST_BUILD
1453 COMMAND ${PYTHON_EXECUTABLE}
1454 ARGS
1455 ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
1456 --grid=${GRID}
1457 --actions=copy
1458 --configuration=${CMAKE_CFG_INTDIR}
1459 --source=${CMAKE_CURRENT_SOURCE_DIR}
1460 --artwork=${ARTWORK_DIR}
1461 --build=${CMAKE_CURRENT_BINARY_DIR}
1462 --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${product}.app
1463 DEPENDS secondlife-bin ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
1464 )
1465
1466 if (PACKAGE)
1467 add_custom_target(package
1468 COMMAND
1469 ${PYTHON_EXECUTABLE}
1470 ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
1471 --grid=${GRID}
1472 --configuration=${CMAKE_CFG_INTDIR}
1473 --channel=${VIEWER_CHANNEL}
1474 --login_channel=${VIEWER_CHANNEL}
1475 --source=${CMAKE_CURRENT_SOURCE_DIR}
1476 --artwork=${ARTWORK_DIR}
1477 --build=${CMAKE_CURRENT_BINARY_DIR}
1478 --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${product}.app
1479 --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.touched
1480 DEPENDS
1481 secondlife-bin
1482 ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
1483 )
1484 add_dependencies(package mac-updater mac-crash-logger)
1485 endif (PACKAGE)
1486endif (DARWIN)
1487
1488if (INSTALL)
1489 include(${CMAKE_CURRENT_SOURCE_DIR}/ViewerInstall.cmake)
1490endif (INSTALL)