Code

Node tool: special case node duplication for endnodes - select new endnode
[inkscape.git] / src / CMakeLists.txt
index aaf6bbe285c6396371660d56bf1451317493d086..f03f22c803e237af7efb463905adfdc684ad7874 100644 (file)
-SET(INKSCAPE_SRC)\r
-\r
-# A macro to replace slashes and spaces in a string with underscores\r
-MACRO(SANITIZE_PATH _string_var)\r
-  STRING(REGEX REPLACE "[\\/ ]+" "_" ${_string_var} ${${_string_var}})\r
-ENDMACRO(SANITIZE_PATH _string_var)\r
-\r
-# A macro to prepend a given string onto the beginning of each string in a list\r
-MACRO(PREPEND _list _str)\r
-  SET(_temp_list ${${_list}})\r
-  SET(${_list})\r
-  FOREACH(x ${_temp_list})\r
-    SET(${_list} ${${_list}} ${_str}${x})\r
-  ENDFOREACH(x)\r
-ENDMACRO(PREPEND _list _str)\r
-\r
-# All folder with CMakeLists.txt files (excluding internal libraries)\r
-SET(srcfolders\r
-algorithms\r
-api\r
-bind\r
-debug\r
-display\r
-dom\r
-dom/io\r
-dom/odf\r
-dom/util\r
-dom/work\r
-extension\r
-extension/dxf2svg\r
-extension/implementation\r
-extension/internal\r
-extension/param\r
-graphlayout\r
-helper\r
-inkjar\r
-io\r
-jabber_whiteboard\r
-jabber_whiteboard/dialog\r
-live_effects\r
-live_effects/parameter\r
-pedro\r
-removeoverlap\r
-svg\r
-trace\r
-trace/potrace\r
-traits\r
-ui/cache\r
-ui\r
-ui/dialog\r
-ui/view\r
-ui/widget\r
-utest\r
-util\r
-widgets\r
-xml\r
-)\r
-\r
-# 1) include each list file\r
-# 2) grab the variable inside \r
-# 3) prepend the full relative path to each file in list\r
-# 4) append the list to INKSCAPE_SRC\r
-FOREACH(dirlist ${srcfolders})\r
-  SET(_temp_dirlist "${dirlist}")\r
-  MESSAGE(STATUS "Processing ${CMAKE_CURRENT_SOURCE_DIR}/${dirlist}/CMakeLists.txt")\r
-  INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/${dirlist}/CMakeLists.txt)\r
-  SANITIZE_PATH(dirlist)\r
-  PREPEND(${dirlist}_SRC "${_temp_dirlist}/")\r
-  SET(INKSCAPE_SRC ${INKSCAPE_SRC} ${${dirlist}_SRC})\r
-ENDFOREACH(dirlist)\r
-\r
-\r
-# All directories containing lists files that describe building internal libraries\r
-SET(libfolders\r
-application\r
-dialogs\r
-libavoid\r
-libcola\r
-libcroco\r
-libgdl\r
-libnr\r
-libnrtype\r
-libvpsc\r
-)\r
-\r
-FOREACH(dirlist ${libfolders})\r
-  ADD_SUBDIRECTORY(${dirlist})\r
-ENDFOREACH(dirlist)\r
-\r
 IF(WIN32)\r
-SET(ONLY_WIN\r
-registrytool.cpp\r
-deptool.cpp)\r
+    SET(ONLY_WIN\r
+    registrytool.cpp\r
+    #deptool.cpp\r
+    winmain.cpp)\r
 ELSEIF(WIN32)\r
-SET(ONLY_WIN)\r
+    SET(ONLY_WIN)\r
 ENDIF(WIN32)\r
 \r
+SET(SP_SRC\r
+sp-anchor.cpp\r
+sp-animation.cpp\r
+sp-clippath.cpp\r
+sp-conn-end.cpp\r
+sp-conn-end-pair.cpp\r
+sp-cursor.cpp\r
+sp-defs.cpp\r
+sp-ellipse.cpp\r
+sp-filter.cpp\r
+sp-filter-primitive.cpp\r
+sp-filter-reference.cpp\r
+sp-flowdiv.cpp\r
+sp-flowregion.cpp\r
+sp-flowtext.cpp\r
+sp-font.cpp\r
+sp-font-face.cpp\r
+sp-gaussian-blur.cpp\r
+sp-glyph.cpp\r
+sp-gradient.cpp\r
+sp-gradient-reference.cpp\r
+sp-guide.cpp\r
+sp-glyph-kerning.cpp\r
+sp-image.cpp\r
+spiral-context.cpp\r
+sp-item.cpp\r
+sp-item-group.cpp\r
+sp-item-notify-moveto.cpp\r
+sp-item-rm-unsatisfied-cns.cpp\r
+sp-item-transform.cpp\r
+sp-item-update-cns.cpp\r
+sp-line.cpp\r
+splivarot.cpp\r
+sp-lpe-item.cpp\r
+sp-mask.cpp\r
+sp-metadata.cpp\r
+sp-metrics.cpp\r
+sp-missing-glyph.cpp\r
+sp-namedview.cpp\r
+sp-object.cpp\r
+sp-object-group.cpp\r
+sp-object-repr.cpp\r
+sp-offset.cpp\r
+sp-paint-server.cpp\r
+sp-path.cpp\r
+sp-pattern.cpp\r
+sp-polygon.cpp\r
+sp-polyline.cpp\r
+sp-rect.cpp\r
+sp-root.cpp\r
+sp-shape.cpp\r
+sp-skeleton.cpp\r
+sp-spiral.cpp\r
+sp-star.cpp\r
+sp-stop.cpp\r
+sp-string.cpp\r
+sp-style-elem.cpp\r
+sp-switch.cpp\r
+sp-symbol.cpp\r
+sp-text.cpp\r
+sp-tref.cpp\r
+sp-tref-reference.cpp\r
+sp-tspan.cpp\r
+sp-use.cpp\r
+sp-use-reference.cpp\r
+)\r
+\r
 SET(INKSCAPE_SRC\r
-${INKSCAPE_SRC}\r
 arc-context.cpp\r
 attributes.cpp\r
 axis-manip.cpp\r
@@ -106,16 +84,19 @@ box3d-side.cpp
 color.cpp\r
 color-profile.cpp\r
 composite-undo-stack-observer.cpp\r
+common-context.cpp\r
 conditions.cpp\r
 conn-avoid-ref.cpp\r
+connection-points.cpp\r
 connector-context.cpp\r
 console-output-undo-observer.cpp\r
 context-fns.cpp\r
-desktop-affine.cpp\r
+#deptool.cpp\r
 desktop.cpp\r
 desktop-events.cpp\r
 desktop-handles.cpp\r
 desktop-style.cpp\r
+device-manager.cpp\r
 dir-util.cpp\r
 document.cpp\r
 document-subset.cpp\r
@@ -129,15 +110,16 @@ ege-adjustment-action.cpp
 ege-color-prof-tracker.cpp\r
 ege-output-action.cpp\r
 ege-select-one-action.cpp\r
+eraser-context.cpp\r
 event-context.cpp\r
 event-log.cpp\r
+extension\r
 extract-uri.cpp\r
 file.cpp\r
 filter-chemistry.cpp\r
 filter-enums.cpp\r
 fixes.cpp\r
 flood-context.cpp\r
-fontsize-expansion.cpp\r
 gc-anchored.cpp\r
 gc.cpp\r
 gc-finalized.cpp\r
@@ -146,15 +128,16 @@ gradient-context.cpp
 gradient-drag.cpp\r
 guide-snapper.cpp\r
 help.cpp\r
+id-clash.cpp\r
+ige-mac-menu.c\r
 ink-action.cpp\r
 inkscape.cpp\r
+inkscape.rc\r
 inkscape-stock.cpp\r
-##inkview is another executable file\r
-##needs to be separated as a second target\r
-#inkview.cpp\r
 interface.cpp\r
 knot.cpp\r
 knotholder.cpp\r
+knot-holder-entity.cpp\r
 layer-fns.cpp\r
 layer-manager.cpp\r
 line-geometry.cpp\r
@@ -177,9 +160,9 @@ pen-context.cpp
 persp3d.cpp\r
 persp3d-reference.cpp\r
 perspective-line.cpp\r
+plugin.def\r
 preferences.cpp\r
 prefix.cpp\r
-prefs-utils.cpp\r
 print.cpp\r
 profile-manager.cpp\r
 proj_pt.cpp\r
@@ -191,6 +174,7 @@ select-context.cpp
 selection-chemistry.cpp\r
 selection.cpp\r
 selection-describer.cpp\r
+#selfname.tpl\r
 seltrans.cpp\r
 seltrans-handles.cpp\r
 shape-editor.cpp\r
@@ -199,87 +183,7 @@ snap.cpp
 snapped-line.cpp\r
 snapped-point.cpp\r
 snapper.cpp\r
-sp-anchor.cpp\r
-sp-animation.cpp\r
-sp-clippath.cpp\r
-sp-conn-end.cpp\r
-sp-conn-end-pair.cpp\r
-sp-cursor.cpp\r
-sp-defs.cpp\r
-sp-ellipse.cpp\r
-sp-feblend.cpp\r
-sp-fecolormatrix.cpp\r
-sp-fecomponenttransfer.cpp\r
-sp-fecomposite.cpp\r
-sp-feconvolvematrix.cpp\r
-sp-fediffuselighting.cpp\r
-sp-fedisplacementmap.cpp\r
-sp-fedistantlight.cpp\r
-sp-feflood.cpp\r
-sp-feimage.cpp\r
-sp-femerge.cpp\r
-sp-femergenode.cpp\r
-sp-femorphology.cpp\r
-sp-feoffset.cpp\r
-sp-fepointlight.cpp\r
-sp-fespecularlighting.cpp\r
-sp-fespotlight.cpp\r
-sp-fetile.cpp\r
-sp-feturbulence.cpp\r
-sp-filter.cpp\r
-sp-filter-primitive.cpp\r
-sp-filter-reference.cpp\r
-sp-flowdiv.cpp\r
-sp-flowregion.cpp\r
-sp-flowtext.cpp\r
-sp-gaussian-blur.cpp\r
-sp-gradient.cpp\r
-sp-gradient-reference.cpp\r
-sp-guide.cpp\r
-sp-image.cpp\r
-spiral-context.cpp\r
-sp-item.cpp\r
-sp-item-group.cpp\r
-sp-item-notify-moveto.cpp\r
-sp-item-rm-unsatisfied-cns.cpp\r
-sp-item-transform.cpp\r
-sp-item-update-cns.cpp\r
-sp-line.cpp\r
-splivarot.cpp\r
-sp-mask.cpp\r
-sp-metadata.cpp\r
-sp-metrics.cpp\r
-sp-namedview.cpp\r
-sp-object.cpp\r
-sp-object-group.cpp\r
-sp-object-repr.cpp\r
-sp-offset.cpp\r
-sp-paint-server.cpp\r
-sp-path.cpp\r
-sp-pattern.cpp\r
-sp-polygon.cpp\r
-sp-polyline.cpp\r
-sp-rect.cpp\r
-sp-root.cpp\r
-sp-shape.cpp\r
-sp-skeleton.cpp\r
-sp-spiral.cpp\r
-sp-star.cpp\r
-sp-string.cpp\r
-sp-style-elem.cpp\r
-sp-switch.cpp\r
-sp-symbol.cpp\r
-sp-text.cpp\r
-sp-tref.cpp\r
-sp-tref-reference.cpp\r
-sp-tspan.cpp\r
-sp-use.cpp\r
-sp-use-reference.cpp\r
 star-context.cpp\r
-streams-gzip.cpp\r
-streams-handles.cpp\r
-streams-jar.cpp\r
-streams-zlib.cpp\r
 style.cpp\r
 #style-test.cpp\r
 svg-view.cpp\r
@@ -295,25 +199,71 @@ uri-references.cpp
 vanishing-point.cpp\r
 verbs.cpp\r
 version.cpp\r
-winmain.cpp\r
 zoom-context.cpp\r
 ${ONLY_WIN}\r
 )\r
+# All folders for internal inkscape\r
+SET(internalfolders\r
+#algorithms\r
+#api\r
+bind\r
+debug\r
+dialogs\r
+display\r
+dom\r
+extension\r
+filters\r
+graphlayout\r
+helper\r
+inkjar\r
+io\r
+jabber_whiteboard\r
+live_effects\r
+pedro\r
+removeoverlap\r
+svg\r
+trace\r
+#traits\r
+ui\r
+util\r
+widgets\r
+xml\r
+2geom\r
+)\r
+SET(libfolders\r
+# Directories containing lists files that describe building internal libraries\r
+libavoid\r
+libcola\r
+libcroco\r
+libgdl\r
+libnr\r
+libnrtype\r
+libvpsc\r
+livarot\r
+)\r
+\r
+SET(dirs ${internalfolders} ${libfolders}\r
+)\r
+\r
+FOREACH(srclistsrc ${dirs})\r
+  ADD_SUBDIRECTORY(${srclistsrc})\r
+ENDFOREACH(srclistsrc)\r
+\r
+SET(INKSCAPE_SRC ${INKSCAPE_SRC} ${GlibOutput})\r
 \r
+ADD_LIBRARY(sp STATIC ${SP_SRC})\r
+TARGET_LINK_LIBRARIES(sp\r
+nr nrtype avoid cola croco gdl vpsc livarot ${internalfolders} ${INKSCAPE_LIBS}\r
+)\r
 # make executable for INKSCAPE\r
 ADD_EXECUTABLE(inkscape ${INKSCAPE_SRC})\r
 TARGET_LINK_LIBRARIES(inkscape\r
-       "${INKSCAPE_LINK_FLAGS}" avoid cola croco gdl nr nrtype vpsc\r
+nr nrtype sp avoid cola croco gdl vpsc livarot ${internalfolders} ${INKSCAPE_LIBS}\r
 )\r
-#INSTALL(TARGETS INKSCAPE\r
-#  RUNTIME DESTINATION bin\r
-#  LIBRARY DESTINATION lib\r
-#  ARCHIVE DESTINATION lib\r
-#)\r
 \r
-#FILE(GLOB files "${CMAKE_CURRENT_SOURCE_DIR}/*.h")\r
-#INSTALL(FILES ${files} DESTINATION include/INKSCAPE/INKSCAPE)\r
+# make executable for INKVIEW\r
+#ADD_EXECUTABLE(inkview inkview.cpp)\r
+#TARGET_LINK_LIBRARIES(inkview\r
+#      2geom avoid cola croco gdl nr nrtype vpsc livarot sp ${internalfolders}\r
+#)\r
 \r
-#CONFIGURE_FILE( ${CMAKE_SOURCE_DIR}/INKSCAPE.pc.in\r
-#                ${CMAKE_BINARY_DIR}/INKSCAPE.pc @ONLY IMMEDIATE )\r
-#INSTALL(FILES "${CMAKE_BINARY_DIR}/INKSCAPE.pc" DESTINATION lib/pkgconfig)\r