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
|
project(kapman)
cmake_minimum_required (VERSION 2.8.12 FATAL_ERROR)
set (QT_MIN_VERSION "5.7.0")
set (KF5_MIN_VERSION "5.30.0")
find_package(ECM ${KF5_MIN_VERSION} REQUIRED CONFIG)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
find_package(Qt5 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS Widgets Svg)
find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS
CoreAddons
Config
Crash
DBusAddons
DocTools
Config
I18n
ConfigWidgets
XmlGui
)
find_package(KF5KDEGames 4.9.0 REQUIRED)
include(FeatureSummary)
include(ECMInstallIcons)
include(KDEInstallDirs)
include(KDECompilerSettings NO_POLICY_SCOPE)
include(KDECMakeSettings)
include(ECMAddAppIcon)
add_definitions(
-DQT_USE_FAST_CONCATENATION
-DQT_USE_FAST_OPERATOR_PLUS
-DQT_NO_CAST_FROM_ASCII
-DQT_NO_CAST_TO_ASCII
-DQT_NO_CAST_FROM_BYTEARRAY
-DQT_NO_URL_CAST_FROM_STRING
-DQT_USE_QSTRINGBUILDER
)
add_subdirectory(doc)
set(kapman_SRCS
bonus.cpp
cell.cpp
character.cpp
characteritem.cpp
element.cpp
elementitem.cpp
energizer.cpp
game.cpp
gamescene.cpp
gameview.cpp
ghost.cpp
ghostitem.cpp
kapman.cpp
kapmanitem.cpp
kapmanmainwindow.cpp
kapmanparser.cpp
main.cpp
maze.cpp
mazeitem.cpp
pill.cpp
)
file(GLOB themes
"themes/*.svgz"
"themes/*.desktop"
"themes/*.copyright"
"themes/*.png"
)
file(GLOB sounds_ogg "sounds/*.ogg")
kconfig_add_kcfg_files(kapman_SRCS settings.kcfgc)
ecm_install_icons(ICONS 128-apps-kapman.png 16-apps-kapman.png 22-apps-kapman.png 32-apps-kapman.png 48-apps-kapman.png 64-apps-kapman.png DESTINATION ${KDE_INSTALL_ICONDIR} THEME hicolor)
file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/*-apps-kapman.png")
ecm_add_app_icon(kapman_SRCS ICONS ${ICONS_SRCS})
add_executable(kapman ${kapman_SRCS})
target_link_libraries(kapman
KF5KDEGames
KF5KDEGamesPrivate
Qt5::Svg
Qt5::Xml
KF5::Crash
KF5::DBusAddons
KF5::XmlGui
)
install(TARGETS kapman ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
install(PROGRAMS org.kde.kapman.desktop DESTINATION ${KDE_INSTALL_APPDIR})
install(FILES org.kde.kapman.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
install(FILES kapmanui.rc DESTINATION ${KDE_INSTALL_KXMLGUI5DIR}/kapman)
install(FILES defaultmaze.xml DESTINATION ${KDE_INSTALL_DATADIR}/kapman)
install(FILES ${themes} DESTINATION ${KDE_INSTALL_DATADIR}/kapman/themes)
install(FILES ${sounds_ogg} DESTINATION ${KDE_INSTALL_SOUNDDIR}/kapman)
feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
ki18n_install(po)
if (KF5DocTools_FOUND)
kdoctools_install(po)
endif()
|