CMake build system added

This commit is contained in:
Michal Němec 2020-12-09 17:48:13 +01:00
parent 9784c31174
commit 8654918f95
9 changed files with 69 additions and 21 deletions

2
.gitmodules vendored
View File

@ -1,3 +1,3 @@
[submodule "server-sdk"]
path = server-sdk
url = ../../common/server-sdk
url = git@gitea.thegolem.cz:michalks/server-sdk.git

10
CMakeLists.txt Normal file
View File

@ -0,0 +1,10 @@
cmake_minimum_required(VERSION 3.11.0)
project(colnodconn)
message(">> Project colnod-connector")
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
add_subdirectory(server-sdk)
add_subdirectory(src)

@ -1 +1 @@
Subproject commit d4c4d75b49fe7e0399a6c4e57a7bb32f82bee59d
Subproject commit 13d09d246cb198291ea5af00ddad3dbd724519cd

36
src/CMakeLists.txt Normal file
View File

@ -0,0 +1,36 @@
cmake_minimum_required(VERSION 3.1.0)
project(colnod-connector VERSION 0.1.0)
message(">> APP ${PROJECT_NAME} ${PROJECT_VERSION}")
cmake_policy(SET CMP0063 NEW)
cmake_policy(SET CMP0075 NEW)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
find_package(Qt5 COMPONENTS Core REQUIRED)
find_package(Qt5 COMPONENTS Sql REQUIRED)
find_package(Qt5 COMPONENTS Network REQUIRED)
# find all cpp files from app and colnod folders
# app contains main()
file(GLOB_RECURSE APP_SOURCE_FILES FILES_MATCHING PATTERN "app/*.cpp")
# colnod contains additional files, but is part of the application executable
# so we do not make colnod folder into separate library but include it in the final executable directly
file(GLOB_RECURSE COLNOD_SOURCE_FILES FILES_MATCHING PATTERN "colnod/*.cpp")
# creates actual cmake target seen in cmake
add_executable(${PROJECT_NAME} ${APP_SOURCE_FILES} ${COLNOD_SOURCE_FILES})
# link QT and server-sdk submodule
target_link_libraries(${PROJECT_NAME}
Qt5::Core
Qt5::Sql
Qt5::Network
serversdk # link server-sdk git submodule
)
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 17)
target_compile_options(${PROJECT_NAME} PUBLIC -O0 -Wall)

View File

@ -1,14 +1,13 @@
#include <QCoreApplication>
#include "syncmanager.h"
#include <QCommandLineParser>
#include "serversdk/requestmanager.h"
#include "serversdk/request.h"
#include "serversdk/logger.h"
#include "serversdk/core.h"
#include <serversdk/requestmanager.h>
#include <serversdk/request.h>
#include <serversdk/logger.h>
#include <serversdk/core.h>
#include "colnodapi.h"
#include "../colnod/colnodapi.h"
#include "../colnod/syncmanager.h"
int main(int argc, char *argv[])
{

View File

@ -1,9 +1,10 @@
#pragma once
#include "serversdk/requestmanager.h"
#include "serversdk/request.h"
#include "serversdk/databasetable.h"
#include "serversdk/logger.h"
#include <serversdk/requestmanager.h>
#include <serversdk/request.h>
#include <serversdk/databasetable.h>
#include <serversdk/logger.h>
#include "data.h"
Q_DECLARE_LOGGING_CATEGORY(colnod)

View File

@ -1,15 +1,15 @@
#pragma once
#include <QSql>
#include <QCoreApplication>
#include <serversdk/databasemanager.h>
#include <serversdk/databasetable.h>
#include <serversdk/databaseutils.h>
#include <serversdk/logger.h>
#include "data.h"
#include "serversdk/databasemanager.h"
#include "serversdk/databasetable.h"
#include "serversdk/databaseutils.h"
#include "serversdk/logger.h"
#include <QCoreApplication>
Q_DECLARE_LOGGING_CATEGORY(database)

View File

@ -1,10 +1,11 @@
#pragma once
#include <QDateTime>
#include "serversdk/databasetable.h"
#include <qjsondocument.h>
#include <QJsonObject>
#include <serversdk/databasetable.h>
class SubjectAttribute : public serversdk::DatabaseTable {
Q_OBJECT
TABLE_PROPERTY(QString, id, setId, "")

View File

@ -1,12 +1,13 @@
#pragma once
#include <QDateTime>
#include "serversdk/databasetable.h"
#include <QSqlQuery>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
#include <serversdk/databasetable.h>
class Token : public serversdk::DatabaseTable {
Q_OBJECT
TABLE_PROPERTY(QString, id, setId, QString())