~kdevelop/kgraphviewer/master

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
add_definitions(-DTRANSLATION_DOMAIN=\"kgraphviewer\")

ecm_qt_declare_logging_category(kgraphviewerlib_LIB_DEBUG_SRCS
    HEADER kgraphviewerlib_debug.h
    IDENTIFIER KGRAPHVIEWERLIB_LOG
    CATEGORY_NAME org.kde.kgraphviewer.lib
    DEFAULT_SEVERITY Warning
    DESCRIPTION "KGraphViewer (Library and KPart)"
    EXPORT KGRAPHVIEWER
)

########### next target ###############

add_library(kgraphviewerlib SHARED)

target_sources(kgraphviewerlib PRIVATE
    loadagraphthread.cpp
    layoutagraphthread.cpp
    graphelement.cpp
    graphsubgraph.cpp
    graphnode.cpp
    graphedge.cpp
    graphexporter.cpp
    pannerview.cpp
    canvassubgraph.cpp
    canvasnode.cpp
    canvasedge.cpp
    canvaselement.cpp
    dotgraph.cpp
    dotgraphview.cpp
    dot2qtconsts.cpp
    dotgrammar.cpp
    DotGraphParsingHelper.cpp
    FontsCache.cpp
    simpleprintingsettings.cpp
    simpleprintingengine.cpp
    simpleprintingcommand.cpp
    simpleprintingpagesetup.cpp
    simpleprintpreviewwindow_p.cpp
    simpleprintpreviewwindow.cpp
    KgvGlobal.cpp
    KgvUnit.cpp
    KgvUnitWidgets.cpp
    KgvPageLayoutColumns.cpp
    KgvPageLayoutDia.cpp
    KgvPageLayout.cpp
    KgvPageLayoutHeader.cpp
    KgvPageLayoutSize.cpp
    ${kgraphviewerlib_LIB_DEBUG_SRCS}
)

kconfig_add_kcfg_files(kgraphviewerlib kgraphviewer_partsettings.kcfgc)

ki18n_wrap_ui(kgraphviewerlib
    simpleprintingpagesetupbase.ui
    KgvPageLayoutColumnsBase.ui
    KgvPageLayoutHeaderBase.ui
)

target_include_directories(kgraphviewerlib PRIVATE
    ${CMAKE_CURRENT_SOURCE_DIR}/..
    ${Boost_INCLUDE_DIRS}
)

target_link_libraries(kgraphviewerlib
    PUBLIC
        KF5::Parts
        Graphviz::Graphviz
    PRIVATE
        Qt5::Svg
        Qt5::PrintSupport
        KF5::WidgetsAddons
        KF5::IconThemes
        KF5::XmlGui
        KF5::I18n
)

set_target_properties(kgraphviewerlib PROPERTIES
    VERSION ${PROJECT_VERSION}
    SOVERSION ${KGRAPHVIEWER_SOVERSION}
    OUTPUT_NAME kgraphviewer
)

install( TARGETS kgraphviewerlib ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})


########### next target ###############

configure_file(kgraphviewer_part.desktop.in ${CMAKE_CURRENT_BINARY_DIR}/kgraphviewer_part.desktop @ONLY)

ecm_setup_version(${PROJECT_VERSION}
    VARIABLE_PREFIX KGRAPHVIEWERPART
    PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KGraphViewerPartConfigVersion.cmake"
)

add_library(kgraphviewerpart MODULE)

target_sources(kgraphviewerpart PRIVATE
    kgraphviewer_part.cpp
    ${kgraphviewerlib_LIB_DEBUG_SRCS}

    kgraphviewer_part.qrc
)

kcoreaddons_desktop_to_json(kgraphviewerpart ${CMAKE_CURRENT_BINARY_DIR}/kgraphviewer_part.desktop)

generate_export_header(kgraphviewerpart BASE_NAME kgraphviewer)

target_include_directories(kgraphviewerpart PRIVATE
    ${CMAKE_CURRENT_BINARY_DIR}/..
)

target_link_libraries(kgraphviewerpart
    kgraphviewerlib
    KF5::Parts
)

install( TARGETS kgraphviewerpart DESTINATION ${KDE_INSTALL_PLUGINDIR})

set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KGraphViewerPart")

configure_package_config_file(
    "${CMAKE_CURRENT_SOURCE_DIR}/KGraphViewerPartConfig.cmake.in"
    "${CMAKE_CURRENT_BINARY_DIR}/KGraphViewerPartConfig.cmake"
    INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
)

########### configure AppStream metadata ###############
configure_file(org.kde.libkgraphviewer.metainfo.xml.in "${CMAKE_CURRENT_BINARY_DIR}/org.kde.libkgraphviewer.metainfo.xml" IMMEDIATE @ONLY)

########### install files ###############

install( FILES kgraphviewer_partsettings.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR} )

install( FILES ${CMAKE_CURRENT_BINARY_DIR}/kgraphviewer_part.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR} )
install( FILES chain.png DESTINATION ${KDE_INSTALL_DATADIR}/kgraphviewerpart/pics )
install( FILES chain-broken.png DESTINATION ${KDE_INSTALL_DATADIR}/kgraphviewerpart/pics )
install( FILES kgraphviewer-bev.png DESTINATION ${KDE_INSTALL_DATADIR}/kgraphviewerpart/pics )
install( FILES kgraphviewer-newnode.png DESTINATION ${KDE_INSTALL_DATADIR}/kgraphviewerpart/pics )
install( FILES kgraphviewer-newedge.png DESTINATION ${KDE_INSTALL_DATADIR}/kgraphviewerpart/pics )
install( FILES "${CMAKE_CURRENT_BINARY_DIR}/org.kde.libkgraphviewer.metainfo.xml" DESTINATION ${KDE_INSTALL_METAINFODIR} )

install(FILES kgraphviewer_interface.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/kgraphviewer/ COMPONENT Devel)

install( FILES
    "${CMAKE_CURRENT_BINARY_DIR}/KGraphViewerPartConfig.cmake"
    "${CMAKE_CURRENT_BINARY_DIR}/KGraphViewerPartConfigVersion.cmake"
  DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
  COMPONENT Devel
)