diff options
Diffstat (limited to 'linden/indra/llwindow/CMakeLists.txt')
-rw-r--r-- | linden/indra/llwindow/CMakeLists.txt | 147 |
1 files changed, 147 insertions, 0 deletions
diff --git a/linden/indra/llwindow/CMakeLists.txt b/linden/indra/llwindow/CMakeLists.txt new file mode 100644 index 0000000..95e315f --- /dev/null +++ b/linden/indra/llwindow/CMakeLists.txt | |||
@@ -0,0 +1,147 @@ | |||
1 | # -*- cmake -*- | ||
2 | # | ||
3 | # Compared to other libraries, compiling this one is a mess. The | ||
4 | # reason is that we have several source files that have two different | ||
5 | # sets of behaviour, depending on whether they're intended to be part | ||
6 | # of the viewer or the map server. | ||
7 | # | ||
8 | # Unfortunately, the affected code is a rat's nest of #ifdefs, so it's | ||
9 | # easier to play compilation tricks than to actually fix the problem. | ||
10 | |||
11 | project(llwindow) | ||
12 | |||
13 | include(00-Common) | ||
14 | include(DirectX) | ||
15 | include(LLCommon) | ||
16 | include(LLImage) | ||
17 | include(LLMath) | ||
18 | include(LLRender) | ||
19 | include(LLVFS) | ||
20 | include(LLWindow) | ||
21 | include(LLXML) | ||
22 | include(Mozlib) | ||
23 | include(UI) | ||
24 | |||
25 | include_directories( | ||
26 | ${LLCOMMON_INCLUDE_DIRS} | ||
27 | ${LLIMAGE_INCLUDE_DIRS} | ||
28 | ${LLMATH_INCLUDE_DIRS} | ||
29 | ${LLRENDER_INCLUDE_DIRS} | ||
30 | ${LLVFS_INCLUDE_DIRS} | ||
31 | ${LLWINDOW_INCLUDE_DIRS} | ||
32 | ${LLXML_INCLUDE_DIRS} | ||
33 | ) | ||
34 | |||
35 | set(llwindow_SOURCE_FILES | ||
36 | llkeyboard.cpp | ||
37 | llwindowheadless.cpp | ||
38 | ) | ||
39 | |||
40 | set(llwindows_HEADER_FILES | ||
41 | CMakeLists.txt | ||
42 | |||
43 | llkeyboard.h | ||
44 | llwindowheadless.h | ||
45 | ) | ||
46 | |||
47 | set(viewer_SOURCE_FILES | ||
48 | llwindow.cpp | ||
49 | ) | ||
50 | |||
51 | set(viewer_HEADER_FILES | ||
52 | llwindow.h | ||
53 | llpreeditor.h | ||
54 | llmousehandler.h | ||
55 | ) | ||
56 | |||
57 | if (DARWIN) | ||
58 | list(APPEND llwindow_SOURCE_FILES | ||
59 | llkeyboardmacosx.cpp | ||
60 | llwindowmacosx.cpp | ||
61 | llwindowmacosx-objc.mm | ||
62 | ) | ||
63 | list(APPEND llwindow_HEADER_FILES | ||
64 | llkeyboardmacosx.h | ||
65 | llwindowmacosx.h | ||
66 | llwindowmacosx-objc.h | ||
67 | ) | ||
68 | |||
69 | # We use a bunch of deprecated system APIs. | ||
70 | set_source_files_properties( | ||
71 | llkeyboardmacosx.cpp | ||
72 | llwindowmacosx.cpp | ||
73 | PROPERTIES | ||
74 | COMPILE_FLAGS "-Wno-deprecated-declarations -fpascal-strings" | ||
75 | ) | ||
76 | endif (DARWIN) | ||
77 | |||
78 | if (LINUX) | ||
79 | list(APPEND viewer_SOURCE_FILES | ||
80 | llkeyboardsdl.cpp | ||
81 | llwindowsdl.cpp | ||
82 | ) | ||
83 | list(APPEND viewer_HEADER_FILES | ||
84 | llkeyboardsdl.h | ||
85 | llwindowsdl.h | ||
86 | ) | ||
87 | endif (LINUX) | ||
88 | |||
89 | if (WINDOWS) | ||
90 | list(APPEND llwindow_SOURCE_FILES | ||
91 | llwindowwin32.cpp | ||
92 | lldxhardware.cpp | ||
93 | llkeyboardwin32.cpp | ||
94 | ) | ||
95 | list(APPEND llwindow_HEADER_FILES | ||
96 | llwindowwin32.h | ||
97 | lldxhardware.h | ||
98 | llkeyboardwin32.h | ||
99 | ) | ||
100 | endif (WINDOWS) | ||
101 | |||
102 | if (SOLARIS) | ||
103 | list(APPEND llwindow_SOURCE_FILES | ||
104 | llwindowsolaris.cpp | ||
105 | ) | ||
106 | list(APPEND llwindow_HEADER_FILES | ||
107 | llwindowsolaris.h | ||
108 | ) | ||
109 | endif (SOLARIS) | ||
110 | |||
111 | set_source_files_properties(${llwindow_HEADER_FILES} | ||
112 | PROPERTIES HEADER_FILE_ONLY TRUE) | ||
113 | |||
114 | if (SERVER AND NOT WINDOWS AND NOT DARWIN) | ||
115 | set(server_SOURCE_FILES | ||
116 | llwindowmesaheadless.cpp | ||
117 | ) | ||
118 | set(server_HEADER_FILES | ||
119 | llwindowmesaheadless.h | ||
120 | ) | ||
121 | copy_server_sources( | ||
122 | llwindow | ||
123 | ) | ||
124 | |||
125 | |||
126 | set_source_files_properties( | ||
127 | ${server_SOURCE_FILES} | ||
128 | PROPERTIES | ||
129 | COMPILE_FLAGS "-DLL_MESA=1 -DLL_MESA_HEADLESS=1" | ||
130 | ) | ||
131 | add_library (llwindowheadless | ||
132 | ${llwindow_SOURCE_FILES} | ||
133 | ${server_SOURCE_FILES} | ||
134 | ) | ||
135 | endif (SERVER AND NOT WINDOWS AND NOT DARWIN) | ||
136 | |||
137 | if (llwindow_HEADER_FILES) | ||
138 | list(APPEND llwindow_SOURCE_FILES ${llwindow_HEADER_FILES}) | ||
139 | endif (llwindow_HEADER_FILES) | ||
140 | list(APPEND viewer_SOURCE_FILES ${viewer_HEADER_FILES}) | ||
141 | |||
142 | if (VIEWER) | ||
143 | add_library (llwindow | ||
144 | ${llwindow_SOURCE_FILES} | ||
145 | ${viewer_SOURCE_FILES} | ||
146 | ) | ||
147 | endif (VIEWER) | ||