X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2FCMakeLists.txt;h=f03f22c803e237af7efb463905adfdc684ad7874;hb=8a2e76b7021b9b960d7c30801a1a14461d9b5939;hp=aaf6bbe285c6396371660d56bf1451317493d086;hpb=2cdfe79be9449f74ac43a83b6ae7fb62f45c484b;p=inkscape.git diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index aaf6bbe28..f03f22c80 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,102 +1,80 @@ -SET(INKSCAPE_SRC) - -# A macro to replace slashes and spaces in a string with underscores -MACRO(SANITIZE_PATH _string_var) - STRING(REGEX REPLACE "[\\/ ]+" "_" ${_string_var} ${${_string_var}}) -ENDMACRO(SANITIZE_PATH _string_var) - -# A macro to prepend a given string onto the beginning of each string in a list -MACRO(PREPEND _list _str) - SET(_temp_list ${${_list}}) - SET(${_list}) - FOREACH(x ${_temp_list}) - SET(${_list} ${${_list}} ${_str}${x}) - ENDFOREACH(x) -ENDMACRO(PREPEND _list _str) - -# All folder with CMakeLists.txt files (excluding internal libraries) -SET(srcfolders -algorithms -api -bind -debug -display -dom -dom/io -dom/odf -dom/util -dom/work -extension -extension/dxf2svg -extension/implementation -extension/internal -extension/param -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) - - -# All directories containing lists files that describe building internal libraries -SET(libfolders -application -dialogs -libavoid -libcola -libcroco -libgdl -libnr -libnrtype -libvpsc -) - -FOREACH(dirlist ${libfolders}) - ADD_SUBDIRECTORY(${dirlist}) -ENDFOREACH(dirlist) - IF(WIN32) -SET(ONLY_WIN -registrytool.cpp -deptool.cpp) + SET(ONLY_WIN + registrytool.cpp + #deptool.cpp + winmain.cpp) ELSEIF(WIN32) -SET(ONLY_WIN) + 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 -${INKSCAPE_SRC} arc-context.cpp attributes.cpp axis-manip.cpp @@ -106,16 +84,19 @@ 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 -desktop-affine.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 @@ -129,15 +110,16 @@ 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 -fontsize-expansion.cpp gc-anchored.cpp gc.cpp gc-finalized.cpp @@ -146,15 +128,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 is another executable file -##needs to be separated as a second target -#inkview.cpp interface.cpp knot.cpp knotholder.cpp +knot-holder-entity.cpp layer-fns.cpp layer-manager.cpp line-geometry.cpp @@ -177,9 +160,9 @@ pen-context.cpp persp3d.cpp persp3d-reference.cpp perspective-line.cpp +plugin.def preferences.cpp prefix.cpp -prefs-utils.cpp print.cpp profile-manager.cpp proj_pt.cpp @@ -191,6 +174,7 @@ select-context.cpp selection-chemistry.cpp selection.cpp selection-describer.cpp +#selfname.tpl seltrans.cpp seltrans-handles.cpp shape-editor.cpp @@ -199,87 +183,7 @@ 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 svg-view.cpp @@ -295,25 +199,71 @@ uri-references.cpp vanishing-point.cpp verbs.cpp version.cpp -winmain.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 - "${INKSCAPE_LINK_FLAGS}" avoid cola croco gdl nr nrtype vpsc +nr nrtype sp avoid cola croco gdl vpsc livarot ${internalfolders} ${INKSCAPE_LIBS} ) -#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) +# make executable for INKVIEW +#ADD_EXECUTABLE(inkview inkview.cpp) +#TARGET_LINK_LIBRARIES(inkview +# 2geom avoid cola croco gdl nr nrtype vpsc livarot sp ${internalfolders} +#) -#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)