diff --git a/CMakeLists.txt b/CMakeLists.txt index 792d093..abe260f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,78 +1,87 @@ cmake_minimum_required(VERSION 3.0) -project(kruler) +# 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(kruler VERSION ${KDE_APPLICATIONS_VERSION}) set(QT_MIN_VERSION "5.8.0") set(KF5_MIN_VERSION "5.30.0") find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) add_definitions(-DTRANSLATION_DOMAIN="kruler") include(KDEInstallDirs) include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) include(KDECMakeSettings) include(ECMInstallIcons) include(FeatureSummary) include(ECMAddAppIcon) +include(ECMSetupVersion) find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core Widgets ) find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS DocTools I18n Notifications WindowSystem XmlGui ) add_definitions(-DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT) add_definitions(-DQT_NO_URL_CAST_FROM_STRING) add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x060000) if (NOT APPLE) find_package(X11) set (KRULER_HAVE_X11 ${X11_FOUND}) if (X11_FOUND) find_package(XCB COMPONENTS XCB) find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED X11Extras) endif() endif() configure_file(krulerconfig.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/krulerconfig.h) add_subdirectory( pics ) add_subdirectory( doc ) ########### next target ############### +ecm_setup_version(${KDE_APPLICATIONS_VERSION} VARIABLE_PREFIX KRULER VERSION_HEADER kruler_version.h) + set(kruler_SRCS klineal.cpp main.cpp krulersystemtray.cpp) ki18n_wrap_ui(kruler_SRCS cfg_appearance.ui cfg_advanced.ui) kconfig_add_kcfg_files(kruler_SRCS kruler.kcfgc) file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/pics/*-apps-kruler.png") ecm_add_app_icon(kruler_SRCS ICONS ${ICONS_SRCS}) add_executable(kruler ${kruler_SRCS}) target_link_libraries(kruler KF5::I18n KF5::Notifications KF5::WindowSystem KF5::XmlGui) if (X11_FOUND) target_link_libraries(kruler Qt5::X11Extras ${XCB_LIBRARIES}) endif() install(TARGETS kruler ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) ########### install files ############### install( PROGRAMS org.kde.kruler.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) install( FILES org.kde.kruler.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR} ) install( FILES kruler.notifyrc DESTINATION ${KDE_INSTALL_KNOTIFY5RCDIR} ) install( FILES move.wav DESTINATION ${KDE_INSTALL_DATADIR}/kruler/sounds ) feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) diff --git a/main.cpp b/main.cpp index 7fe4dd3..1932cac 100644 --- a/main.cpp +++ b/main.cpp @@ -1,57 +1,59 @@ /*************************************************************************** main.cpp - description ------------------- Copyright : (C) 2000 - 2008 by Till Krech (C) 2009 by Mathias Soeken ***************************************************************************/ /*************************************************************************** * * * 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 "klineal.h" +#include "kruler_version.h" + int main(int argc, char *argv[]) { QApplication a( argc, argv ); a.setAttribute(Qt::AA_UseHighDpiPixmaps, true); Kdelibs4ConfigMigrator migrate(QStringLiteral("kruler")); migrate.setConfigFiles(QStringList() << QStringLiteral("krulerrc") << QStringLiteral("kruler.notifyrc")); migrate.setUiFiles(QStringList() << QStringLiteral("krulerui.rc")); migrate.migrate(); KAboutData aboutData( QStringLiteral("kruler"), i18n( "KDE Screen Ruler" ), - QStringLiteral("5.0"), // version string + QStringLiteral(KRULER_VERSION_STRING), i18n( "A screen ruler by KDE" ), KAboutLicense::GPL, i18n( "(c) 2000 - 2008, Till Krech\n(c) 2009, Mathias Soeken" ) ); aboutData.addAuthor( i18n( "Mathias Soeken" ), i18n( "Maintainer" ), QStringLiteral("msoeken@tzi.de") ); aboutData.addAuthor( i18n( "Till Krech" ), i18n( "Former Maintainer and Developer" ), QStringLiteral("till@snafu.de") ); aboutData.addCredit( i18n( "Gunnstein Lye" ),i18n( "Initial port to KDE 2" ), QStringLiteral("gl@ez.no") ); aboutData.setTranslator( i18nc( "NAME OF TRANSLATORS", "Your names" ), i18nc( "EMAIL OF TRANSLATORS", "Your emails" ) ); KAboutData::setApplicationData(aboutData); QCommandLineParser parser; aboutData.setupCommandLine(&parser); parser.process(a); aboutData.processCommandLine(&parser); KLineal *ruler = new KLineal(); ruler->show(); int ret = a.exec(); delete ruler; return ret; }