diff --git a/CMakeLists.txt b/CMakeLists.txt index 1f60693..a03ea3f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,43 +1,51 @@ -project(kiriki) - cmake_minimum_required (VERSION 3.5 FATAL_ERROR) + +# KDE Application Version, managed by release script +set(KDE_APPLICATIONS_VERSION_MAJOR "19") +set(KDE_APPLICATIONS_VERSION_MINOR "07") +set(KDE_APPLICATIONS_VERSION_MICRO "70") +set(KDE_APPLICATIONS_VERSION "${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATIONS_VERSION_MINOR}.${KDE_APPLICATIONS_VERSION_MICRO}") + +project(kiriki VERSION ${KDE_APPLICATIONS_VERSION}) + set (QT_MIN_VERSION "5.3.0") set (KF5_MIN_VERSION "5.15.0") find_package(ECM 1.7.0 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 PrintSupport) find_package(KF5 REQUIRED COMPONENTS CoreAddons Config Crash DBusAddons DocTools I18n ConfigWidgets IconThemes XmlGui ) find_package(KF5KDEGames 4.9.0 REQUIRED) include(FeatureSummary) include(ECMAddAppIcon) include(ECMInstallIcons) include(KDEInstallDirs) +include(ECMSetupVersion) include(KDECompilerSettings NO_POLICY_SCOPE) include(KDECMakeSettings) add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS) if (${KF5Config_VERSION} STRGREATER "5.56.0") add_definitions(-DQT_NO_FOREACH) MESSAGE(STATUS "compile without foreach") endif() add_subdirectory(src) add_subdirectory(images) add_subdirectory(icons) add_subdirectory(doc) feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3ee4b79..b41d0f4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,40 +1,42 @@ +ecm_setup_version(${KDE_APPLICATIONS_VERSION} VARIABLE_PREFIX KIRIKI VERSION_HEADER kiriki_version.h) + set(kiriki_SRCS main.cpp kiriki.cpp player.cpp scores.cpp diceswidget.cpp lateralwidget.cpp computer.cpp configwidget.cpp row.cpp itemdelegate.cpp ) ki18n_wrap_ui(kiriki_SRCS configPage.ui) kconfig_add_kcfg_files(kiriki_SRCS settings.kcfgc) file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/../icons/*-apps-kiriki.png") ecm_add_app_icon(kiriki_SRCS ICONS ${ICONS_SRCS}) add_executable(kiriki ${kiriki_SRCS}) target_link_libraries(kiriki KF5KDEGames KF5::XmlGui KF5::I18n KF5::IconThemes KF5::DBusAddons KF5::Crash Qt5::PrintSupport ) install(TARGETS kiriki ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) ########### install files ############### install(FILES kirikiui.rc DESTINATION ${KDE_INSTALL_KXMLGUI5DIR}/kiriki ) install(PROGRAMS org.kde.kiriki.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) install(FILES org.kde.kiriki.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR} ) diff --git a/src/main.cpp b/src/main.cpp index dde8a4b..f5734b9 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,38 +1,40 @@ /*************************************************************************** * Copyright (C) 2005 by Albert Astals Cid * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * ***************************************************************************/ #include #include #include #include #include #include #include "kiriki.h" +#include "kiriki_version.h" + int main(int argc, char *argv[]) { QApplication app(argc, argv); KLocalizedString::setApplicationDomain("kiriki"); - KAboutData about(QStringLiteral("kiriki"), i18n("Kiriki"), QStringLiteral("0.3.0"), i18n("A Yahtzee dice game by KDE"), KAboutLicense::GPL, i18n("© 2005-2007 Albert Astals Cid")); + KAboutData about(QStringLiteral("kiriki"), i18n("Kiriki"), KIRIKI_VERSION_STRING, i18n("A Yahtzee dice game by KDE"), KAboutLicense::GPL, i18n("© 2005-2007 Albert Astals Cid")); about.addAuthor(i18n("Albert Astals Cid"), QString(), QStringLiteral("aacid@kde.org")); about.setHomepage(QStringLiteral("http://games.kde.org/kiriki")); QCommandLineParser parser; KAboutData::setApplicationData(about); KCrash::initialize(); about.setupCommandLine(&parser); parser.process(app); about.processCommandLine(&parser); KDBusService service; kiriki *w = new kiriki(); w->show(); app.setWindowIcon(QIcon::fromTheme(QStringLiteral("kiriki"))); return app.exec(); }