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
|
find_package(LibKompareDiff2 5.0 CONFIG)
set_package_properties(LibKompareDiff2 PROPERTIES
PURPOSE "Required for building the patch review plugin."
TYPE REQUIRED
)
find_package(KF5Purpose CONFIG QUIET)
set_package_properties(KF5Purpose PROPERTIES DESCRIPTION "Support for patch sharing"
TYPE OPTIONAL
)
if (NOT KF5Purpose_FOUND)
find_package(KDEExperimentalPurpose QUIET)
set_package_properties(KDEExperimentalPurpose PROPERTIES DESCRIPTION "EXPERIMENTAL. Support for patch sharing"
URL "https://projects.kde.org/projects/playground/libs/purpose"
TYPE OPTIONAL
)
endif()
add_definitions(-DTRANSLATION_DOMAIN=\"kdevpatchreview\")
kde_enable_exceptions()
if(LibKompareDiff2_VERSION VERSION_LESS 5.1)
remove_definitions(
-DQT_NO_CAST_FROM_ASCII
-DQT_NO_SIGNALS_SLOTS_KEYWORDS
)
endif()
set(patchreview_PART_SRCS
patchreview.cpp
patchhighlighter.cpp
patchreviewtoolview.cpp
localpatchsource.cpp
)
declare_qt_logging_category(patchreview_PART_SRCS
TYPE PLUGIN
IDENTIFIER PLUGIN_PATCHREVIEW
CATEGORY_BASENAME "patchreview"
)
ki18n_wrap_ui(patchreview_PART_SRCS patchreview.ui localpatchwidget.ui)
qt5_add_resources(patchreview_PART_SRCS kdevpatchreview.qrc)
kdevplatform_add_plugin(kdevpatchreview JSON kdevpatchreview.json SOURCES ${patchreview_PART_SRCS})
target_link_libraries(kdevpatchreview
KDev::Project
KDev::Interfaces
KDev::Util
KDev::Language
KDev::Vcs
KDev::Sublime
${LIBKOMPAREDIFF2_LIBRARIES} # from cmake config file, has matching target name, which changed for 5.1
KF5::IconThemes
KF5::TextEditor
KF5::Parts
)
if (KF5Purpose_FOUND)
target_compile_definitions(kdevpatchreview PRIVATE WITH_PURPOSE)
target_link_libraries(kdevpatchreview KF5::PurposeWidgets)
elseif (KDEExperimentalPurpose_FOUND)
target_compile_definitions(kdevpatchreview PRIVATE WITH_PURPOSE)
target_link_libraries(kdevpatchreview KDEExperimental::PurposeWidgets)
endif()
|