Code

Cmake: restructure build files to be more like current build system. Should reduce...
[inkscape.git] / src / CMakeLists.txt
1 IF(WIN32)\r
2     SET(ONLY_WIN\r
3     registrytool.cpp\r
4     #deptool.cpp\r
5     winmain.cpp)\r
6 ELSEIF(WIN32)\r
7     SET(ONLY_WIN)\r
8 ENDIF(WIN32)\r
9 \r
10 SET(SP_SRC\r
11 sp-anchor.cpp\r
12 sp-animation.cpp\r
13 sp-clippath.cpp\r
14 sp-conn-end.cpp\r
15 sp-conn-end-pair.cpp\r
16 sp-cursor.cpp\r
17 sp-defs.cpp\r
18 sp-ellipse.cpp\r
19 sp-filter.cpp\r
20 sp-filter-primitive.cpp\r
21 sp-filter-reference.cpp\r
22 sp-flowdiv.cpp\r
23 sp-flowregion.cpp\r
24 sp-flowtext.cpp\r
25 sp-font.cpp\r
26 sp-font-face.cpp\r
27 sp-gaussian-blur.cpp\r
28 sp-glyph.cpp\r
29 sp-gradient.cpp\r
30 sp-gradient-reference.cpp\r
31 sp-guide.cpp\r
32 sp-glyph-kerning.cpp\r
33 sp-image.cpp\r
34 spiral-context.cpp\r
35 sp-item.cpp\r
36 sp-item-group.cpp\r
37 sp-item-notify-moveto.cpp\r
38 sp-item-rm-unsatisfied-cns.cpp\r
39 sp-item-transform.cpp\r
40 sp-item-update-cns.cpp\r
41 sp-line.cpp\r
42 splivarot.cpp\r
43 sp-lpe-item.cpp\r
44 sp-mask.cpp\r
45 sp-metadata.cpp\r
46 sp-metrics.cpp\r
47 sp-missing-glyph.cpp\r
48 sp-namedview.cpp\r
49 sp-object.cpp\r
50 sp-object-group.cpp\r
51 sp-object-repr.cpp\r
52 sp-offset.cpp\r
53 sp-paint-server.cpp\r
54 sp-path.cpp\r
55 sp-pattern.cpp\r
56 sp-polygon.cpp\r
57 sp-polyline.cpp\r
58 sp-rect.cpp\r
59 sp-root.cpp\r
60 sp-shape.cpp\r
61 sp-skeleton.cpp\r
62 sp-spiral.cpp\r
63 sp-star.cpp\r
64 sp-string.cpp\r
65 sp-style-elem.cpp\r
66 sp-switch.cpp\r
67 sp-symbol.cpp\r
68 sp-text.cpp\r
69 sp-tref.cpp\r
70 sp-tref-reference.cpp\r
71 sp-tspan.cpp\r
72 sp-use.cpp\r
73 sp-use-reference.cpp\r
74 )\r
75 \r
76 SET(INKSCAPE_SRC\r
77 arc-context.cpp\r
78 attributes.cpp\r
79 axis-manip.cpp\r
80 box3d-context.cpp\r
81 box3d.cpp\r
82 box3d-side.cpp\r
83 color.cpp\r
84 color-profile.cpp\r
85 composite-undo-stack-observer.cpp\r
86 common-context.cpp\r
87 conditions.cpp\r
88 conn-avoid-ref.cpp\r
89 connector-context.cpp\r
90 console-output-undo-observer.cpp\r
91 context-fns.cpp\r
92 #deptool.cpp\r
93 desktop-affine.cpp\r
94 desktop.cpp\r
95 desktop-events.cpp\r
96 desktop-handles.cpp\r
97 desktop-style.cpp\r
98 device-manager.cpp\r
99 dir-util.cpp\r
100 document.cpp\r
101 document-subset.cpp\r
102 document-undo.cpp\r
103 doxygen-main.cpp\r
104 draw-anchor.cpp\r
105 draw-context.cpp\r
106 dropper-context.cpp\r
107 dyna-draw-context.cpp\r
108 ege-adjustment-action.cpp\r
109 ege-color-prof-tracker.cpp\r
110 ege-output-action.cpp\r
111 ege-select-one-action.cpp\r
112 eraser-context.cpp\r
113 event-context.cpp\r
114 event-log.cpp\r
115 extension\r
116 extract-uri.cpp\r
117 file.cpp\r
118 filter-chemistry.cpp\r
119 filter-enums.cpp\r
120 fixes.cpp\r
121 flood-context.cpp\r
122 gc-anchored.cpp\r
123 gc.cpp\r
124 gc-finalized.cpp\r
125 gradient-chemistry.cpp\r
126 gradient-context.cpp\r
127 gradient-drag.cpp\r
128 guide-snapper.cpp\r
129 help.cpp\r
130 id-clash.cpp\r
131 ige-mac-menu.c\r
132 ink-action.cpp\r
133 inkscape.cpp\r
134 inkscape.rc\r
135 inkscape-stock.cpp\r
136 interface.cpp\r
137 knot.cpp\r
138 knotholder.cpp\r
139 knot-holder-entity.cpp\r
140 layer-fns.cpp\r
141 layer-manager.cpp\r
142 line-geometry.cpp\r
143 line-snapper.cpp\r
144 main-cmdlineact.cpp\r
145 main.cpp\r
146 marker.cpp\r
147 media.cpp\r
148 message-context.cpp\r
149 message-stack.cpp\r
150 mod360.cpp\r
151 node-context.cpp\r
152 nodepath.cpp\r
153 object-edit.cpp\r
154 object-hierarchy.cpp\r
155 object-snapper.cpp\r
156 path-chemistry.cpp\r
157 pencil-context.cpp\r
158 pen-context.cpp\r
159 persp3d.cpp\r
160 persp3d-reference.cpp\r
161 perspective-line.cpp\r
162 plugin.def\r
163 preferences.cpp\r
164 prefix.cpp\r
165 print.cpp\r
166 profile-manager.cpp\r
167 proj_pt.cpp\r
168 rect-context.cpp\r
169 rubberband.cpp\r
170 satisfied-guide-cns.cpp\r
171 selcue.cpp\r
172 select-context.cpp\r
173 selection-chemistry.cpp\r
174 selection.cpp\r
175 selection-describer.cpp\r
176 #selfname.tpl\r
177 seltrans.cpp\r
178 seltrans-handles.cpp\r
179 shape-editor.cpp\r
180 shortcuts.cpp\r
181 snap.cpp\r
182 snapped-line.cpp\r
183 snapped-point.cpp\r
184 snapper.cpp\r
185 star-context.cpp\r
186 style.cpp\r
187 #style-test.cpp\r
188 svg-view.cpp\r
189 svg-view-widget.cpp\r
190 text-chemistry.cpp\r
191 text-context.cpp\r
192 text-editing.cpp\r
193 tools-switch.cpp\r
194 transf_mat_3x4.cpp\r
195 tweak-context.cpp\r
196 uri.cpp\r
197 uri-references.cpp\r
198 vanishing-point.cpp\r
199 verbs.cpp\r
200 version.cpp\r
201 zoom-context.cpp\r
202 ${ONLY_WIN}\r
203 )\r
204 # All folders for internal inkscape\r
205 SET(internalfolders\r
206 algorithms\r
207 api\r
208 application\r
209 bind\r
210 debug\r
211 dialogs\r
212 display\r
213 dom\r
214 extension\r
215 filters\r
216 graphlayout\r
217 helper\r
218 inkjar\r
219 io\r
220 jabber_whiteboard\r
221 live_effects\r
222 pedro\r
223 removeoverlap\r
224 svg\r
225 trace\r
226 traits\r
227 ui\r
228 util\r
229 widgets\r
230 xml\r
231 )\r
232 \r
233 FOREACH(srclistsrc ${internalfolders})\r
234   ADD_SUBDIRECTORY(${srclistsrc})\r
235 ENDFOREACH(srclistsrc)\r
236 \r
237 SET(INKSCAPE_SRC ${INKSCAPE_SRC} ${GlibOutput})\r
238 # All directories containing lists files that describe building internal libraries\r
239 SET(libfolders\r
240 2geom\r
241 libavoid\r
242 libcola\r
243 libcroco\r
244 libgdl\r
245 libnr\r
246 libnrtype\r
247 libvpsc\r
248 livarot\r
249 )\r
250 \r
251 FOREACH(dirlistsrc ${libfolders})\r
252   ADD_SUBDIRECTORY(${dirlistsrc})\r
253 ENDFOREACH(dirlistsrc)\r
254 \r
255 message(status "${INKSCAPE_LIBS}")\r
256 ADD_LIBRARY(sp STATIC ${SP_SRC})\r
257 TARGET_LINK_LIBRARIES(sp \r
258          2geom avoid cola croco gdl nr nrtype vpsc livarot\r
259 )\r
260 # make executable for INKSCAPE\r
261 ADD_EXECUTABLE(inkscape ${INKSCAPE_SRC})\r
262 TARGET_LINK_LIBRARIES(inkscape\r
263          2geom avoid cola croco gdl nr nrtype vpsc livarot sp ${internalfolders}\r
264 )\r
265 \r
266 # make executable for INKVIEW\r
267 #ADD_EXECUTABLE(inkview inkview.cpp)\r
268 #TARGET_LINK_LIBRARIES(inkview\r
269 #       "${INKSCAPE_LINK_FLAGS}" 2geom avoid cola croco gdl nr nrtype vpsc livarot sp ${internalfolders}\r
270 #)\r
271 \r