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
application
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}
#)

