summaryrefslogtreecommitdiffstats
path: root/src/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r--src/CMakeLists.txt873
1 files changed, 604 insertions, 269 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index f03f22c80..ba7b753de 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,269 +1,604 @@
-IF(WIN32)
- SET(ONLY_WIN
- registrytool.cpp
- #deptool.cpp
- winmain.cpp)
-ELSEIF(WIN32)
- SET(ONLY_WIN)
-ENDIF(WIN32)
-
-SET(SP_SRC
-sp-anchor.cpp
-sp-animation.cpp
-sp-clippath.cpp
-sp-conn-end.cpp
-sp-conn-end-pair.cpp
-sp-cursor.cpp
-sp-defs.cpp
-sp-ellipse.cpp
-sp-filter.cpp
-sp-filter-primitive.cpp
-sp-filter-reference.cpp
-sp-flowdiv.cpp
-sp-flowregion.cpp
-sp-flowtext.cpp
-sp-font.cpp
-sp-font-face.cpp
-sp-gaussian-blur.cpp
-sp-glyph.cpp
-sp-gradient.cpp
-sp-gradient-reference.cpp
-sp-guide.cpp
-sp-glyph-kerning.cpp
-sp-image.cpp
-spiral-context.cpp
-sp-item.cpp
-sp-item-group.cpp
-sp-item-notify-moveto.cpp
-sp-item-rm-unsatisfied-cns.cpp
-sp-item-transform.cpp
-sp-item-update-cns.cpp
-sp-line.cpp
-splivarot.cpp
-sp-lpe-item.cpp
-sp-mask.cpp
-sp-metadata.cpp
-sp-metrics.cpp
-sp-missing-glyph.cpp
-sp-namedview.cpp
-sp-object.cpp
-sp-object-group.cpp
-sp-object-repr.cpp
-sp-offset.cpp
-sp-paint-server.cpp
-sp-path.cpp
-sp-pattern.cpp
-sp-polygon.cpp
-sp-polyline.cpp
-sp-rect.cpp
-sp-root.cpp
-sp-shape.cpp
-sp-skeleton.cpp
-sp-spiral.cpp
-sp-star.cpp
-sp-stop.cpp
-sp-string.cpp
-sp-style-elem.cpp
-sp-switch.cpp
-sp-symbol.cpp
-sp-text.cpp
-sp-tref.cpp
-sp-tref-reference.cpp
-sp-tspan.cpp
-sp-use.cpp
-sp-use-reference.cpp
-)
-
-SET(INKSCAPE_SRC
-arc-context.cpp
-attributes.cpp
-axis-manip.cpp
-box3d-context.cpp
-box3d.cpp
-box3d-side.cpp
-color.cpp
-color-profile.cpp
-composite-undo-stack-observer.cpp
-common-context.cpp
-conditions.cpp
-conn-avoid-ref.cpp
-connection-points.cpp
-connector-context.cpp
-console-output-undo-observer.cpp
-context-fns.cpp
-#deptool.cpp
-desktop.cpp
-desktop-events.cpp
-desktop-handles.cpp
-desktop-style.cpp
-device-manager.cpp
-dir-util.cpp
-document.cpp
-document-subset.cpp
-document-undo.cpp
-doxygen-main.cpp
-draw-anchor.cpp
-draw-context.cpp
-dropper-context.cpp
-dyna-draw-context.cpp
-ege-adjustment-action.cpp
-ege-color-prof-tracker.cpp
-ege-output-action.cpp
-ege-select-one-action.cpp
-eraser-context.cpp
-event-context.cpp
-event-log.cpp
-extension
-extract-uri.cpp
-file.cpp
-filter-chemistry.cpp
-filter-enums.cpp
-fixes.cpp
-flood-context.cpp
-gc-anchored.cpp
-gc.cpp
-gc-finalized.cpp
-gradient-chemistry.cpp
-gradient-context.cpp
-gradient-drag.cpp
-guide-snapper.cpp
-help.cpp
-id-clash.cpp
-ige-mac-menu.c
-ink-action.cpp
-inkscape.cpp
-inkscape.rc
-inkscape-stock.cpp
-interface.cpp
-knot.cpp
-knotholder.cpp
-knot-holder-entity.cpp
-layer-fns.cpp
-layer-manager.cpp
-line-geometry.cpp
-line-snapper.cpp
-main-cmdlineact.cpp
-main.cpp
-marker.cpp
-media.cpp
-message-context.cpp
-message-stack.cpp
-mod360.cpp
-node-context.cpp
-nodepath.cpp
-object-edit.cpp
-object-hierarchy.cpp
-object-snapper.cpp
-path-chemistry.cpp
-pencil-context.cpp
-pen-context.cpp
-persp3d.cpp
-persp3d-reference.cpp
-perspective-line.cpp
-plugin.def
-preferences.cpp
-prefix.cpp
-print.cpp
-profile-manager.cpp
-proj_pt.cpp
-rect-context.cpp
-rubberband.cpp
-satisfied-guide-cns.cpp
-selcue.cpp
-select-context.cpp
-selection-chemistry.cpp
-selection.cpp
-selection-describer.cpp
-#selfname.tpl
-seltrans.cpp
-seltrans-handles.cpp
-shape-editor.cpp
-shortcuts.cpp
-snap.cpp
-snapped-line.cpp
-snapped-point.cpp
-snapper.cpp
-star-context.cpp
-style.cpp
-#style-test.cpp
-svg-view.cpp
-svg-view-widget.cpp
-text-chemistry.cpp
-text-context.cpp
-text-editing.cpp
-tools-switch.cpp
-transf_mat_3x4.cpp
-tweak-context.cpp
-uri.cpp
-uri-references.cpp
-vanishing-point.cpp
-verbs.cpp
-version.cpp
-zoom-context.cpp
-${ONLY_WIN}
-)
-# All folders for internal inkscape
-SET(internalfolders
-#algorithms
-#api
-bind
-debug
-dialogs
-display
-dom
-extension
-filters
-graphlayout
-helper
-inkjar
-io
-jabber_whiteboard
-live_effects
-pedro
-removeoverlap
-svg
-trace
-#traits
-ui
-util
-widgets
-xml
-2geom
-)
-SET(libfolders
-# Directories containing lists files that describe building internal libraries
-libavoid
-libcola
-libcroco
-libgdl
-libnr
-libnrtype
-libvpsc
-livarot
-)
-
-SET(dirs ${internalfolders} ${libfolders}
-)
-
-FOREACH(srclistsrc ${dirs})
- ADD_SUBDIRECTORY(${srclistsrc})
-ENDFOREACH(srclistsrc)
-
-SET(INKSCAPE_SRC ${INKSCAPE_SRC} ${GlibOutput})
-
-ADD_LIBRARY(sp STATIC ${SP_SRC})
-TARGET_LINK_LIBRARIES(sp
-nr nrtype avoid cola croco gdl vpsc livarot ${internalfolders} ${INKSCAPE_LIBS}
-)
-# make executable for INKSCAPE
-ADD_EXECUTABLE(inkscape ${INKSCAPE_SRC})
-TARGET_LINK_LIBRARIES(inkscape
-nr nrtype sp avoid cola croco gdl vpsc livarot ${internalfolders} ${INKSCAPE_LIBS}
-)
-
-# make executable for INKVIEW
-#ADD_EXECUTABLE(inkview inkview.cpp)
-#TARGET_LINK_LIBRARIES(inkview
-# 2geom avoid cola croco gdl nr nrtype vpsc livarot sp ${internalfolders}
-#)
-
+
+# -----------------------------------------------------------------------------
+# Define the main source
+# -----------------------------------------------------------------------------
+
+set(main_SRC
+ main.cpp
+)
+
+set(sp_SRC
+ attribute-rel-css.cpp
+ attribute-rel-svg.cpp
+ attribute-rel-util.cpp
+ sp-anchor.cpp
+ # sp-animation.cpp
+ sp-clippath.cpp
+ sp-conn-end-pair.cpp
+ sp-conn-end.cpp
+ sp-cursor.cpp
+ sp-defs.cpp
+ sp-desc.cpp
+ sp-ellipse.cpp
+ sp-filter-primitive.cpp
+ sp-filter-reference.cpp
+ sp-filter.cpp
+ sp-flowdiv.cpp
+ sp-flowregion.cpp
+ sp-flowtext.cpp
+ sp-font-face.cpp
+ sp-font.cpp
+ sp-glyph-kerning.cpp
+ sp-glyph.cpp
+ sp-gradient-reference.cpp
+ sp-gradient.cpp
+ sp-guide.cpp
+ sp-image.cpp
+ sp-item-group.cpp
+ sp-item-notify-moveto.cpp
+ sp-item-rm-unsatisfied-cns.cpp
+ sp-item-transform.cpp
+ sp-item-update-cns.cpp
+ sp-item.cpp
+ sp-line.cpp
+ sp-lpe-item.cpp
+ sp-mask.cpp
+ sp-metadata.cpp
+ sp-metrics.cpp
+ sp-missing-glyph.cpp
+ sp-namedview.cpp
+ sp-object-group.cpp
+ sp-object-repr.cpp
+ sp-object.cpp
+ sp-offset.cpp
+ sp-paint-server.cpp
+ sp-path.cpp
+ sp-pattern.cpp
+ sp-polygon.cpp
+ sp-polyline.cpp
+ sp-rect.cpp
+ sp-root.cpp
+ sp-script.cpp
+ sp-shape.cpp
+ # sp-skeleton.cpp
+ sp-spiral.cpp
+ sp-star.cpp
+ sp-stop.cpp
+ sp-string.cpp
+ sp-style-elem.cpp
+ sp-switch.cpp
+ sp-symbol.cpp
+ sp-text.cpp
+ sp-title.cpp
+ sp-tref-reference.cpp
+ sp-tref.cpp
+ sp-tspan.cpp
+ sp-use-reference.cpp
+ sp-use.cpp
+ spiral-context.cpp
+ splivarot.cpp
+
+
+ # -------
+ # Headers
+ attribute-rel-css.h
+ attribute-rel-svg.h
+ attribute-rel-util.h
+ sp-anchor.h
+ sp-animation.h
+ sp-clippath.h
+ sp-conn-end-pair.h
+ sp-conn-end.h
+ sp-cursor.h
+ sp-defs.h
+ sp-desc.h
+ sp-ellipse.h
+ sp-filter-primitive.h
+ sp-filter-reference.h
+ sp-filter-units.h
+ sp-filter.h
+ sp-flowdiv.h
+ sp-flowregion.h
+ sp-flowtext.h
+ sp-font-face.h
+ sp-font.h
+ sp-glyph-kerning.h
+ sp-glyph.h
+ sp-gradient-fns.h
+ sp-gradient-reference.h
+ sp-gradient-spread.h
+ sp-gradient-test.h
+ sp-gradient-units.h
+ sp-gradient-vector.h
+ sp-gradient.h
+ sp-guide-attachment.h
+ sp-guide-constraint.h
+ sp-guide.h
+ sp-image.h
+ sp-item-group.h
+ sp-item-notify-moveto.h
+ sp-item-rm-unsatisfied-cns.h
+ sp-item-transform.h
+ sp-item-update-cns.h
+ sp-item.h
+ sp-line.h
+ sp-linear-gradient-fns.h
+ sp-linear-gradient.h
+ sp-lpe-item.h
+ sp-marker-loc.h
+ sp-mask.h
+ sp-metadata.h
+ sp-metric.h
+ sp-metrics.h
+ sp-missing-glyph.h
+ sp-namedview.h
+ sp-object-group.h
+ sp-object-repr.h
+ sp-object.h
+ sp-offset.h
+ sp-paint-server-reference.h
+ sp-paint-server.h
+ sp-path.h
+ sp-pattern.h
+ sp-polygon.h
+ sp-polyline.h
+ sp-radial-gradient-fns.h
+ sp-radial-gradient.h
+ sp-rect.h
+ sp-root.h
+ sp-script.h
+ sp-shape.h
+ # sp-skeleton.h
+ sp-spiral.h
+ sp-star.h
+ sp-stop.h
+ sp-string.h
+ sp-style-elem-test.h
+ sp-style-elem.h
+ sp-switch.h
+ sp-symbol.h
+ sp-text.h
+ sp-textpath.h
+ sp-title.h
+ sp-tref-reference.h
+ sp-tref.h
+ sp-tspan.h
+ sp-use-reference.h
+ sp-use.h
+)
+
+set(inkscape_SRC
+ arc-context.cpp
+ attributes.cpp
+ axis-manip.cpp
+ box3d-context.cpp
+ box3d-side.cpp
+ box3d.cpp
+ color-profile.cpp
+ color.cpp
+ common-context.cpp
+ composite-undo-stack-observer.cpp
+ conditions.cpp
+ conn-avoid-ref.cpp
+ connection-points.cpp
+ connector-context.cpp
+ console-output-undo-observer.cpp
+ context-fns.cpp
+ desktop-events.cpp
+ desktop-handles.cpp
+ desktop-style.cpp
+ desktop.cpp
+ device-manager.cpp
+ dir-util.cpp
+ document-subset.cpp
+ document-undo.cpp
+ document.cpp
+ doxygen-main.cpp
+ draw-anchor.cpp
+ draw-context.cpp
+ dropper-context.cpp
+ dyna-draw-context.cpp
+ ege-adjustment-action.cpp
+ ege-color-prof-tracker.cpp
+ ege-output-action.cpp
+ ege-select-one-action.cpp
+ eraser-context.cpp
+ event-context.cpp
+ event-log.cpp
+ extract-uri.cpp
+ file.cpp
+ filter-chemistry.cpp
+ filter-enums.cpp
+ fixes.cpp
+ flood-context.cpp
+ gc-anchored.cpp
+ gc-finalized.cpp
+ gc.cpp
+ gradient-chemistry.cpp
+ gradient-context.cpp
+ gradient-drag.cpp
+ graphlayout.cpp
+ guide-snapper.cpp
+ help.cpp
+ id-clash.cpp
+ ige-mac-menu.c
+ ink-action.cpp
+ ink-comboboxentry-action.cpp
+ inkscape.cpp
+ inkscape.rc
+ interface.cpp
+ knot-holder-entity.cpp
+ knot.cpp
+ knotholder.cpp
+ layer-fns.cpp
+ layer-manager.cpp
+ line-geometry.cpp
+ line-snapper.cpp
+ lpe-tool-context.cpp
+ main-cmdlineact.cpp
+ marker.cpp
+ measure-context.cpp
+ media.cpp
+ message-context.cpp
+ message-stack.cpp
+ mod360.cpp
+ object-edit.cpp
+ object-hierarchy.cpp
+ object-snapper.cpp
+ path-chemistry.cpp
+ pen-context.cpp
+ pencil-context.cpp
+ persp3d-reference.cpp
+ persp3d.cpp
+ perspective-line.cpp
+ preferences.cpp
+ prefix.cpp
+ print.cpp
+ profile-manager.cpp
+ proj_pt.cpp
+ rdf.cpp
+ rect-context.cpp
+ removeoverlap.cpp
+ resource-manager.cpp
+ rubberband.cpp
+ satisfied-guide-cns.cpp
+ selcue.cpp
+ select-context.cpp
+ selection-chemistry.cpp
+ selection-describer.cpp
+ selection.cpp
+ seltrans-handles.cpp
+ seltrans.cpp
+ shape-editor.cpp
+ shortcuts.cpp
+ snap-preferences.cpp
+ snap.cpp
+ snapped-curve.cpp
+ snapped-line.cpp
+ snapped-point.cpp
+ snapper.cpp
+ spray-context.cpp
+ star-context.cpp
+ style.cpp
+ svg-view-widget.cpp
+ svg-view.cpp
+ text-chemistry.cpp
+ text-context.cpp
+ text-editing.cpp
+ tools-switch.cpp
+ transf_mat_3x4.cpp
+ tweak-context.cpp
+ unclump.cpp
+ unicoderange.cpp
+ uri-references.cpp
+ uri.cpp
+ vanishing-point.cpp
+ verbs.cpp
+ version.cpp
+ zoom-context.cpp
+
+
+ # -------
+ # Headers
+ MultiPrinter.h
+ PylogFormatter.h
+ TRPIFormatter.h
+ approx-equal.h
+ arc-context.h
+ attributes-test.h
+ attributes.h
+ axis-manip.h
+ bad-uri-exception.h
+ box3d-context.h
+ box3d-side.h
+ box3d.h
+ cms-color-types.h
+ cms-system.h
+ color-profile-cms-fns.h
+ color-profile-test.h
+ color-profile.h
+ color-rgba.h
+ color.h
+ common-context.h
+ composite-undo-stack-observer.h
+ conditions.h
+ conn-avoid-ref.h
+ connection-points.h
+ connection-pool.h
+ connector-context.h
+ console-output-undo-observer.h
+ context-fns.h
+ decimal-round.h
+ desktop-events.h
+ desktop-handles.h
+ desktop-style.h
+ desktop.h
+ device-manager.h
+ dir-util-test.h
+ dir-util.h
+ document-private.h
+ document-subset.h
+ document-undo.h
+ document.h
+ draw-anchor.h
+ draw-context.h
+ dropper-context.h
+ dyna-draw-context.h
+ ege-adjustment-action.h
+ ege-color-prof-tracker.h
+ ege-output-action.h
+ ege-select-one-action.h
+ enums.h
+ eraser-context.h
+ event-context.h
+ event-log.h
+ event.h
+ extract-uri-test.h
+ extract-uri.h
+ file.h
+ fill-or-stroke.h
+ filter-chemistry.h
+ filter-enums.h
+ flood-context.h
+ gc-alloc.h
+ gc-allocator.h
+ gc-anchored.h
+ gc-core.h
+ gc-finalized.h
+ gc-managed.h
+ gc-soft-ptr.h
+ gradient-chemistry.h
+ gradient-context.h
+ gradient-drag.h
+ graphlayout.h
+ guide-snapper.h
+ help.h
+ helper-fns.h
+ icon-size.h
+ id-clash.h
+ ige-mac-menu.h
+ ink-action.h
+ ink-comboboxentry-action.h
+ inkscape-private.h
+ inkscape-version.h
+ inkscape.h
+ interface.h
+ isinf.h
+ isnormal.h
+ knot-enums.h
+ knot-holder-entity.h
+ knot.h
+ knotholder.h
+ layer-fns.h
+ layer-manager.h
+ line-geometry.h
+ line-snapper.h
+ lpe-tool-context.h
+ macros.h
+ main-cmdlineact.h
+ marker-test.h
+ marker.h
+ measure-context.h
+ media.h
+ memeq.h
+ menus-skeleton.h
+ message-context.h
+ message-stack.h
+ message.h
+ mod360-test.h
+ mod360.h
+ modifier-fns.h
+ number-opt-number.h
+ object-edit.h
+ object-hierarchy.h
+ object-snapper.h
+ path-chemistry.h
+ path-prefix.h
+ pen-context.h
+ pencil-context.h
+ persp3d-reference.h
+ persp3d.h
+ perspective-line.h
+ preferences-skeleton.h
+ preferences-test.h
+ preferences.h
+ prefix.h
+ print.h
+ profile-manager.h
+ proj_pt.h
+ rdf.h
+ rect-context.h
+ registrytool.h
+ remove-last.h
+ removeoverlap.h
+ require-config.h
+ resource-manager.h
+ round-test.h
+ round.h
+ rubberband.h
+ satisfied-guide-cns.h
+ selcue.h
+ select-context.h
+ selection-chemistry.h
+ selection-describer.h
+ selection.h
+ seltrans-handles.h
+ seltrans.h
+ shape-editor.h
+ shortcuts.h
+ snap-candidate.h
+ snap-enums.h
+ snap-preferences.h
+ snap.h
+ snapped-curve.h
+ snapped-line.h
+ snapped-point.h
+ snapper.h
+ spiral-context.h
+ splivarot.h
+ spray-context.h
+ star-context.h
+ streq.h
+ strneq.h
+ style-test.h
+ style.h
+ svg-profile.h
+ svg-view-widget.h
+ svg-view.h
+ syseq.h
+ test-helpers.h
+ text-chemistry.h
+ text-context.h
+ text-editing.h
+ text-tag-attributes.h
+ tools-switch.h
+ transf_mat_3x4.h
+ tweak-context.h
+ unclump.h
+ undo-stack-observer.h
+ unicoderange.h
+ unit-constants.h
+ uri-references.h
+ uri.h
+ vanishing-point.h
+ verbs-test.h
+ verbs.h
+ version.h
+ zoom-context.h
+)
+
+if(WIN32)
+ list(APPEND inkscape_SRC
+ registrytool.cpp
+ #deptool.cpp
+ winmain.cpp
+ )
+endif()
+
+
+# -----------------------------------------------------------------------------
+# Generate version file
+# -----------------------------------------------------------------------------
+
+# a custom target that is always built
+add_custom_target(
+ inkscape_version ALL
+ DEPENDS ${CMAKE_BINARY_DIR}/src/inkscape-version.cpp)
+
+# creates inkscape-version.cpp using cmake script
+add_custom_command(
+ OUTPUT ${CMAKE_BINARY_DIR}/src/inkscape-version.cpp
+ COMMAND ${CMAKE_COMMAND}
+ -DINKSCAPE_SOURCE_DIR=${CMAKE_SOURCE_DIR}
+ -DINKSCAPE_BINARY_DIR=${CMAKE_BINARY_DIR}
+ -P ${CMAKE_SOURCE_DIR}/CMakeScripts/inkscape-version.cmake)
+
+# buildinfo.h is a generated file
+set_source_files_properties(
+ ${CMAKE_BINARY_DIR}/src/inkscape-version.cpp
+ PROPERTIES GENERATED TRUE)
+
+list(APPEND inkscape_SRC
+ ${CMAKE_BINARY_DIR}/src/inkscape-version.cpp
+)
+
+
+# -----------------------------------------------------------------------------
+# Load in subdirectories
+# -----------------------------------------------------------------------------
+
+# All folders for internal inkscape
+# these call add_inkscape_source
+add_subdirectory(bind)
+add_subdirectory(debug)
+add_subdirectory(dialogs)
+add_subdirectory(display)
+add_subdirectory(dom)
+add_subdirectory(extension)
+add_subdirectory(filters)
+add_subdirectory(helper)
+add_subdirectory(io)
+add_subdirectory(live_effects)
+add_subdirectory(svg)
+add_subdirectory(trace)
+add_subdirectory(ui)
+add_subdirectory(util)
+add_subdirectory(widgets)
+add_subdirectory(xml)
+add_subdirectory(2geom)
+
+
+# Directories containing lists files that describe building internal libraries
+add_subdirectory(libavoid)
+add_subdirectory(libcola)
+add_subdirectory(libcroco)
+add_subdirectory(libgdl)
+add_subdirectory(libvpsc)
+add_subdirectory(livarot)
+add_subdirectory(libnrtype)
+
+
+get_property(inkscape_global_SRC GLOBAL PROPERTY inkscape_global_SRC)
+
+set(inkscape_SRC
+ ${inkscape_global_SRC}
+ ${inkscape_SRC}
+)
+
+# -----------------------------------------------------------------------------
+# Setup the executable
+# -----------------------------------------------------------------------------
+add_inkscape_lib(sp_LIB "${sp_SRC}")
+add_inkscape_lib(inkscape_LIB "${inkscape_SRC}")
+
+# make executable for INKSCAPE
+add_executable(inkscape ${main_SRC})
+
+add_dependencies(inkscape inkscape_version)
+
+target_link_libraries(inkscape
+ # order from automake
+ sp_LIB
+ nrtype_LIB
+
+ inkscape_LIB
+ sp_LIB # annoying, we need both!
+ nrtype_LIB # annoying, we need both!
+
+ dom_LIB
+ croco_LIB
+ avoid_LIB
+ gdl_LIB
+ cola_LIB
+ vpsc_LIB
+ livarot_LIB
+ 2geom_LIB
+
+ ${INKSCAPE_LIBS}
+)
+
+# TODO
+# make executable for INKVIEW
+#add_executable(inkview inkview.cpp)
+# ...
+