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-feblend.cpp # sp-fecolormatrix.cpp # sp-fecomponenttransfer.cpp # sp-fecomponenttransfer-funcnode.cpp # sp-fecomposite.cpp # sp-feconvolvematrix.cpp # sp-fediffuselighting.cpp # sp-fedisplacementmap.cpp # sp-fedistantlight.cpp # sp-feflood.cpp # sp-feimage.cpp # sp-femerge.cpp # sp-femergenode.cpp # sp-femorphology.cpp # sp-feoffset.cpp # sp-fepointlight.cpp # sp-fespecularlighting.cpp # sp-fespotlight.cpp # sp-fetile.cpp # sp-feturbulence.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-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 connector-context.cpp console-output-undo-observer.cpp context-fns.cpp #deptool.cpp desktop-affine.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 folder with CMakeLists.txt files (excluding internal libraries) SET(srcfolders algorithms api application bind debug dialogs display dom dom/io dom/odf dom/util #dom/work extension #extension/dxf2svg extension/implementation extension/internal extension/internal/bitmap extension/internal/filter extension/internal/pdfinput extension/param extension/script graphlayout helper inkjar io jabber_whiteboard jabber_whiteboard/dialog live_effects live_effects/parameter pedro removeoverlap svg trace trace/potrace traits ui/cache ui ui/dialog ui/view ui/widget #utest util widgets xml ) # 1) include each list file # 2) grab the variable inside # 3) prepend the full relative path to each file in list # 4) append the list to INKSCAPE_SRC FOREACH(dirlist ${srcfolders}) SET(_temp_dirlist "${dirlist}") MESSAGE(STATUS "Processing ${CMAKE_CURRENT_SOURCE_DIR}/${dirlist}/CMakeLists.txt") INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/${dirlist}/CMakeLists.txt) SANITIZE_PATH(dirlist) PREPEND(${dirlist}_SRC "${_temp_dirlist}/") SET(INKSCAPE_SRC ${INKSCAPE_SRC} ${${dirlist}_SRC}) ENDFOREACH(dirlist) SET(INKSCAPE_SRC ${INKSCAPE_SRC} ${GlibOutput}) # All directories containing lists files that describe building internal libraries SET(libfolders 2geom libavoid libcola libcroco libgdl libnr libnrtype libvpsc livarot ) FOREACH(dirlistsrc ${libfolders}) ADD_SUBDIRECTORY(${dirlistsrc}) ENDFOREACH(dirlistsrc) message(status "${INKSCAPE_LIBS}") ADD_LIBRARY(sp STATIC ${SP_SRC}) TARGET_LINK_LIBRARIES(sp 2geom avoid cola croco gdl nr nrtype vpsc livarot ) # make executable for INKSCAPE ADD_EXECUTABLE(inkscape ${INKSCAPE_SRC}) TARGET_LINK_LIBRARIES(inkscape 2geom avoid cola croco gdl nr nrtype vpsc livarot sp ) # make executable for INKVIEW #ADD_EXECUTABLE(inkview inkview.cpp) #TARGET_LINK_LIBRARIES(inkview # "${INKSCAPE_LINK_FLAGS}" 2geom avoid cola croco gdl nr nrtype vpsc livarot sp #)