Code

Patch so Inkscape will compile on Solaris 10 from LP https://bugs.launchpad.net/inksc...
[inkscape.git] / src / CMakeLists.txt
index 42d99f9cb86742f6ba3799d6c32a15a845db058f..a84909382ae313332760f9611f03d29cc8b35702 100644 (file)
@@ -1,4 +1,98 @@
-SET(INKSCAPE_SRC
+IF(WIN32)\r
+    SET(ONLY_WIN\r
+    registrytool.cpp\r
+    #deptool.cpp
+    winmain.cpp)\r
+ELSEIF(WIN32)\r
+    SET(ONLY_WIN)\r
+ENDIF(WIN32)\r
+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
+)
+\r
+SET(INKSCAPE_SRC\r
 arc-context.cpp
 attributes.cpp
 axis-manip.cpp
@@ -8,17 +102,19 @@ 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
+#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
@@ -32,8 +128,10 @@ 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
@@ -49,13 +147,16 @@ 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
-inkview.cpp
 interface.cpp
 knot.cpp
 knotholder.cpp
+knot-holder-entity.cpp
 layer-fns.cpp
 layer-manager.cpp
 line-geometry.cpp
@@ -78,6 +179,7 @@ pen-context.cpp
 persp3d.cpp
 persp3d-reference.cpp
 perspective-line.cpp
+plugin.def
 preferences.cpp
 prefix.cpp
 prefs-utils.cpp
@@ -85,7 +187,6 @@ print.cpp
 profile-manager.cpp
 proj_pt.cpp
 rect-context.cpp
-registrytool.cpp
 rubberband.cpp
 satisfied-guide-cns.cpp
 selcue.cpp
@@ -93,6 +194,7 @@ select-context.cpp
 selection-chemistry.cpp
 selection.cpp
 selection-describer.cpp
+#selfname.tpl
 seltrans.cpp
 seltrans-handles.cpp
 shape-editor.cpp
@@ -101,89 +203,13 @@ snap.cpp
 snapped-line.cpp
 snapped-point.cpp
 snapper.cpp
-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-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-gaussian-blur.cpp
-sp-gradient.cpp
-sp-gradient-reference.cpp
-sp-guide.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-mask.cpp
-sp-metadata.cpp
-sp-metrics.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
 star-context.cpp
 streams-gzip.cpp
 streams-handles.cpp
 streams-jar.cpp
 streams-zlib.cpp
 style.cpp
-style-test.cpp
+#style-test.cpp
 svg-view.cpp
 svg-view-widget.cpp
 text-chemistry.cpp
@@ -197,85 +223,102 @@ uri-references.cpp
 vanishing-point.cpp
 verbs.cpp
 version.cpp
-winmain.cpp
-zoom-context.cpp
-${algorithms}
-${api}
-${application}
-${BIND_SRC}
-${debug}
-${dialogs}
-${display}
-${dom_SRC}
-${extension_SRC}
-${graphlayout_SRC}
-${extension_SRC}
-${helper_SRC}
-${inkjar_SRC}
-${io_SRC}
-${jabber_whiteboard_SRC}
-#${
-#${
-#${
-#${
-)
-
-# make executable for INKSCAPE
-ADD_EXECUTABLE(inkscape ${INKSCAPE_SRC})
-
-#INSTALL(TARGETS INKSCAPE
-#  RUNTIME DESTINATION bin
-#  LIBRARY DESTINATION lib
-#  ARCHIVE DESTINATION lib
-#)
-
-#FILE(GLOB files "${CMAKE_CURRENT_SOURCE_DIR}/*.h")
-#INSTALL(FILES ${files} DESTINATION include/INKSCAPE/INKSCAPE)
-
-#CONFIGURE_FILE( ${CMAKE_SOURCE_DIR}/INKSCAPE.pc.in
-#                ${CMAKE_BINARY_DIR}/INKSCAPE.pc @ONLY IMMEDIATE )
-#INSTALL(FILES "${CMAKE_BINARY_DIR}/INKSCAPE.pc" DESTINATION lib/pkgconfig)
-
-
-# Add New folders in src folder here
-SET(srcfolders
-2geom
-algorithms
+zoom-context.cpp\r
+${ONLY_WIN}\r
+)\r
+# All folder with CMakeLists.txt files (excluding internal libraries)\r
+SET(srcfolders\r
+algorithms\r
 api
-application
-bind
+application\r
+bind\r
 debug
-dialogs
-display
-dom
-extension
-graphlayout
-helper
-inkjar
-io
-jabber_whiteboard
-libavoid
-libcola
-libcroco
-libgdl
-libnr
-libnrtype
+dialogs\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
+extension/internal/bitmap
+extension/internal/filter
+extension/internal/pdfinput\r
+extension/param
+extension/script\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
+SET(INKSCAPE_SRC ${INKSCAPE_SRC} ${GlibOutput})\r
+# All directories containing lists files that describe building internal libraries\r
+SET(libfolders
+2geom\r
+libavoid\r
+libcola\r
+libcroco\r
+libgdl\r
+libnr\r
+libnrtype\r
 libvpsc
-livarot
-live_effects
-pedro
-svg
-pixmaps
-trace
-traits
-ui
-removeoverlap
-utest
-util
-widgets
-xml
-)
+livarot\r
+)\r
 \r
-FOREACH(dirlist ${srcfolders})
-ADD_SUBDIRECTORY(${dirlist})
-ENDFOREACH(dirlist)
+FOREACH(dirlistsrc ${libfolders})\r
+  ADD_SUBDIRECTORY(${dirlistsrc})\r
+ENDFOREACH(dirlistsrc)\r
+
+message(status "${INKSCAPE_LIBS}")
+ADD_LIBRARY(sp STATIC ${SP_SRC})\r
+TARGET_LINK_LIBRARIES(sp \r
+        2geom avoid cola croco gdl nr nrtype vpsc livarot\r
+)\r
+# make executable for INKSCAPE\r
+ADD_EXECUTABLE(inkscape ${INKSCAPE_SRC})\r
+TARGET_LINK_LIBRARIES(inkscape\r
+        2geom avoid cola croco gdl nr nrtype vpsc livarot sp\r
+)
+
+# make executable for INKVIEW
+#ADD_EXECUTABLE(inkview inkview.cpp)
+#TARGET_LINK_LIBRARIES(inkview\r
+#      "${INKSCAPE_LINK_FLAGS}" 2geom avoid cola croco gdl nr nrtype vpsc livarot sp\r
+#)\r
+