Code

Cmake: Moved sp-* into own library to reduce link cmdline and add new files to their...
[inkscape.git] / src / CMakeLists.txt
1 IF(WIN32)\r
2     SET(ONLY_WIN\r
3     registrytool.cpp
4     registrytool.h\r
5     #deptool.cpp
6     winmain.cpp)\r
7 ELSEIF(WIN32)\r
8     SET(ONLY_WIN)\r
9 ENDIF(WIN32)\r
10 SET(SP_SRC
11 sp-anchor.cpp
12 sp-anchor.h
13 sp-animation.cpp
14 sp-animation.h
15 sp-clippath.cpp
16 sp-clippath.h
17 sp-conn-end.cpp
18 sp-conn-end.h
19 sp-conn-end-pair.cpp
20 sp-conn-end-pair.h
21 sp-cursor.cpp
22 sp-cursor.h
23 sp-defs.cpp
24 sp-defs.h
25 sp-ellipse.cpp
26 sp-ellipse.h
27 sp-feblend.cpp
28 sp-feblend-fns.h
29 sp-feblend.h
30 sp-fecolormatrix.cpp
31 sp-fecolormatrix-fns.h
32 sp-fecolormatrix.h
33 sp-fecomponenttransfer.cpp
34 sp-fecomponenttransfer-fns.h
35 sp-fecomponenttransfer-funcnode.cpp
36 sp-fecomponenttransfer-funcnode.h
37 sp-fecomponenttransfer.h
38 sp-fecomposite.cpp
39 sp-fecomposite-fns.h
40 sp-fecomposite.h
41 sp-feconvolvematrix.cpp
42 sp-feconvolvematrix-fns.h
43 sp-feconvolvematrix.h
44 sp-fediffuselighting.cpp
45 sp-fediffuselighting-fns.h
46 sp-fediffuselighting.h
47 sp-fedisplacementmap.cpp
48 sp-fedisplacementmap-fns.h
49 sp-fedisplacementmap.h
50 sp-fedistantlight.cpp
51 sp-fedistantlight.h
52 sp-feflood.cpp
53 sp-feflood-fns.h
54 sp-feflood.h
55 sp-feimage.cpp
56 sp-feimage-fns.h
57 sp-feimage.h
58 sp-femerge.cpp
59 sp-femerge-fns.h
60 sp-femerge.h
61 sp-femergenode.cpp
62 sp-femergenode.h
63 sp-femorphology.cpp
64 sp-femorphology-fns.h
65 sp-femorphology.h
66 sp-feoffset.cpp
67 sp-feoffset-fns.h
68 sp-feoffset.h
69 sp-fepointlight.cpp
70 sp-fepointlight.h
71 sp-fespecularlighting.cpp
72 sp-fespecularlighting-fns.h
73 sp-fespecularlighting.h
74 sp-fespotlight.cpp
75 sp-fespotlight.h
76 sp-fetile.cpp
77 sp-fetile-fns.h
78 sp-fetile.h
79 sp-feturbulence.cpp
80 sp-feturbulence-fns.h
81 sp-feturbulence.h
82 sp-filter.cpp
83 sp-filter-fns.h
84 sp-filter.h
85 sp-filter-primitive.cpp
86 sp-filter-primitive.h
87 sp-filter-reference.cpp
88 sp-filter-reference.h
89 sp-filter-units.h
90 sp-flowdiv.cpp
91 sp-flowdiv.h
92 sp-flowregion.cpp
93 sp-flowregion.h
94 sp-flowtext.cpp
95 sp-flowtext.h
96 sp-font.cpp
97 sp-font.h
98 sp-font-face.cpp
99 sp-font-face.h
100 sp-gaussian-blur.cpp
101 sp-gaussian-blur-fns.h
102 sp-gaussian-blur.h
103 sp-glyph.cpp
104 sp-glyph.h
105 sp-gradient.cpp
106 sp-gradient-fns.h
107 sp-gradient.h
108 sp-gradient-reference.cpp
109 sp-gradient-reference.h
110 sp-gradient-spread.h
111 #sp-gradient-test.h
112 sp-gradient-units.h
113 sp-gradient-vector.h
114 sp-guide-attachment.h
115 sp-guide-constraint.h
116 sp-guide.cpp
117 sp-guide.h
118 sp-glyph-kerning.cpp
119 sp-glyph-kerning.h
120 sp-image.cpp
121 sp-image.h
122 spiral-context.cpp
123 spiral-context.h
124 sp-item.cpp
125 sp-item-group.cpp
126 sp-item-group.h
127 sp-item.h
128 sp-item-notify-moveto.cpp
129 sp-item-notify-moveto.h
130 sp-item-rm-unsatisfied-cns.cpp
131 sp-item-rm-unsatisfied-cns.h
132 sp-item-transform.cpp
133 sp-item-transform.h
134 sp-item-update-cns.cpp
135 sp-item-update-cns.h
136 sp-linear-gradient-fns.h
137 sp-linear-gradient.h
138 sp-line.cpp
139 sp-line.h
140 splivarot.cpp
141 splivarot.h
142 sp-lpe-item.cpp
143 sp-lpe-item.h
144 sp-marker-loc.h
145 sp-mask.cpp
146 sp-mask.h
147 sp-metadata.cpp
148 sp-metadata.h
149 sp-metric.h
150 sp-metrics.cpp
151 sp-metrics.h
152 sp-missing-glyph.cpp
153 sp-missing-glyph.h
154 sp-namedview.cpp
155 sp-namedview.h
156 sp-object.cpp
157 sp-object-group.cpp
158 sp-object-group.h
159 sp-object.h
160 sp-object-repr.cpp
161 sp-object-repr.h
162 sp-offset.cpp
163 sp-offset.h
164 sp-paint-server.cpp
165 sp-paint-server.h
166 sp-path.cpp
167 sp-path.h
168 sp-pattern.cpp
169 sp-pattern.h
170 sp-polygon.cpp
171 sp-polygon.h
172 sp-polyline.cpp
173 sp-polyline.h
174 sp-radial-gradient-fns.h
175 sp-radial-gradient.h
176 sp-rect.cpp
177 sp-rect.h
178 sp-root.cpp
179 sp-root.h
180 sp-shape.cpp
181 sp-shape.h
182 sp-skeleton.cpp
183 sp-skeleton.h
184 sp-spiral.cpp
185 sp-spiral.h
186 sp-star.cpp
187 sp-star.h
188 sp-stop-fns.h
189 sp-stop.h
190 sp-string.cpp
191 sp-string.h
192 sp-style-elem.cpp
193 sp-style-elem.h
194 #sp-style-elem-test.h
195 sp-switch.cpp
196 sp-switch.h
197 sp-symbol.cpp
198 sp-symbol.h
199 sp-text.cpp
200 sp-text.h
201 sp-textpath.h
202 sp-tref.cpp
203 sp-tref.h
204 sp-tref-reference.cpp
205 sp-tref-reference.h
206 sp-tspan.cpp
207 sp-tspan.h
208 sp-use.cpp
209 sp-use.h
210 sp-use-reference.cpp
211 sp-use-reference.h
213 \r
214 SET(INKSCAPE_SRC\r
215 approx-equal.h
216 arc-context.cpp
217 arc-context.h
218 attributes.cpp
219 attributes.h
220 #attributes-test.h
221 axis-manip.cpp
222 axis-manip.h
223 bad-uri-exception.h
224 box3d-context.cpp
225 box3d-context.h
226 box3d.cpp
227 box3d.h
228 box3d-side.cpp
229 box3d-side.h
230 color.cpp
231 color.h
232 color-profile.cpp
233 color-profile-fns.h
234 color-profile.h
235 #color-profile-test.h
236 color-rgba.h
237 composite-undo-stack-observer.cpp
238 composite-undo-stack-observer.h
239 conditions.cpp
240 conditions.h
241 conn-avoid-ref.cpp
242 conn-avoid-ref.h
243 connection-pool.h
244 connector-context.cpp
245 connector-context.h
246 console-output-undo-observer.cpp
247 console-output-undo-observer.h
248 context-fns.cpp
249 context-fns.h
250 decimal-round.h
251 #deptool.cpp
252 desktop-affine.cpp
253 desktop-affine.h
254 desktop.cpp
255 desktop-events.cpp
256 desktop-events.h
257 desktop.h
258 desktop-handles.cpp
259 desktop-handles.h
260 desktop-style.cpp
261 desktop-style.h
262 device-manager.cpp
263 device-manager.h
264 dir-util.cpp
265 dir-util.h
266 #dir-util-test.h
267 document.cpp
268 document.h
269 document-private.h
270 document-subset.cpp
271 document-subset.h
272 document-undo.cpp
273 doxygen-main.cpp
274 draw-anchor.cpp
275 draw-anchor.h
276 draw-context.cpp
277 draw-context.h
278 dropper-context.cpp
279 dropper-context.h
280 dyna-draw-context.cpp
281 dyna-draw-context.h
282 ege-adjustment-action.cpp
283 ege-adjustment-action.h
284 ege-color-prof-tracker.cpp
285 ege-color-prof-tracker.h
286 ege-output-action.cpp
287 ege-output-action.h
288 ege-select-one-action.cpp
289 ege-select-one-action.h
290 enums.h
291 eraser-context.cpp
292 eraser-context.h
293 event-context.cpp
294 event-context.h
295 event.h
296 event-log.cpp
297 event-log.h
298 extension
299 extract-uri.cpp
300 extract-uri.h
301 #extract-uri-test.h
302 file.cpp
303 file.h
304 fill-or-stroke.h
305 filter-chemistry.cpp
306 filter-chemistry.h
307 filter-enums.cpp
308 filter-enums.h
309 fixes.cpp
310 flood-context.cpp
311 flood-context.h
312 fontsize-expansion.cpp
313 fontsize-expansion.h
314 forward.h
315 gc-alloc.h
316 gc-anchored.cpp
317 gc-anchored.h
318 gc-core.h
319 gc.cpp
320 gc-finalized.cpp
321 gc-finalized.h
322 gc-managed.h
323 gc-soft-ptr.h
324 gradient-chemistry.cpp
325 gradient-chemistry.h
326 gradient-context.cpp
327 gradient-context.h
328 gradient-drag.cpp
329 gradient-drag.h
330 guide-snapper.cpp
331 guide-snapper.h
332 help.cpp
333 helper-fns.h
334 help.h
335 icon-size.h
336 ige-mac-menu.c
337 ige-mac-menu.h
338 ink-action.cpp
339 ink-action.h
340 inkscape.cpp
341 inkscape.h
342 inkscape-private.h
343 inkscape.rc
344 inkscape-stock.cpp
345 inkscape-stock.h
346 inkscape_version.h.mingw
347 interface.cpp
348 interface.h
349 isinf.h
350 isnan.h
351 isnormal.h
352 jabber_whiteboard
353 knot.cpp
354 knot-enums.h
355 knot.h
356 knotholder.cpp
357 knot-holder-entity.h
358 knotholder.h
359 layer-fns.cpp
360 layer-fns.h
361 layer-manager.cpp
362 layer-manager.h
363 line-geometry.cpp
364 line-geometry.h
365 line-snapper.cpp
366 line-snapper.h
367 macros.h
368 main-cmdlineact.cpp
369 main-cmdlineact.h
370 main.cpp
371 marker.cpp
372 marker.h
373 media.cpp
374 media.h
375 memeq.h
376 menus-skeleton.h
377 message-context.cpp
378 message-context.h
379 message.h
380 message-stack.cpp
381 message-stack.h
382 mod360.cpp
383 mod360.h
384 #mod360-test.h
385 modifier-fns.h
386 MultiPrinter.h
387 node-context.cpp
388 node-context.h
389 nodepath.cpp
390 nodepath.h
391 number-opt-number.h
392 object-edit.cpp
393 object-edit.h
394 object-hierarchy.cpp
395 object-hierarchy.h
396 object-snapper.cpp
397 object-snapper.h
398 path-chemistry.cpp
399 path-chemistry.h
400 path-prefix.h
401 pencil-context.cpp
402 pencil-context.h
403 pen-context.cpp
404 pen-context.h
405 persp3d.cpp
406 persp3d.h
407 persp3d-reference.cpp
408 persp3d-reference.h
409 perspective-line.cpp
410 perspective-line.h
411 plugin.def
412 preferences.cpp
413 preferences.h
414 preferences-skeleton.h
415 prefix.cpp
416 prefix.h
417 prefs-utils.cpp
418 prefs-utils.h
419 print.cpp
420 print.h
421 profile-manager.cpp
422 profile-manager.h
423 proj_pt.cpp
424 proj_pt.h
425 PylogFormatter.h
426 rect-context.cpp
427 rect-context.h
428 remove-last.h
429 require-config.h
430 round.h
431 #round-test.h
432 rubberband.cpp
433 rubberband.h
434 satisfied-guide-cns.cpp
435 satisfied-guide-cns.h
436 selcue.cpp
437 selcue.h
438 select-context.cpp
439 select-context.h
440 selection-chemistry.cpp
441 selection-chemistry.h
442 selection.cpp
443 selection-describer.cpp
444 selection-describer.h
445 selection.h
446 #selfname.tpl
447 seltrans.cpp
448 seltrans.h
449 seltrans-handles.cpp
450 seltrans-handles.h
451 shape-editor.cpp
452 shape-editor.h
453 shortcuts.cpp
454 shortcuts.h
455 snap.cpp
456 snap.h
457 snapped-line.cpp
458 snapped-line.h
459 snapped-point.cpp
460 snapped-point.h
461 snapper.cpp
462 snapper.h
463 star-context.cpp
464 star-context.h
465 streams-gzip.cpp
466 streams-gzip.h
467 streams-handles.cpp
468 streams-handles.h
469 streams-jar.cpp
470 streams-jar.h
471 streams-zlib.cpp
472 streams-zlib.h
473 streq.h
474 strneq.h
475 style.cpp
476 style.h
477 #style-test.cpp
478 #style-test.h
479 svg-profile.h
480 svg-view.cpp
481 svg-view.h
482 svg-view-widget.cpp
483 svg-view-widget.h
484 syseq.h
485 #test-helpers.h
486 text-chemistry.cpp
487 text-chemistry.h
488 text-context.cpp
489 text-context.h
490 text-editing.cpp
491 text-editing.h
492 text-tag-attributes.h
493 tools-switch.cpp
494 tools-switch.h
495 transf_mat_3x4.cpp
496 transf_mat_3x4.h
497 TRPIFormatter.h
498 tweak-context.cpp
499 tweak-context.h
500 undo-stack-observer.h
501 unit-constants.h
502 uri.cpp
503 uri.h
504 uri-references.cpp
505 uri-references.h
506 vanishing-point.cpp
507 vanishing-point.h
508 verbs.cpp
509 verbs.h
510 #verbs-test.h
511 version.cpp
512 version.h
513 zoom-context.cpp
514 zoom-context.h\r
515 ${ONLY_WIN}\r
516 )\r
517 # All folder with CMakeLists.txt files (excluding internal libraries)\r
518 SET(srcfolders\r
519 algorithms\r
520 api
521 application\r
522 bind\r
523 debug
524 dialogs\r
525 display\r
526 dom\r
527 dom/io\r
528 dom/odf\r
529 dom/util\r
530 #dom/work\r
531 extension\r
532 #extension/dxf2svg\r
533 extension/implementation\r
534 extension/internal
535 extension/internal/bitmap
536 extension/internal/filter
537 extension/internal/pdfinput\r
538 extension/param
539 extension/script\r
540 graphlayout\r
541 helper\r
542 inkjar\r
543 io\r
544 jabber_whiteboard\r
545 jabber_whiteboard/dialog\r
546 live_effects\r
547 live_effects/parameter\r
548 pedro\r
549 removeoverlap\r
550 svg\r
551 trace\r
552 trace/potrace\r
553 traits\r
554 ui/cache\r
555 ui\r
556 ui/dialog\r
557 ui/view\r
558 ui/widget\r
559 #utest\r
560 util\r
561 widgets\r
562 xml\r
563 )\r
564 \r
565 # 1) include each list file\r
566 # 2) grab the variable inside \r
567 # 3) prepend the full relative path to each file in list\r
568 # 4) append the list to INKSCAPE_SRC\r
569 FOREACH(dirlist ${srcfolders})\r
570   SET(_temp_dirlist "${dirlist}")\r
571   MESSAGE(STATUS "Processing ${CMAKE_CURRENT_SOURCE_DIR}/${dirlist}/CMakeLists.txt")\r
572   INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/${dirlist}/CMakeLists.txt)\r
573   SANITIZE_PATH(dirlist)\r
574   PREPEND(${dirlist}_SRC "${_temp_dirlist}/")\r
575   SET(INKSCAPE_SRC ${INKSCAPE_SRC} ${${dirlist}_SRC})\r
576 ENDFOREACH(dirlist)\r
577 \r
578 \r
579 # All directories containing lists files that describe building internal libraries\r
580 SET(libfolders
581 2geom\r
582 libavoid\r
583 libcola\r
584 libcroco\r
585 libgdl\r
586 libnr\r
587 libnrtype\r
588 libvpsc
589 livarot\r
590 )\r
591 \r
592 FOREACH(dirlist ${libfolders})\r
593   ADD_SUBDIRECTORY(${dirlist})\r
594 ENDFOREACH(dirlist)\r
597 ADD_LIBRARY(sp STATIC ${SP_SRC})\r
598 \r
599 # make executable for INKSCAPE\r
600 ADD_EXECUTABLE(inkscape ${INKSCAPE_SRC})\r
601 TARGET_LINK_LIBRARIES(inkscape\r
602         "${INKSCAPE_LINK_FLAGS}" 2geom avoid cola croco gdl nr nrtype vpsc livarot sp\r
605 # make executable for INKVIEW
606 #ADD_EXECUTABLE(inkview inkview.cpp)
607 #TARGET_LINK_LIBRARIES(inkview\r
608 #       "${INKSCAPE_LINK_FLAGS}" 2geom avoid cola croco gdl nr nrtype vpsc livarot sp\r
609 #)\r