From d13f9d2824ad22e4fda94dc3fd6eab6607d2968d Mon Sep 17 00:00:00 2001 From: Martin Brodbeck Date: Thu, 10 Oct 2019 13:36:48 +0200 Subject: [PATCH] meson is now working ... somehow --- meson.build | 19 ++++++++++++++++++- src/core/csvreader.cpp | 3 ++- src/core/meson.build | 6 +++++- src/gui/mainwindow.cpp | 2 +- src/gui/meson.build | 12 +++++++++--- src/gui/settingsdialog.h | 2 ++ src/meson.build | 2 -- src/printer/meson.build | 8 ++++++-- 8 files changed, 43 insertions(+), 11 deletions(-) diff --git a/meson.build b/meson.build index a6cfdea..7934a7a 100644 --- a/meson.build +++ b/meson.build @@ -1,3 +1,20 @@ -project('kima2', 'cpp') +project('kima2', 'cpp', default_options : ['cpp_std=c++17'], version : '1.6.0') + +conf_data = configuration_data() +conf_data.set('PROJECT_VERSION', '"' + meson.project_version() + '"') +configure_file(output : 'config.h', + configuration : conf_data) +configuration_inc = include_directories('.') + +cmake = import('cmake') + +#csv = cmake.subproject('csv-parser') +#csv_lib = csv.dependency('csv') +nlohmann = cmake.subproject('nlohmann_json', cmake_options : ['-DJSON_BuildTests=OFF', '-DCMAKE_BUILD_TYPE=Release']) +nlohmann_lib = nlohmann.dependency('nlohmann_json') + +singleapp_proj = subproject('singleapplication') +singleapp_lib = singleapp_proj.get_variable('singleapp_lib') +singleapp_dep = singleapp_proj.get_variable('singleapp_dep') subdir('src') diff --git a/src/core/csvreader.cpp b/src/core/csvreader.cpp index 73f95e1..848ddde 100644 --- a/src/core/csvreader.cpp +++ b/src/core/csvreader.cpp @@ -2,7 +2,8 @@ #include "utils.h" #include -#include +#include "../../subprojects/csv-parser/single_include/csv.hpp" +//#include namespace fs = std::filesystem; diff --git a/src/core/meson.build b/src/core/meson.build index 65c51c7..c515eb8 100644 --- a/src/core/meson.build +++ b/src/core/meson.build @@ -6,4 +6,8 @@ src = ['database.cpp', 'entity.cpp', 'entityint.cpp', 'entityuuid.cpp', 'seller.cpp', 'article.cpp', 'sale.cpp', 'marketplace.cpp', 'excelreader.cpp', 'csvreader.cpp', 'jsonutil.cpp', 'utils.cpp'] -core_lib = static_library('core', src, dependencies :[boost, xlnt, sqlite]) +core_inc = include_directories('..') + +core_lib = static_library('core', src, dependencies :[boost, xlnt, sqlite, nlohmann_lib]) + +core_dep = declare_dependency(link_with : core_lib, include_directories : core_inc) diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index 32d8813..6c7e814 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -1,7 +1,7 @@ #include "mainwindow.h" #include "basketmodel.h" -#include "config.h" +#include #include "pricedialog.h" #include "reportdialog.h" #include "salemodel.h" diff --git a/src/gui/meson.build b/src/gui/meson.build index e169e40..07d7147 100644 --- a/src/gui/meson.build +++ b/src/gui/meson.build @@ -1,5 +1,8 @@ qt5 = import('qt5') -qt5_dep = dependency('qt5', modules: ['Core', 'Gui', 'PrintSupport']) +qt5_dep = dependency('qt5', modules: ['Core', 'Gui', 'PrintSupport', 'Network']) + +thread_dep = dependency('threads') + src = ['kima2.cpp', 'mainwindow.cpp', 'sellerdialog.cpp', 'sellermodel.cpp', 'pricedialog.cpp', 'basketmodel.cpp', 'salemodel.cpp', 'reportdialog.cpp', @@ -7,9 +10,12 @@ src = ['kima2.cpp', 'mainwindow.cpp', 'sellerdialog.cpp', 'sellermodel.cpp', ui = ['mainwindow.ui', 'sellerdialog.ui', 'pricedialog.ui', 'reportdialog.ui', 'settingsdialog.ui'] -processed = qt5.preprocess(moc_headers : ['basketmodel.h', 'mainwindow.h', 'pricedialog.h', 'reportdialog.h', 'sellerdialog.h', 'settingsdialog.h'], +processed = qt5.preprocess(moc_headers : ['basketmodel.h', 'mainwindow.h', 'pricedialog.h', + 'reportdialog.h', 'sellerdialog.h', 'settingsdialog.h', + 'sellermodel.h', 'salemodel.h'], ui_files : ui, qresources : '../../kima2.qrc', dependencies: qt5_dep) -kima2 = executable('kima2', sources : [src, processed], dependencies : qt5_dep) +kima2 = executable('kima2', sources : [src, processed], dependencies : [qt5_dep, singleapp_dep, core_dep, printer_dep, thread_dep], + include_directories : [configuration_inc]) diff --git a/src/gui/settingsdialog.h b/src/gui/settingsdialog.h index da03ddc..a1a7026 100644 --- a/src/gui/settingsdialog.h +++ b/src/gui/settingsdialog.h @@ -9,6 +9,8 @@ class SettingsDialog : public QDialog { + Q_OBJECT + public: SettingsDialog(QWidget* parent = nullptr, Qt::WindowFlags f = Qt::WindowTitleHint | Qt::WindowSystemMenuHint); diff --git a/src/meson.build b/src/meson.build index 572c4c3..439c81e 100644 --- a/src/meson.build +++ b/src/meson.build @@ -1,5 +1,3 @@ -printer = dependency('printer_dep', fallback : ['printer', 'printer_dep']) - subdir('core') subdir('printer') subdir('gui') diff --git a/src/printer/meson.build b/src/printer/meson.build index b5af280..64f0602 100644 --- a/src/printer/meson.build +++ b/src/printer/meson.build @@ -1,5 +1,9 @@ libusb = dependency('libusb-1.0') -src = ['posprinter.cpp'] +src = ['posprinter.cpp', 'utils.cpp'] -printer_lib = static_library('printer', src, dependencies: [libusb]) +printer_inc = include_directories('..') + +printer_lib = static_library('printer', src, dependencies: [libusb, core_dep]) + +printer_dep = declare_dependency(link_with : printer_lib, include_directories : printer_inc)