Merge pull request #14 from QuasarApp/v1_1

V1 1
This commit is contained in:
Andrei Yankovich 2019-04-07 00:02:29 +03:00 committed by GitHub
commit 6d2c3c91fd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 80 additions and 6 deletions

View File

@ -7,6 +7,7 @@
# #
QT -= gui QT -= gui
CONFIG += c++17
TARGET = QuasarApp TARGET = QuasarApp
TEMPLATE = lib TEMPLATE = lib
@ -35,14 +36,16 @@ SOURCES += \
quasarapp.cpp \ quasarapp.cpp \
params.cpp \ params.cpp \
locales.cpp \ locales.cpp \
settings.cpp settings.cpp \
global.cpp
HEADERS += \ HEADERS += \
quasarapp.h \ quasarapp.h \
quasarapp_global.h \ quasarapp_global.h \
params.h \ params.h \
locales.h \ locales.h \
settings.h settings.h \
global.h
DISTFILES += \ DISTFILES += \
QuasarLib.pri \ QuasarLib.pri \
@ -51,5 +54,5 @@ DISTFILES += \
RESOURCES += \ RESOURCES += \
res.qrc res.qrc
VERSION = 1.1.4 VERSION = 1.1.5

View File

@ -14,9 +14,11 @@ CONFIG(release, debug|release): {
} else { } else {
QUASARAPP_LIB_OUTPUT_DIR="$$PWD/build/debug" QUASARAPP_LIB_OUTPUT_DIR="$$PWD/build/debug"
} }
contains(QMAKE_HOST.os, Linux):{
unix:LIBS += -L$$QUASARAPP_LIB_OUTPUT_DIR -lQuasarApp LIBS += -L$$QUASARAPP_LIB_OUTPUT_DIR -lQuasarApp
win32:LIBS += -L$$QUASARAPP_LIB_OUTPUT_DIR -lQuasarApp1 } else {
LIBS += -L$$QUASARAPP_LIB_OUTPUT_DIR -lQuasarApp1
}
INCLUDEPATH += "$$PWD/" INCLUDEPATH += "$$PWD/"

1
global.cpp Normal file
View File

@ -0,0 +1 @@
#include "global.h"

67
global.h Normal file
View File

@ -0,0 +1,67 @@
#ifndef GLOBAL_H
#define GLOBAL_H
#include <cstdlib>
#include <type_traits>
template <typename T>
constexpr inline T operator | (T lhs, T rhs)
{
static_assert(std::is_enum<T>::value,
"template parameter is not an enum type");
return static_cast<T>(static_cast<int>(lhs) | static_cast<int>(rhs));
}
template <typename T>
constexpr inline T operator & (T lhs, T rhs)
{
static_assert(std::is_enum<T>::value,
"template parameter is not an enum type");
return static_cast<T>(static_cast<int>(lhs) & static_cast<int>(rhs));
}
template <typename T>
constexpr inline T operator >> (T lhs, T rhs)
{
static_assert(std::is_enum<T>::value,
"template parameter is not an enum type");
return static_cast<T>(static_cast<int>(lhs) >> static_cast<int>(rhs));
}
template <typename T>
constexpr inline T operator << (T lhs, T rhs)
{
static_assert(std::is_enum<T>::value,
"template parameter is not an enum type");
return static_cast<T>(static_cast<int>(lhs) << static_cast<int>(rhs));
}
template <typename T>
constexpr inline T operator ~ (T lhs)
{
static_assert(std::is_enum<T>::value,
"template parameter is not an enum type");
return static_cast<T>(~static_cast<int>(lhs));
}
template <typename T>
constexpr inline T operator ^ (T lhs, T rhs)
{
static_assert(std::is_enum<T>::value,
"template parameter is not an enum type");
return static_cast<T>(static_cast<int>(lhs) ^ static_cast<int>(rhs));
}
#endif // GLOBAL_H

View File

@ -11,6 +11,7 @@
#include "params.h" #include "params.h"
#include "locales.h" #include "locales.h"
#include "settings.h" #include "settings.h"
#include "global.h"
/** /**
* @brief The QuasaraAppUtils class * @brief The QuasaraAppUtils class