CMakeLists.txt revision e6e8713c2de5853516c287e78b41d2ab5459457c
651f50fab63220a4fdab7ac7bdd363ec676713aaMatt Sweeney
651f50fab63220a4fdab7ac7bdd363ec676713aaMatt Sweeney# -----------------------------------------------------------------------------
651f50fab63220a4fdab7ac7bdd363ec676713aaMatt Sweeney# Define the main source
651f50fab63220a4fdab7ac7bdd363ec676713aaMatt Sweeney# -----------------------------------------------------------------------------
651f50fab63220a4fdab7ac7bdd363ec676713aaMatt Sweeney
651f50fab63220a4fdab7ac7bdd363ec676713aaMatt Sweeneyset(main_SRC
651f50fab63220a4fdab7ac7bdd363ec676713aaMatt Sweeney main.cpp
)
set(sp_SRC
attribute-rel-css.cpp
attribute-rel-svg.cpp
attribute-rel-util.cpp
sp-anchor.cpp
# sp-animation.cpp
sp-clippath.cpp
sp-conn-end-pair.cpp
sp-conn-end.cpp
sp-cursor.cpp
sp-defs.cpp
sp-desc.cpp
sp-ellipse.cpp
sp-filter-primitive.cpp
sp-filter-reference.cpp
sp-filter.cpp
sp-flowdiv.cpp
sp-flowregion.cpp
sp-flowtext.cpp
sp-font-face.cpp
sp-font.cpp
sp-glyph-kerning.cpp
sp-glyph.cpp
sp-gradient-reference.cpp
sp-gradient.cpp
sp-guide.cpp
sp-image.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-item.cpp
sp-line.cpp
sp-lpe-item.cpp
sp-mask.cpp
sp-metadata.cpp
sp-metrics.cpp
sp-missing-glyph.cpp
sp-namedview.cpp
sp-object-group.cpp
sp-object-repr.cpp
sp-object.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-script.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-title.cpp
sp-tref-reference.cpp
sp-tref.cpp
sp-tspan.cpp
sp-use-reference.cpp
sp-use.cpp
spiral-context.cpp
splivarot.cpp
# -------
# Headers
attribute-rel-css.h
attribute-rel-svg.h
attribute-rel-util.h
sp-anchor.h
sp-animation.h
sp-clippath.h
sp-conn-end-pair.h
sp-conn-end.h
sp-cursor.h
sp-defs.h
sp-desc.h
sp-ellipse.h
sp-filter-primitive.h
sp-filter-reference.h
sp-filter-units.h
sp-filter.h
sp-flowdiv.h
sp-flowregion.h
sp-flowtext.h
sp-font-face.h
sp-font.h
sp-glyph-kerning.h
sp-glyph.h
sp-gradient-fns.h
sp-gradient-reference.h
sp-gradient-spread.h
sp-gradient-test.h
sp-gradient-units.h
sp-gradient-vector.h
sp-gradient.h
sp-guide-attachment.h
sp-guide-constraint.h
sp-guide.h
sp-image.h
sp-item-group.h
sp-item-notify-moveto.h
sp-item-rm-unsatisfied-cns.h
sp-item-transform.h
sp-item-update-cns.h
sp-item.h
sp-line.h
sp-linear-gradient-fns.h
sp-linear-gradient.h
sp-lpe-item.h
sp-marker-loc.h
sp-mask.h
sp-metadata.h
sp-metric.h
sp-metrics.h
sp-missing-glyph.h
sp-namedview.h
sp-object-group.h
sp-object-repr.h
sp-object.h
sp-offset.h
sp-paint-server-reference.h
sp-paint-server.h
sp-path.h
sp-pattern.h
sp-polygon.h
sp-polyline.h
sp-radial-gradient-fns.h
sp-radial-gradient.h
sp-rect.h
sp-root.h
sp-script.h
sp-shape.h
# sp-skeleton.h
sp-spiral.h
sp-star.h
sp-stop.h
sp-string.h
sp-style-elem-test.h
sp-style-elem.h
sp-switch.h
sp-symbol.h
sp-text.h
sp-textpath.h
sp-title.h
sp-tref-reference.h
sp-tref.h
sp-tspan.h
sp-use-reference.h
sp-use.h
)
set(inkscape_SRC
arc-context.cpp
attributes.cpp
axis-manip.cpp
box3d-context.cpp
box3d-side.cpp
box3d.cpp
color-profile.cpp
color.cpp
common-context.cpp
composite-undo-stack-observer.cpp
conditions.cpp
conn-avoid-ref.cpp
connection-points.cpp
connector-context.cpp
console-output-undo-observer.cpp
context-fns.cpp
desktop-events.cpp
desktop-handles.cpp
desktop-style.cpp
desktop.cpp
device-manager.cpp
dir-util.cpp
document-subset.cpp
document-undo.cpp
document.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
extract-uri.cpp
file.cpp
filter-chemistry.cpp
filter-enums.cpp
fixes.cpp
flood-context.cpp
gc-anchored.cpp
gc-finalized.cpp
gc.cpp
gradient-chemistry.cpp
gradient-context.cpp
gradient-drag.cpp
graphlayout.cpp
guide-snapper.cpp
help.cpp
id-clash.cpp
# ige-mac-menu.c
ink-action.cpp
ink-comboboxentry-action.cpp
inkscape.cpp
inkscape.rc
interface.cpp
knot-holder-entity.cpp
knot.cpp
knotholder.cpp
layer-fns.cpp
layer-manager.cpp
line-geometry.cpp
line-snapper.cpp
lpe-tool-context.cpp
main-cmdlineact.cpp
marker.cpp
measure-context.cpp
media.cpp
message-context.cpp
message-stack.cpp
mod360.cpp
object-edit.cpp
object-hierarchy.cpp
object-snapper.cpp
path-chemistry.cpp
pen-context.cpp
pencil-context.cpp
persp3d-reference.cpp
persp3d.cpp
perspective-line.cpp
preferences.cpp
prefix.cpp
print.cpp
profile-manager.cpp
proj_pt.cpp
rdf.cpp
rect-context.cpp
removeoverlap.cpp
resource-manager.cpp
rubberband.cpp
satisfied-guide-cns.cpp
selcue.cpp
select-context.cpp
selection-chemistry.cpp
selection-describer.cpp
selection.cpp
seltrans-handles.cpp
seltrans.cpp
shape-editor.cpp
shortcuts.cpp
snap-preferences.cpp
snap.cpp
snapped-curve.cpp
snapped-line.cpp
snapped-point.cpp
snapper.cpp
spray-context.cpp
star-context.cpp
style.cpp
svg-view-widget.cpp
svg-view.cpp
text-chemistry.cpp
text-context.cpp
text-editing.cpp
tools-switch.cpp
transf_mat_3x4.cpp
tweak-context.cpp
unclump.cpp
unicoderange.cpp
uri-references.cpp
uri.cpp
vanishing-point.cpp
verbs.cpp
version.cpp
zoom-context.cpp
# -------
# Headers
MultiPrinter.h
PylogFormatter.h
TRPIFormatter.h
approx-equal.h
arc-context.h
attributes-test.h
attributes.h
axis-manip.h
bad-uri-exception.h
box3d-context.h
box3d-side.h
box3d.h
cms-color-types.h
cms-system.h
color-profile-cms-fns.h
color-profile-test.h
color-profile.h
color-rgba.h
color.h
common-context.h
composite-undo-stack-observer.h
conditions.h
conn-avoid-ref.h
connection-points.h
connection-pool.h
connector-context.h
console-output-undo-observer.h
context-fns.h
decimal-round.h
desktop-events.h
desktop-handles.h
desktop-style.h
desktop.h
device-manager.h
dir-util-test.h
dir-util.h
document-private.h
document-subset.h
document-undo.h
document.h
draw-anchor.h
draw-context.h
dropper-context.h
dyna-draw-context.h
ege-adjustment-action.h
ege-color-prof-tracker.h
ege-output-action.h
ege-select-one-action.h
enums.h
eraser-context.h
event-context.h
event-log.h
event.h
extract-uri-test.h
extract-uri.h
file.h
fill-or-stroke.h
filter-chemistry.h
filter-enums.h
flood-context.h
gc-alloc.h
gc-allocator.h
gc-anchored.h
gc-core.h
gc-finalized.h
gc-managed.h
gc-soft-ptr.h
gradient-chemistry.h
gradient-context.h
gradient-drag.h
graphlayout.h
guide-snapper.h
help.h
helper-fns.h
icon-size.h
id-clash.h
# ige-mac-menu.h
ink-action.h
ink-comboboxentry-action.h
inkscape-private.h
inkscape-version.h
inkscape.h
interface.h
isinf.h
isnormal.h
knot-enums.h
knot-holder-entity.h
knot.h
knotholder.h
layer-fns.h
layer-manager.h
line-geometry.h
line-snapper.h
lpe-tool-context.h
macros.h
main-cmdlineact.h
marker-test.h
marker.h
measure-context.h
media.h
memeq.h
menus-skeleton.h
message-context.h
message-stack.h
message.h
mod360-test.h
mod360.h
modifier-fns.h
number-opt-number.h
object-edit.h
object-hierarchy.h
object-snapper.h
path-chemistry.h
path-prefix.h
pen-context.h
pencil-context.h
persp3d-reference.h
persp3d.h
perspective-line.h
preferences-skeleton.h
preferences-test.h
preferences.h
prefix.h
print.h
profile-manager.h
proj_pt.h
rdf.h
rect-context.h
registrytool.h
remove-last.h
removeoverlap.h
require-config.h
resource-manager.h
round-test.h
round.h
rubberband.h
satisfied-guide-cns.h
selcue.h
select-context.h
selection-chemistry.h
selection-describer.h
selection.h
seltrans-handles.h
seltrans.h
shape-editor.h
shortcuts.h
snap-candidate.h
snap-enums.h
snap-preferences.h
snap.h
snapped-curve.h
snapped-line.h
snapped-point.h
snapper.h
spiral-context.h
splivarot.h
spray-context.h
star-context.h
streq.h
strneq.h
style-test.h
style.h
svg-profile.h
svg-view-widget.h
svg-view.h
syseq.h
test-helpers.h
text-chemistry.h
text-context.h
text-editing.h
text-tag-attributes.h
tools-switch.h
transf_mat_3x4.h
tweak-context.h
unclump.h
undo-stack-observer.h
unicoderange.h
unit-constants.h
uri-references.h
uri.h
vanishing-point.h
verbs-test.h
verbs.h
version.h
zoom-context.h
)
if(WIN32)
list(APPEND inkscape_SRC
registrytool.cpp
#deptool.cpp
winmain.cpp
)
endif()
# -----------------------------------------------------------------------------
# Generate version file
# -----------------------------------------------------------------------------
# a custom target that is always built
add_custom_target(
inkscape_version ALL
DEPENDS ${CMAKE_BINARY_DIR}/src/inkscape-version.cpp)
# creates inkscape-version.cpp using cmake script
add_custom_command(
OUTPUT ${CMAKE_BINARY_DIR}/src/inkscape-version.cpp
COMMAND ${CMAKE_COMMAND}
-DINKSCAPE_SOURCE_DIR=${CMAKE_SOURCE_DIR}
-DINKSCAPE_BINARY_DIR=${CMAKE_BINARY_DIR}
-P ${CMAKE_SOURCE_DIR}/CMakeScripts/inkscape-version.cmake)
# buildinfo.h is a generated file
set_source_files_properties(
${CMAKE_BINARY_DIR}/src/inkscape-version.cpp
PROPERTIES GENERATED TRUE)
list(APPEND inkscape_SRC
${CMAKE_BINARY_DIR}/src/inkscape-version.cpp
)
# -----------------------------------------------------------------------------
# Load in subdirectories
# -----------------------------------------------------------------------------
# All folders for internal inkscape
# these call add_inkscape_source
add_subdirectory(bind)
add_subdirectory(debug)
add_subdirectory(dialogs)
add_subdirectory(display)
add_subdirectory(dom)
add_subdirectory(extension)
add_subdirectory(filters)
add_subdirectory(helper)
add_subdirectory(io)
add_subdirectory(live_effects)
add_subdirectory(svg)
add_subdirectory(trace)
add_subdirectory(ui)
add_subdirectory(util)
add_subdirectory(widgets)
add_subdirectory(xml)
add_subdirectory(2geom)
# Directories containing lists files that describe building internal libraries
add_subdirectory(libavoid)
add_subdirectory(libcola)
add_subdirectory(libcroco)
add_subdirectory(libgdl)
add_subdirectory(libvpsc)
add_subdirectory(livarot)
add_subdirectory(libnrtype)
get_property(inkscape_global_SRC GLOBAL PROPERTY inkscape_global_SRC)
set(inkscape_SRC
${inkscape_global_SRC}
${inkscape_SRC}
)
# -----------------------------------------------------------------------------
# Setup the executable
# -----------------------------------------------------------------------------
add_inkscape_lib(sp_LIB "${sp_SRC}")
add_inkscape_lib(inkscape_LIB "${inkscape_SRC}")
# make executable for INKSCAPE
add_executable(inkscape ${main_SRC})
add_dependencies(inkscape inkscape_version)
target_link_libraries(inkscape
# order from automake
sp_LIB
nrtype_LIB
inkscape_LIB
sp_LIB # annoying, we need both!
nrtype_LIB # annoying, we need both!
dom_LIB
croco_LIB
avoid_LIB
gdl_LIB
cola_LIB
vpsc_LIB
livarot_LIB
2geom_LIB
${INKSCAPE_LIBS}
)
# TODO
# make executable for INKVIEW
#add_executable(inkview inkview.cpp)
# ...