commit 57d6da31ebe73a2e53794d881a5d64d276b331e4
Author: Christian Ehringfeld <c.ehringfeld@t-online.de>
Date:   Mon Oct 12 00:01:09 2015 +0200

    structure

diff --git a/Doxyfile b/Doxyfile
index 8978cbd..f2e8a7c 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -815,7 +815,7 @@ RECURSIVE              = YES
 # 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
diff --git a/EntityManager.pro b/EntityManager.pro
index 83b0e80..70ad8f8 100644
--- a/EntityManager.pro
+++ b/EntityManager.pro
@@ -1,5 +1,3 @@
-include(EntityManager.pri)
-
 TEMPLATE = subdirs
 
 SUBDIRS = src
diff --git a/samples/example/example.pro b/samples/example/example.pro
index 3d66f5a..0f25d42 100644
--- a/samples/example/example.pro
+++ b/samples/example/example.pro
@@ -1,13 +1,8 @@
-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 \
@@ -25,18 +20,3 @@ SOURCES += \
     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
diff --git a/samples/samples.pri b/samples/samples.pri
new file mode 100644
index 0000000..81c7a85
--- /dev/null
+++ b/samples/samples.pri
@@ -0,0 +1,17 @@
+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
+
diff --git a/samples/simple/main.cpp b/samples/simple/main.cpp
index 96ec600..a8af69e 100644
--- a/samples/simple/main.cpp
+++ b/samples/simple/main.cpp
@@ -10,21 +10,13 @@ using namespace CuteEntityManager;
 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;
 }
diff --git a/samples/simple/simple.pro b/samples/simple/simple.pro
index abad0a4..6137776 100644
--- a/samples/simple/simple.pro
+++ b/samples/simple/simple.pro
@@ -3,10 +3,9 @@
 # Project created by QtCreator 2013-08-01T15:03:24
 #
 #-------------------------------------------------
-
+include(../samples.pri)
 QT       += core
 QT       += sql
-
 QT       -= gui
 
 #TARGET = EntityManager
@@ -21,30 +20,3 @@ HEADERS += \
 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
diff --git a/samples/validators/validators.pro b/samples/validators/validators.pro
index 05f513d..ca0c40a 100644
--- a/samples/validators/validators.pro
+++ b/samples/validators/validators.pro
@@ -3,7 +3,7 @@
 # Project created by QtCreator 2013-08-01T15:03:24
 #
 #-------------------------------------------------
-
+include(../samples.pri)
 QT       += core
 QT       += sql
 
@@ -23,30 +23,3 @@ SOURCES += \
     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
diff --git a/src/database.cpp b/src/database.cpp
index e39b301..3fd19b3 100644
--- a/src/database.cpp
+++ b/src/database.cpp
@@ -83,6 +83,7 @@ Database::~Database() {
     if (this->database.isOpen()) {
         this->database.close();
     }
+    this->database = QSqlDatabase();
     QSqlDatabase::removeDatabase(this->connectionName);
 }
 
@@ -148,20 +149,20 @@ DatabaseType Database::getDatabaseType(QString s) {
     }
 }
 
-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;
     }
 }
diff --git a/src/database.h b/src/database.h
index 77e967a..70dbbdb 100644
--- a/src/database.h
+++ b/src/database.h
@@ -72,7 +72,7 @@ class Database {
     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;
 };
diff --git a/src/entity.h b/src/entity.h
index 79d57bb..f38dd04 100644
--- a/src/entity.h
+++ b/src/entity.h
@@ -16,15 +16,10 @@
 
 #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"
diff --git a/src/entitymanager.cpp b/src/entitymanager.cpp
index 2da889a..a390f84 100644
--- a/src/entitymanager.cpp
+++ b/src/entitymanager.cpp
@@ -39,19 +39,17 @@ QStringList EntityManager::getConnectionNames() {
 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);
@@ -68,11 +66,10 @@ EntityManager::EntityManager(const QString &databaseType, QString databasename,
                              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);
 }
 
@@ -333,10 +330,6 @@ void EntityManager::refresh(QSharedPointer<Entity> &entity) {
                             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);
diff --git a/src/entitymanager.h b/src/entitymanager.h
index 5458b90..0c5fb0a 100644
--- a/src/entitymanager.h
+++ b/src/entitymanager.h
@@ -120,7 +120,6 @@ class EntityManager : public QObject {
      * @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);
diff --git a/src/querybuilder.cpp b/src/querybuilder.cpp
index 2ddbd4e..391ed7f 100644
--- a/src/querybuilder.cpp
+++ b/src/querybuilder.cpp
@@ -24,8 +24,8 @@
 
 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 = " ";
@@ -866,6 +866,10 @@ QString QueryBuilder::entityClassname() const {
     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) {
@@ -1097,14 +1101,6 @@ QString QueryBuilder::attributes(const QHash<QString, QVariant> &m, bool select,
     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;
diff --git a/src/querybuilder.h b/src/querybuilder.h
index f456814..eb8e50a 100644
--- a/src/querybuilder.h
+++ b/src/querybuilder.h
@@ -45,7 +45,7 @@ class QueryBuilder {
     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;
@@ -87,9 +87,6 @@ class QueryBuilder {
             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(
@@ -310,8 +307,9 @@ class QueryBuilder {
     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;
 };
 }
diff --git a/src/queryinterpreter.cpp b/src/queryinterpreter.cpp
index cc09205..ed70706 100644
--- a/src/queryinterpreter.cpp
+++ b/src/queryinterpreter.cpp
@@ -24,7 +24,7 @@
 using namespace CuteEntityManager;
 
 
-QueryInterpreter::QueryInterpreter(QSharedPointer<QueryBuilder> builder) {
+QueryInterpreter::QueryInterpreter(QueryBuilder *builder) {
     this->builder = builder;
 }
 
diff --git a/src/queryinterpreter.h b/src/queryinterpreter.h
index b767781..b1d7632 100644
--- a/src/queryinterpreter.h
+++ b/src/queryinterpreter.h
@@ -27,7 +27,7 @@ class OrderBy;
 class Expression;
 class QueryInterpreter {
   public:
-    QueryInterpreter(QSharedPointer<QueryBuilder> builder);
+    QueryInterpreter(QueryBuilder *builder);
     QSqlQuery build(Query &q);
 
   protected:
@@ -45,7 +45,7 @@ class QueryInterpreter {
     QString buildCondition(Query &q, const QList<Expression> &conditions) const;
 
   private:
-    QSharedPointer<QueryBuilder> builder;
+    QueryBuilder *builder;
 
 };
 
diff --git a/src/schema/mysqlquerybuilder.cpp b/src/schema/mysqlquerybuilder.cpp
index 3ae4816..ee43adb 100644
--- a/src/schema/mysqlquerybuilder.cpp
+++ b/src/schema/mysqlquerybuilder.cpp
@@ -2,9 +2,10 @@
 #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) {
 
 }
 
diff --git a/src/schema/mysqlquerybuilder.h b/src/schema/mysqlquerybuilder.h
index 16b1c46..e7afd72 100644
--- a/src/schema/mysqlquerybuilder.h
+++ b/src/schema/mysqlquerybuilder.h
@@ -5,10 +5,8 @@ namespace CuteEntityManager {
 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,
diff --git a/src/schema/mysqlschema.cpp b/src/schema/mysqlschema.cpp
index 534a282..d269f0e 100644
--- a/src/schema/mysqlschema.cpp
+++ b/src/schema/mysqlschema.cpp
@@ -6,10 +6,7 @@
 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() {
diff --git a/src/schema/sqlitequerybuilder.cpp b/src/schema/sqlitequerybuilder.cpp
index b3b69b4..ccdaa64 100644
--- a/src/schema/sqlitequerybuilder.cpp
+++ b/src/schema/sqlitequerybuilder.cpp
@@ -16,9 +16,7 @@
 #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) {
 
diff --git a/src/schema/sqlitequerybuilder.h b/src/schema/sqlitequerybuilder.h
index ba6240a..b245c2b 100644
--- a/src/schema/sqlitequerybuilder.h
+++ b/src/schema/sqlitequerybuilder.h
@@ -19,7 +19,7 @@
 namespace CuteEntityManager {
 class SqliteQueryBuilder : public QueryBuilder {
   public:
-    SqliteQueryBuilder(QSharedPointer<Schema> schema,
+    SqliteQueryBuilder(Schema *schema,
                        QSharedPointer<Database> database);
     ~SqliteQueryBuilder();
 
diff --git a/src/schema/sqliteschema.cpp b/src/schema/sqliteschema.cpp
index 19e5714..eddc91b 100644
--- a/src/schema/sqliteschema.cpp
+++ b/src/schema/sqliteschema.cpp
@@ -21,9 +21,7 @@
 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() {
diff --git a/tests/tests.pri b/tests/tests.pri
index 1f3d2ec..9d7e5a1 100644
--- a/tests/tests.pri
+++ b/tests/tests.pri
@@ -1,18 +1,17 @@
 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
diff --git a/tests/tests.pro b/tests/tests.pro
index 91accce..076aff8 100644
--- a/tests/tests.pro
+++ b/tests/tests.pro
@@ -1,6 +1,3 @@
-include(tests.pri)
-
 TEMPLATE = subdirs
-
 SUBDIRS += \
     tables
