Revision 57d6da31
Von Christian Ehringfeld vor etwa 10 Jahren hinzugefügt
| Doxyfile | ||
|---|---|---|
|
# Note that relative paths are relative to the directory from which doxygen is
|
||
|
# run.
|
||
|
|
||
|
EXCLUDE =
|
||
|
EXCLUDE = samples tests
|
||
|
|
||
|
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
|
||
|
# directories that are symbolic links (a Unix file system feature) are excluded
|
||
| EntityManager.pro | ||
|---|---|---|
|
include(EntityManager.pri)
|
||
|
|
||
|
TEMPLATE = subdirs
|
||
|
|
||
|
SUBDIRS = src
|
||
| samples/example/example.pro | ||
|---|---|---|
|
QT += core
|
||
|
QT += sql
|
||
|
include(../samples.pri)
|
||
|
TEMPLATE = app
|
||
|
QT -= gui
|
||
|
|
||
|
#TARGET = EntityManager
|
||
|
CONFIG += console
|
||
|
CONFIG -= app_bundle
|
||
|
CONFIG += c++14
|
||
|
|
||
|
TEMPLATE = app
|
||
|
|
||
|
HEADERS += \
|
||
|
models/person.h \
|
||
| ... | ... | |
|
models/address.cpp \
|
||
|
models/contact.cpp \
|
||
|
models/faker/createfakemodeldata.cpp
|
||
|
|
||
|
unix:!macx:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../build-EntityManager-Desktop-Debug -lCuteEntityManager
|
||
|
else:unix:!macx:CONFIG(release, release|debug): LIBS += -L$$PWD/../../../build-EntityManager-Desktop-Release/ -lCuteEntityManager
|
||
|
|
||
|
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../build-EntityManager-Desktop-Release/release/ -lCuteEntityManager
|
||
|
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../build-EntityManager-Desktop-Debug/debug/ -lCuteEntityManager
|
||
|
|
||
|
INCLUDEPATH += $$PWD/../../src
|
||
|
DEPENDPATH += $$PWD/../../src
|
||
|
|
||
|
unix {
|
||
|
QMAKE_CXXFLAGS += -Wall -Wextra -Wmaybe-uninitialized -Wsuggest-final-types -Wsuggest-final-methods -Wsuggest-override -Wunsafe-loop-optimizations -pedantic -Wfloat-equal -Wundef -Wpointer-arith -Wcast-align -Wunreachable-code -O -Winit-self
|
||
|
}
|
||
|
|
||
|
CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG_OUTPUT
|
||
| samples/samples.pri | ||
|---|---|---|
|
include(../EntityManager.pri)
|
||
|
|
||
|
QT += core
|
||
|
QT += sql
|
||
|
CONFIG += c++14
|
||
|
QMAKE_CXXFLAGS += -Wall -Wextra
|
||
|
INCLUDEPATH += $$PWD/../src
|
||
|
DEPENDPATH += $$PWD/../src
|
||
|
|
||
|
unix:!macx:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../build-EntityManager-Desktop-Debug/src/ -lCuteEntityManager
|
||
|
else:unix:!macx:CONFIG(release, release|debug): LIBS += -L$$PWD/../../build-EntityManager-Desktop-Release/src/ -lCuteEntityManager
|
||
|
|
||
|
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../build-EntityManager-Desktop-Release/release/src/ -lCuteEntityManager
|
||
|
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../build-EntityManager-Desktop-Debug/debug/src/ -lCuteEntityManager
|
||
|
|
||
|
CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG_OUTPUT
|
||
|
|
||
| samples/simple/main.cpp | ||
|---|---|---|
|
int main(int argc, char *argv[]) {
|
||
|
Q_UNUSED(argc) Q_UNUSED(argv)
|
||
|
EntityInstanceFactory::registerClass<Artikel>();
|
||
|
CuteEntityManager::EntityManager *e = new
|
||
|
CuteEntityManager::EntityManager("QSQLITE",
|
||
|
QDir::currentPath() + "/db.sqlite");
|
||
|
EntityInstanceFactory::registerClass<Artikel>();
|
||
|
QSharedPointer<CuteEntityManager::EntityManager> e = QSharedPointer<CuteEntityManager::EntityManager>(new
|
||
|
CuteEntityManager::EntityManager("QSQLITE", QDir::currentPath() + "/db.sqlite"));
|
||
|
QStringList inits = QStringList() << "Artikel";
|
||
|
e->startup("0.1", inits);
|
||
|
QSharedPointer<Artikel> a = QSharedPointer<Artikel>(new Artikel(20.0,
|
||
|
"Müsli"));
|
||
|
auto ep = a.objectCast<CuteEntityManager::Entity>();
|
||
|
qDebug() << e->create(ep, true, true);
|
||
|
int i = 0;
|
||
|
|
||
|
while(false); {
|
||
|
i++;
|
||
|
}
|
||
|
qDebug() << i;
|
||
|
// QSharedPointer<Artikel> a = QSharedPointer<Artikel>(new Artikel(20.0,
|
||
|
// "Müsli"));
|
||
|
// auto ep = a.objectCast<CuteEntityManager::Entity>();
|
||
|
// qDebug() << e->create(ep, true, true);
|
||
|
return 0;
|
||
|
}
|
||
| samples/simple/simple.pro | ||
|---|---|---|
|
# Project created by QtCreator 2013-08-01T15:03:24
|
||
|
#
|
||
|
#-------------------------------------------------
|
||
|
|
||
|
include(../samples.pri)
|
||
|
QT += core
|
||
|
QT += sql
|
||
|
|
||
|
QT -= gui
|
||
|
|
||
|
#TARGET = EntityManager
|
||
| ... | ... | |
|
SOURCES += \
|
||
|
main.cpp \
|
||
|
artikel.cpp
|
||
|
|
||
|
unix:!macx:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../build-EntityManager-Desktop-Debug -lCuteEntityManager
|
||
|
else:unix:!macx:CONFIG(release, release|debug): LIBS += -L$$PWD/../../../build-EntityManager-Desktop-Release/ -lCuteEntityManager
|
||
|
unix:INCLUDEPATH += $$PWD/../../src
|
||
|
unix:DEPENDPATH += $$PWD/../../src
|
||
|
CONFIG += c++14
|
||
|
QMAKE_CXXFLAGS += -std=c++14
|
||
|
|
||
|
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../build-EntityManager-Desktop-Release/release/ -lCuteEntityManager
|
||
|
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../build-EntityManager-Desktop-Debug/debug/ -lCuteEntityManager
|
||
|
|
||
|
win32:INCLUDEPATH += $$PWD/../../../build-EntityManager-Desktop-Debug/debug
|
||
|
win32:DEPENDPATH += $$PWD/../../../build-EntityManager-Desktop-Debug/debug
|
||
|
|
||
|
INCLUDEPATH += $$PWD/../../src
|
||
|
DEPENDPATH += $$PWD/../../src
|
||
|
|
||
|
unix {
|
||
|
QMAKE_CXXFLAGS += -Wall -Wextra -Wmaybe-uninitialized -Wsuggest-final-types -Wsuggest-final-methods -Wsuggest-override -Wunsafe-loop-optimizations -pedantic -Wfloat-equal -Wundef -Wpointer-arith -Wcast-align -Wunreachable-code -O -Winit-self
|
||
|
}
|
||
|
|
||
|
win32-g++ {
|
||
|
CONFIG += c++11
|
||
|
QMAKE_CXXFLAGS += -std=c++11 -Wall
|
||
|
}
|
||
|
|
||
|
CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG_OUTPUT
|
||
| samples/validators/validators.pro | ||
|---|---|---|
|
# Project created by QtCreator 2013-08-01T15:03:24
|
||
|
#
|
||
|
#-------------------------------------------------
|
||
|
|
||
|
include(../samples.pri)
|
||
|
QT += core
|
||
|
QT += sql
|
||
|
|
||
| ... | ... | |
|
main.cpp \
|
||
|
address.cpp \
|
||
|
person.cpp
|
||
|
|
||
|
unix:!macx:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../build-EntityManager-Desktop-Debug -lCuteEntityManager
|
||
|
else:unix:!macx:CONFIG(release, release|debug): LIBS += -L$$PWD/../../../build-EntityManager-Desktop-Release/ -lCuteEntityManager
|
||
|
unix:INCLUDEPATH += $$PWD/../../src
|
||
|
unix:DEPENDPATH += $$PWD/../../src
|
||
|
CONFIG += c++14
|
||
|
QMAKE_CXXFLAGS += -std=c++14
|
||
|
|
||
|
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../build-EntityManager-Desktop-Release/release/ -lCuteEntityManager
|
||
|
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../build-EntityManager-Desktop-Debug/debug/ -lCuteEntityManager
|
||
|
|
||
|
win32:INCLUDEPATH += $$PWD/../../../build-EntityManager-Desktop-Debug/debug
|
||
|
win32:DEPENDPATH += $$PWD/../../../build-EntityManager-Desktop-Debug/debug
|
||
|
|
||
|
INCLUDEPATH += $$PWD/../../src
|
||
|
DEPENDPATH += $$PWD/../../src
|
||
|
|
||
|
unix {
|
||
|
QMAKE_CXXFLAGS += -Wall -Wextra -Wmaybe-uninitialized -Wsuggest-final-types -Wsuggest-final-methods -Wsuggest-override -Wunsafe-loop-optimizations -pedantic -Wfloat-equal -Wundef -Wpointer-arith -Wcast-align -Wunreachable-code -O -Winit-self
|
||
|
}
|
||
|
|
||
|
win32-g++ {
|
||
|
CONFIG += c++11
|
||
|
QMAKE_CXXFLAGS += -std=c++11 -Wall
|
||
|
}
|
||
|
|
||
|
CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG_OUTPUT
|
||
| src/database.cpp | ||
|---|---|---|
|
if (this->database.isOpen()) {
|
||
|
this->database.close();
|
||
|
}
|
||
|
this->database = QSqlDatabase();
|
||
|
QSqlDatabase::removeDatabase(this->connectionName);
|
||
|
}
|
||
|
|
||
| ... | ... | |
|
}
|
||
|
}
|
||
|
|
||
|
QSharedPointer<Schema> Database::getSchema(DatabaseType db,
|
||
|
QSharedPointer<Database> database) {
|
||
|
Schema *Database::getSchema(DatabaseType db,
|
||
|
QSharedPointer<Database> database) {
|
||
|
switch (db) {
|
||
|
case DatabaseType::SQLITE:
|
||
|
return QSharedPointer<Schema>(new SqliteSchema(database));;
|
||
|
return new SqliteSchema(database);
|
||
|
break;
|
||
|
// case PGSQL:
|
||
|
// return QSharedPointer<Schema>(new PgSqlSchema());
|
||
|
// break;
|
||
|
case DatabaseType::MYSQL:
|
||
|
return QSharedPointer<Schema>(new MysqlSchema(database));
|
||
|
return new MysqlSchema(database);
|
||
|
break;
|
||
|
default:
|
||
|
return QSharedPointer<Schema>(new SqliteSchema(database));
|
||
|
return new SqliteSchema(database);
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
| src/database.h | ||
|---|---|---|
|
void logMsg(const QString &value);
|
||
|
bool rollbackTransaction();
|
||
|
static DatabaseType getDatabaseType(QString s);
|
||
|
static QSharedPointer<Schema> getSchema(DatabaseType db,
|
||
|
static Schema *getSchema(DatabaseType db,
|
||
|
QSharedPointer<Database> database);
|
||
|
Logger *getLogger() const;
|
||
|
};
|
||
| src/entity.h | ||
|---|---|---|
|
|
||
|
#ifndef ENTITY_H
|
||
|
#define ENTITY_H
|
||
|
#include <QtGlobal>
|
||
|
#include <QMap>
|
||
|
#include <QObject>
|
||
|
#include <QMetaProperty>
|
||
|
#include <QSharedPointer>
|
||
|
#include "relation.h"
|
||
|
#include <QStringList>
|
||
|
#include <QSharedPointer>
|
||
|
#include <QStack>
|
||
|
#include <QQueue>
|
||
|
#include "entityinstancefactory.h"
|
||
|
#include "validators/validatorrule.h"
|
||
|
#include "validators/errormsg.h"
|
||
| src/entitymanager.cpp | ||
|---|---|---|
|
EntityManager::EntityManager(QSqlDatabase database, bool logQueries,
|
||
|
const bool inspectEntities,
|
||
|
MsgType logActions) : QObject() {
|
||
|
auto db = new Database(database, true, logQueries, logActions);
|
||
|
this->db = QSharedPointer<Database>(db);
|
||
|
this->db = QSharedPointer<Database>(new Database(database, true, logQueries, logActions));
|
||
|
this->init(inspectEntities, logActions);
|
||
|
}
|
||
|
|
||
|
void EntityManager::init(bool inspect, const MsgType msgType) {
|
||
|
EntityInstanceFactory::registerClass<DatabaseMigration>();
|
||
|
auto schema = Database::getSchema(Database::getDatabaseType(
|
||
|
this->db->getDatabase().driverName()), this->db);
|
||
|
this->schema = QSharedPointer<Schema>(schema);
|
||
|
this->schema = QSharedPointer<Schema>(Database::getSchema(Database::getDatabaseType(
|
||
|
this->db->getDatabase().driverName()), this->db));
|
||
|
this->schema->setTables(this->schema->getTableSchemas());
|
||
|
this->queryInterpreter = QSharedPointer<QueryInterpreter>(new QueryInterpreter(
|
||
|
this->schema->getQueryBuilder()));
|
||
|
this->schema->getQueryBuilder().data()));
|
||
|
this->appendToInstanceList();
|
||
|
if (inspect) {
|
||
|
EntityInspector inspector = EntityInspector(msgType);
|
||
| ... | ... | |
|
QString hostname, QString username, QString password, QString port,
|
||
|
bool logQueries, QString databaseOptions, const bool inspectEntities,
|
||
|
CuteEntityManager::MsgType logActions) : QObject() {
|
||
|
auto db = new Database(databaseType, this->createConnection(), hostname,
|
||
|
databasename, username,
|
||
|
password,
|
||
|
port.toInt(), true, logQueries, databaseOptions, logActions);
|
||
|
this->db = QSharedPointer<Database>(db);
|
||
|
this->db = QSharedPointer<Database>(new Database(databaseType, this->createConnection(), hostname,
|
||
|
databasename, username,
|
||
|
password,
|
||
|
port.toInt(), true, logQueries, databaseOptions, logActions));
|
||
|
this->init(inspectEntities, logActions);
|
||
|
}
|
||
|
|
||
| ... | ... | |
|
EntityHelper::getClassName(entity.data()));
|
||
|
}
|
||
|
|
||
|
void EntityManager::setSchema(const QSharedPointer<Schema> &value) {
|
||
|
schema = value;
|
||
|
}
|
||
|
|
||
|
QList<QHash<QString, QVariant> > EntityManager::selectByQuery(Query &query) {
|
||
|
QSqlQuery q = this->queryInterpreter->build(query);
|
||
|
return this->convertQueryResult(q);
|
||
| src/entitymanager.h | ||
|---|---|---|
|
* @param entity
|
||
|
*/
|
||
|
void refresh(QSharedPointer<Entity> &entity);
|
||
|
void setSchema(const QSharedPointer<Schema> &value);
|
||
|
QList<QHash<QString, QVariant> > selectByQuery(Query &query);
|
||
|
QList<QHash<QString, QVariant> > selectBySql(const QString &sql);
|
||
|
qint8 count(Query &query);
|
||
| src/querybuilder.cpp | ||
|---|---|---|
|
|
||
|
using namespace CuteEntityManager;
|
||
|
|
||
|
QueryBuilder::QueryBuilder(QSharedPointer<Schema> schema,
|
||
|
QSharedPointer<Database> database) {
|
||
|
QueryBuilder::QueryBuilder(Schema *schema,
|
||
|
QSharedPointer<Database> &database) {
|
||
|
this->schema = schema;
|
||
|
this->database = database;
|
||
|
this->separator = " ";
|
||
| ... | ... | |
|
return QString("CuteEntityManager::Entity");
|
||
|
}
|
||
|
|
||
|
Schema *QueryBuilder::getSchema() const {
|
||
|
return schema;
|
||
|
}
|
||
|
|
||
|
QStringList QueryBuilder::quoteTableNames(const QStringList &tables) {
|
||
|
QStringList r = QStringList();
|
||
|
for (int i = 0; i < tables.size(); ++i) {
|
||
| ... | ... | |
|
return rc;
|
||
|
}
|
||
|
|
||
|
QSharedPointer<Schema> QueryBuilder::getSchema() const {
|
||
|
return schema;
|
||
|
}
|
||
|
|
||
|
void QueryBuilder::setSchema(const QSharedPointer<Schema> &value) {
|
||
|
schema = value;
|
||
|
}
|
||
|
|
||
|
QueryBuilder::ClassAttributes::ClassAttributes(const QString name,
|
||
|
const QHash<QString, QVariant> attributes, QString pk) {
|
||
|
this->name = name;
|
||
| src/querybuilder.h | ||
|---|---|---|
|
friend class EntityManager;
|
||
|
friend class QueryInterpreter;
|
||
|
public:
|
||
|
QueryBuilder(QSharedPointer<Schema> schema, QSharedPointer<Database> database);
|
||
|
QueryBuilder(Schema *schema, QSharedPointer<Database> &database);
|
||
|
virtual ~QueryBuilder();
|
||
|
virtual bool createTable(const QSharedPointer<Entity> &entity,
|
||
|
bool createRelationTables = true) const;
|
||
| ... | ... | |
|
const QSharedPointer<Entity> &entity, const QString &update,
|
||
|
const QString &remove) const;
|
||
|
|
||
|
QSharedPointer<Schema> getSchema() const;
|
||
|
void setSchema(const QSharedPointer<Schema> &value);
|
||
|
|
||
|
QSharedPointer<Database> getDatabase() const;
|
||
|
void setDatabase(const QSharedPointer<Database> &value);
|
||
|
QHash<QString, QHash<QString, QString>> generateRelationTables(
|
||
| ... | ... | |
|
virtual Expression appendCondition(QString ph1, QString ph2, QVariant val1,
|
||
|
QVariant val2, QString condition) const;
|
||
|
QString entityClassname() const;
|
||
|
Schema *getSchema() const;
|
||
|
QString separator;
|
||
|
QSharedPointer<Schema> schema;
|
||
|
Schema *schema;
|
||
|
QSharedPointer<Database> database;
|
||
|
};
|
||
|
}
|
||
| src/queryinterpreter.cpp | ||
|---|---|---|
|
using namespace CuteEntityManager;
|
||
|
|
||
|
|
||
|
QueryInterpreter::QueryInterpreter(QSharedPointer<QueryBuilder> builder) {
|
||
|
QueryInterpreter::QueryInterpreter(QueryBuilder *builder) {
|
||
|
this->builder = builder;
|
||
|
}
|
||
|
|
||
| src/queryinterpreter.h | ||
|---|---|---|
|
class Expression;
|
||
|
class QueryInterpreter {
|
||
|
public:
|
||
|
QueryInterpreter(QSharedPointer<QueryBuilder> builder);
|
||
|
QueryInterpreter(QueryBuilder *builder);
|
||
|
QSqlQuery build(Query &q);
|
||
|
|
||
|
protected:
|
||
| ... | ... | |
|
QString buildCondition(Query &q, const QList<Expression> &conditions) const;
|
||
|
|
||
|
private:
|
||
|
QSharedPointer<QueryBuilder> builder;
|
||
|
QueryBuilder *builder;
|
||
|
|
||
|
};
|
||
|
|
||
| src/schema/mysqlquerybuilder.cpp | ||
|---|---|---|
|
#include "../schema.h"
|
||
|
|
||
|
CuteEntityManager::MysqlQueryBuilder::MysqlQueryBuilder(
|
||
|
QSharedPointer<CuteEntityManager::Schema> schema,
|
||
|
QSharedPointer<CuteEntityManager::Database> database) : QueryBuilder(schema,
|
||
|
database) {
|
||
|
CuteEntityManager::Schema *schema,
|
||
|
QSharedPointer<CuteEntityManager::Database> database) :
|
||
|
CuteEntityManager::QueryBuilder(schema,
|
||
|
database) {
|
||
|
|
||
|
}
|
||
|
|
||
| src/schema/mysqlquerybuilder.h | ||
|---|---|---|
|
class MysqlQueryBuilder : public QueryBuilder
|
||
|
{
|
||
|
public:
|
||
|
MysqlQueryBuilder(QSharedPointer<Schema> schema,
|
||
|
MysqlQueryBuilder(Schema *schema,
|
||
|
QSharedPointer<Database> database);
|
||
|
|
||
|
|
||
|
QString renameColumn(QString tableName, QString oldName,
|
||
|
QString newName) const override;
|
||
|
QString createIndex(QString name, QString tableName,
|
||
| src/schema/mysqlschema.cpp | ||
|---|---|---|
|
using namespace CuteEntityManager;
|
||
|
|
||
|
MysqlSchema::MysqlSchema(QSharedPointer<Database> database) : Schema(
|
||
|
database, QSharedPointer<QueryBuilder>(new MysqlQueryBuilder(
|
||
|
QSharedPointer<Schema>
|
||
|
(this), database))) {
|
||
|
|
||
|
database, QSharedPointer<QueryBuilder>(new MysqlQueryBuilder(this, database))) {
|
||
|
}
|
||
|
|
||
|
QSharedPointer<QHash<QString, QString> > MysqlSchema::getTypeMap() {
|
||
| src/schema/sqlitequerybuilder.cpp | ||
|---|---|---|
|
#include "sqlitequerybuilder.h"
|
||
|
#include "../schema.h"
|
||
|
|
||
|
CuteEntityManager::SqliteQueryBuilder::SqliteQueryBuilder(
|
||
|
QSharedPointer<CuteEntityManager::Schema>
|
||
|
schema,
|
||
|
CuteEntityManager::SqliteQueryBuilder::SqliteQueryBuilder(Schema *schema,
|
||
|
QSharedPointer<CuteEntityManager::Database> database) : QueryBuilder(schema,
|
||
|
database) {
|
||
|
|
||
| src/schema/sqlitequerybuilder.h | ||
|---|---|---|
|
namespace CuteEntityManager {
|
||
|
class SqliteQueryBuilder : public QueryBuilder {
|
||
|
public:
|
||
|
SqliteQueryBuilder(QSharedPointer<Schema> schema,
|
||
|
SqliteQueryBuilder(Schema *schema,
|
||
|
QSharedPointer<Database> database);
|
||
|
~SqliteQueryBuilder();
|
||
|
|
||
| src/schema/sqliteschema.cpp | ||
|---|---|---|
|
using namespace CuteEntityManager;
|
||
|
|
||
|
SqliteSchema::SqliteSchema(QSharedPointer<Database> database) : Schema(
|
||
|
database, QSharedPointer<QueryBuilder>(new SqliteQueryBuilder(
|
||
|
QSharedPointer<Schema>
|
||
|
(this), database))) {
|
||
|
database, QSharedPointer<QueryBuilder>(new SqliteQueryBuilder(this, database))) {
|
||
|
}
|
||
|
|
||
|
SqliteSchema::~SqliteSchema() {
|
||
| tests/tests.pri | ||
|---|---|---|
|
include(../EntityManager.pri)
|
||
|
|
||
|
QT += core
|
||
|
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||
|
|
||
|
CONFIG += c++14
|
||
|
|
||
|
QMAKE_CXXFLAGS += -Wall -Wextra
|
||
|
QT += testlib
|
||
|
CONFIG -= app_bundle
|
||
|
CONFIG += testcase
|
||
|
INCLUDEPATH += $$PWD/../src
|
||
|
DEPENDPATH += $$PWD/../src
|
||
|
|
||
|
unix:!macx:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../build-EntityManager-Desktop-Debug -lCuteEntityManager
|
||
|
else:unix:!macx:CONFIG(release, release|debug): LIBS += -L$$PWD/../../build-EntityManager-Desktop-Release/ -lCuteEntityManager
|
||
|
unix:!macx:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../build-EntityManager-Desktop-Debug/src/ -lCuteEntityManager
|
||
|
else:unix:!macx:CONFIG(release, release|debug): LIBS += -L$$PWD/../../build-EntityManager-Desktop-Release/src/ -lCuteEntityManager
|
||
|
|
||
|
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../build-EntityManager-Desktop-Release/release/src/ -lCuteEntityManager
|
||
|
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../build-EntityManager-Desktop-Debug/debug/src/ -lCuteEntityManager
|
||
|
|
||
|
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../build-EntityManager-Desktop-Release/release/ -lCuteEntityManager
|
||
|
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../build-EntityManager-Desktop-Debug/debug/ -lCuteEntityManager
|
||
| tests/tests.pro | ||
|---|---|---|
|
include(tests.pri)
|
||
|
|
||
|
TEMPLATE = subdirs
|
||
|
|
||
|
SUBDIRS += \
|
||
|
tables
|
||
Auch abrufbar als: Unified diff
structure