From e2d5245359de0cd419d49b1f3c8e1392c5d9342a Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 8 Oct 2017 13:43:42 +0200 Subject: use "static" once, don't propagate from a macro --- cmake/opentrack-boilerplate.cmake | 8 ++------ compat/base-path.cpp | 10 ++++++++++ compat/base-path.hpp | 9 +++++++++ compat/util.hpp | 1 + csv/csv.cpp | 1 - tracker-hatire/thread.cpp | 3 ++- 6 files changed, 24 insertions(+), 8 deletions(-) create mode 100644 compat/base-path.cpp create mode 100644 compat/base-path.hpp diff --git a/cmake/opentrack-boilerplate.cmake b/cmake/opentrack-boilerplate.cmake index 1a51413f..36c8d666 100644 --- a/cmake/opentrack-boilerplate.cmake +++ b/cmake/opentrack-boilerplate.cmake @@ -4,14 +4,10 @@ set(opentrack-perms-exec "${opentrack-perms-dir}") set(new-hier-path "#pragma once #ifndef OPENTRACK_NO_QT_PATH - # include # include - -# define OPENTRACK_BASE_PATH (([]() -> const QString& { \\ - const static QString const__path___ = QCoreApplication::applicationDirPath(); \\ - return const__path___; \\ - })()) +# include \"compat/base-path.hpp\" +# define OPENTRACK_BASE_PATH (application_base_path()) #endif #define OPENTRACK_LIBRARY_PATH \"${opentrack-hier-path}\" #define OPENTRACK_DOC_PATH \"${opentrack-hier-doc}\" diff --git a/compat/base-path.cpp b/compat/base-path.cpp new file mode 100644 index 00000000..3285bac8 --- /dev/null +++ b/compat/base-path.cpp @@ -0,0 +1,10 @@ +#include "base-path.hpp" +#include + +OTR_COMPAT_EXPORT +never_inline +const QString& application_base_path() +{ + static QString const& const_path = QCoreApplication::applicationDirPath(); + return const_path; +} diff --git a/compat/base-path.hpp b/compat/base-path.hpp new file mode 100644 index 00000000..3dbf2a3f --- /dev/null +++ b/compat/base-path.hpp @@ -0,0 +1,9 @@ +#pragma once + +#include "macros.hpp" +#include +#include "export.hpp" + +OTR_COMPAT_EXPORT +never_inline +const QString& application_base_path(); diff --git a/compat/util.hpp b/compat/util.hpp index 811f2c1d..cd0dbdef 100644 --- a/compat/util.hpp +++ b/compat/util.hpp @@ -1,5 +1,6 @@ #pragma once +#include "opentrack-library-path.h" #include "ndebug-guard.hpp" #include "run-in-thread.hpp" #include "meta.hpp" diff --git a/csv/csv.cpp b/csv/csv.cpp index 31548f78..05df7da0 100644 --- a/csv/csv.cpp +++ b/csv/csv.cpp @@ -13,7 +13,6 @@ #include "opentrack-library-path.h" #include #include -#include #include #include diff --git a/tracker-hatire/thread.cpp b/tracker-hatire/thread.cpp index 506ccfcf..1f976c35 100644 --- a/tracker-hatire/thread.cpp +++ b/tracker-hatire/thread.cpp @@ -1,5 +1,6 @@ #include "thread.hpp" #include "compat/sleep.hpp" +#include "compat/util.hpp" #include #include @@ -52,7 +53,7 @@ struct Diag final : public QFile { Diag() { - setFileName(QCoreApplication::applicationDirPath() + "/HATDiagnostics.txt"); + setFileName(OPENTRACK_BASE_PATH + "/HATDiagnostics.txt"); } }; -- cgit v1.2.3