diff --git a/.gitignore b/.gitignore --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ CMakeLists.txt.user .directory +build +*kdev4 diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,18 +1,22 @@ +cmake_minimum_required(VERSION 3.0 FATAL_ERROR) project(atelier) -cmake_minimum_required(VERSION 3.0) find_package(ECM REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH}) - include(KDECompilerSettings) include(KDEInstallDirs) include(KDECMakeSettings) include(ECMInstallIcons) - set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_INCLUDE_CURRENT_DIR ON) +set(QT_MIN_VERSION "5.9.0") +set(KF5_DEP_VERSION "5.30.0") +set(KDE_APPLICATIONS_VERSION_MAJOR "1") +set(KDE_APPLICATIONS_VERSION_MINOR "0") +set(KDE_APPLICATIONS_VERSION_MICRO "0") +set(KDE_APPLICATIONS_VERSION "${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATIONS_VERSION_MINOR}.${KDE_APPLICATIONS_VERSION_MICRO}") if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUXX) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 ") @@ -23,21 +27,27 @@ AtCore ) -find_package(KF5 REQUIRED COMPONENTS +find_package(KF5 ${KF5_DEP_VERSION} REQUIRED COMPONENTS Solid I18n XmlGui ConfigWidgets TextEditor ) -find_package(Qt5 REQUIRED COMPONENTS +find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS Core - Test Widgets SerialPort Charts ) + +if(BUILD_TESTING) + find_package(Qt5Test ${QT_MIN_VERSION} CONFIG REQUIRED) +endif() + +# config.h +configure_file (config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/src/config.h) include(ECMPoQmTools) diff --git a/config.h.cmake b/config.h.cmake new file mode 100644 --- /dev/null +++ b/config.h.cmake @@ -0,0 +1,5 @@ +#pragma once + +/* config.h. Generated by cmake from config.h.cmake */ + +#define ATELIER_VERSION "${KDE_APPLICATIONS_VERSION}" diff --git a/src/main.cpp b/src/main.cpp --- a/src/main.cpp +++ b/src/main.cpp @@ -19,6 +19,7 @@ #include #include #include "mainwindow.h" +#include "config.h" int main(int argc, char *argv[]) { @@ -37,7 +38,7 @@ // A displayable program name string. (displayName) i18n("Atelier"), // The program version string. (version) - QStringLiteral("1.0"), + QStringLiteral(ATELIER_VERSION), // Short description of what the app does. (shortDescription) i18n("Printer Host for 3DPrinters"), // The license this code is released under