diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..c33b944 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,51 @@ +[submodule "3rdparty/Quazip"] + path = 3rdparty/Quazip + url = https://github.com/0xFEEDC0DE64/Quazip.git +[submodule "libs/DbCoreLib"] + path = libs/DbCoreLib + url = https://github.com/0xFEEDC0DE64/DbCoreLib.git +[submodule "libs/DbGuiLib"] + path = libs/DbGuiLib + url = https://github.com/0xFEEDC0DE64/DbGuiLib.git +[submodule "libs/unittests/TstFixedSizeMatrix"] + path = libs/unittests/TstFixedSizeMatrix + url = https://github.com/0xFEEDC0DE64/TstFixedSizeMatrix.git +[submodule "DbDatabaseTree"] + path = DbDatabaseTree + url = https://github.com/0xFEEDC0DE64/DbDatabaseTree.git +[submodule "DbHashCracker"] + path = DbHashCracker + url = https://github.com/0xFEEDC0DE64/DbHashCracker.git +[submodule "DbMessaging"] + path = DbMessaging + url = https://github.com/0xFEEDC0DE64/DbMessaging.git +[submodule "DbNeuralNet"] + path = DbNeuralNet + url = https://github.com/0xFEEDC0DE64/DbNeuralNet.git +[submodule "DbPathFinder"] + path = DbPathFinder + url = https://github.com/0xFEEDC0DE64/DbPathFinder.git +[submodule "DbPicSync"] + path = DbPicSync + url = https://github.com/0xFEEDC0DE64/DbPicSync.git +[submodule "DbRadioDumper"] + path = DbRadioDumper + url = https://github.com/0xFEEDC0DE64/DbRadioDumper.git +[submodule "DbSerialServer"] + path = DbSerialServer + url = https://github.com/0xFEEDC0DE64/DbSerialServer.git +[submodule "DbSketch"] + path = DbSketch + url = https://github.com/0xFEEDC0DE64/DbSketch.git +[submodule "DbTernaryClock"] + path = DbTernaryClock + url = https://github.com/0xFEEDC0DE64/DbTernaryClock.git +[submodule "DbTictactoe"] + path = DbTictactoe + url = https://github.com/0xFEEDC0DE64/DbTictactoe.git +[submodule "DbWebserver"] + path = DbWebserver + url = https://github.com/0xFEEDC0DE64/DbWebserver.git +[submodule "DbZeiterfassung"] + path = DbZeiterfassung + url = https://github.com/0xFEEDC0DE64/DbZeiterfassung.git diff --git a/3rdparty/3rdparty.pro b/3rdparty/3rdparty.pro new file mode 100644 index 0000000..327ceb2 --- /dev/null +++ b/3rdparty/3rdparty.pro @@ -0,0 +1,3 @@ +TEMPLATE = subdirs + +SUBDIRS += Quazip diff --git a/3rdparty/Quazip b/3rdparty/Quazip new file mode 160000 index 0000000..6277b9f --- /dev/null +++ b/3rdparty/Quazip @@ -0,0 +1 @@ +Subproject commit 6277b9f46fab14f30b247868174a688a5e81218a diff --git a/DbDatabaseTree b/DbDatabaseTree new file mode 160000 index 0000000..bce4810 --- /dev/null +++ b/DbDatabaseTree @@ -0,0 +1 @@ +Subproject commit bce481084ce137e8f3dd43785c42203051706209 diff --git a/DbHashCracker b/DbHashCracker new file mode 160000 index 0000000..14d9b15 --- /dev/null +++ b/DbHashCracker @@ -0,0 +1 @@ +Subproject commit 14d9b15a2f8a6ac8b35f1a32b370cfd7a42e91f4 diff --git a/DbMessaging b/DbMessaging new file mode 160000 index 0000000..a62aa7e --- /dev/null +++ b/DbMessaging @@ -0,0 +1 @@ +Subproject commit a62aa7ec5aa90088c30c5c1b89c4d9af7abeebf0 diff --git a/DbNeuralNet b/DbNeuralNet new file mode 160000 index 0000000..d628773 --- /dev/null +++ b/DbNeuralNet @@ -0,0 +1 @@ +Subproject commit d628773720e03b5927cff5bab4549215edc48226 diff --git a/DbPathFinder b/DbPathFinder new file mode 160000 index 0000000..40c7226 --- /dev/null +++ b/DbPathFinder @@ -0,0 +1 @@ +Subproject commit 40c7226c14d1195e3c6864701944816e90cb7663 diff --git a/DbPicSync b/DbPicSync new file mode 160000 index 0000000..2a52477 --- /dev/null +++ b/DbPicSync @@ -0,0 +1 @@ +Subproject commit 2a5247743679d2eb1799bfa813a9d714e6de4296 diff --git a/DbRadioDumper b/DbRadioDumper new file mode 160000 index 0000000..743408e --- /dev/null +++ b/DbRadioDumper @@ -0,0 +1 @@ +Subproject commit 743408e767db4df521d3f50d73bce5613e4d9831 diff --git a/DbSerialServer b/DbSerialServer new file mode 160000 index 0000000..fe4c3c5 --- /dev/null +++ b/DbSerialServer @@ -0,0 +1 @@ +Subproject commit fe4c3c52fb4128d29e780dd2b08b176bb299c102 diff --git a/DbSketch b/DbSketch new file mode 160000 index 0000000..8ff2754 --- /dev/null +++ b/DbSketch @@ -0,0 +1 @@ +Subproject commit 8ff2754dd300c34b2f06dca484edc27d2ca565a1 diff --git a/DbSoftware.pro b/DbSoftware.pro new file mode 100644 index 0000000..5b65df5 --- /dev/null +++ b/DbSoftware.pro @@ -0,0 +1,27 @@ +TEMPLATE = subdirs + +SUBDIRS += 3rdparty \ + DbDatabaseTree \ + DbHashCracker \ + DbMessaging \ + DbNeuralNet \ + DbPathFinder \ + DbPicSync \ + DbRadioDumper \ + DbSerialServer \ + DbSketch \ + DbTernaryClock \ + DbTictactoe \ + DbWebserver \ + DbZeiterfassung \ + libs + +OTHER_FILES += app.pri \ + lib.pri \ + project.pri + +DbTernaryClock.depends += libs +DbZeiterfassung.depends += DbSketch libs + +include(installs.pri) +win32: include(installs_win32.pri) diff --git a/DbTernaryClock b/DbTernaryClock new file mode 160000 index 0000000..4ca57e5 --- /dev/null +++ b/DbTernaryClock @@ -0,0 +1 @@ +Subproject commit 4ca57e59d253233c84dd6edf510307777f392aac diff --git a/DbTictactoe b/DbTictactoe new file mode 160000 index 0000000..b8a0011 --- /dev/null +++ b/DbTictactoe @@ -0,0 +1 @@ +Subproject commit b8a00116957c98e12fbe1e3a2f2793d94d648ff4 diff --git a/DbWebserver b/DbWebserver new file mode 160000 index 0000000..3426433 --- /dev/null +++ b/DbWebserver @@ -0,0 +1 @@ +Subproject commit 3426433a22b4e7f3bce3acea9075e8796f8131c7 diff --git a/DbZeiterfassung b/DbZeiterfassung new file mode 160000 index 0000000..3081d7d --- /dev/null +++ b/DbZeiterfassung @@ -0,0 +1 @@ +Subproject commit 3081d7de2dd639665fbdea602c6138ab18b63d35 diff --git a/app.pri b/app.pri new file mode 100644 index 0000000..a94c83d --- /dev/null +++ b/app.pri @@ -0,0 +1,4 @@ +TEMPLATE = app +CONFIG -= app_bundle +DESTDIR = $${OUT_PWD}/$${PROJECT_ROOT}/bin +include(project.pri) diff --git a/installs.pri b/installs.pri new file mode 100644 index 0000000..df38b05 --- /dev/null +++ b/installs.pri @@ -0,0 +1,14 @@ +qtTranslationsInstall.path = $${OUT_PWD}/bin/translations +qtTranslationsInstall.files = $$[QT_INSTALL_TRANSLATIONS]/qt_en.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtbase_en.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtmultimedia_en.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtquick1_en.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtscript_en.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtxmlpatterns_en.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_de.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtbase_de.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtmultimedia_de.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtquick1_de.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtscript_de.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtxmlpatterns_de.qm +INSTALLS += qtTranslationsInstall diff --git a/installs_win32.pri b/installs_win32.pri new file mode 100644 index 0000000..da5ead8 --- /dev/null +++ b/installs_win32.pri @@ -0,0 +1,28 @@ +CONFIG(debug, release|debug): DEBUG_SIGN = d + +qtLibsInstall.path = $${OUT_PWD}/bin +qtLibsInstall.files = win32/Qt.conf \ + $$[QT_INSTALL_BINS]/Qt5Core$${DEBUG_SIGN}.dll \ + $$[QT_INSTALL_BINS]/Qt5Gui$${DEBUG_SIGN}.dll \ + $$[QT_INSTALL_BINS]/Qt5Network$${DEBUG_SIGN}.dll \ + $$[QT_INSTALL_BINS]/Qt5Widgets$${DEBUG_SIGN}.dll \ + $$[QT_INSTALL_BINS]/libgcc_s_dw2-1.dll \ + $$[QT_INSTALL_BINS]/libstdc++-6.dll \ + $$[QT_INSTALL_BINS]/libwinpthread-1.dll +INSTALLS += qtLibsInstall + +qtImageFormatsInstall.path = $${OUT_PWD}/bin/plugins/imageformats +qtImageFormatsInstall.files = $$[QT_INSTALL_PLUGINS]/imageformats/qgif$${DEBUG_SIGN}.dll \ + $$[QT_INSTALL_PLUGINS]/imageformats/qicns$${DEBUG_SIGN}.dll \ + $$[QT_INSTALL_PLUGINS]/imageformats/qico$${DEBUG_SIGN}.dll \ + $$[QT_INSTALL_PLUGINS]/imageformats/qjpeg$${DEBUG_SIGN}.dll \ + $$[QT_INSTALL_PLUGINS]/imageformats/qsvg$${DEBUG_SIGN}.dll \ + $$[QT_INSTALL_PLUGINS]/imageformats/qtga$${DEBUG_SIGN}.dll \ + $$[QT_INSTALL_PLUGINS]/imageformats/qtiff$${DEBUG_SIGN}.dll \ + $$[QT_INSTALL_PLUGINS]/imageformats/qwbmp$${DEBUG_SIGN}.dll \ + $$[QT_INSTALL_PLUGINS]/imageformats/qwebp$${DEBUG_SIGN}.dll +INSTALLS += qtImageFormatsInstall + +qtPlatformsInstall.path = $${OUT_PWD}/bin/plugins/platforms +qtPlatformsInstall.files = $$[QT_INSTALL_PLUGINS]/platforms/qwindows$${DEBUG_SIGN}.dll +INSTALLS += qtPlatformsInstall diff --git a/lib.pri b/lib.pri new file mode 100644 index 0000000..a869ed1 --- /dev/null +++ b/lib.pri @@ -0,0 +1,4 @@ +TEMPLATE = lib +win32: DESTDIR = $${OUT_PWD}/$${PROJECT_ROOT}/bin +else: DESTDIR = $${OUT_PWD}/$${PROJECT_ROOT}/lib +include(project.pri) diff --git a/libs/DbCoreLib b/libs/DbCoreLib new file mode 160000 index 0000000..56ce99e --- /dev/null +++ b/libs/DbCoreLib @@ -0,0 +1 @@ +Subproject commit 56ce99e0e942d8fcb6b59fd521a475cf4b9011e5 diff --git a/libs/DbGuiLib b/libs/DbGuiLib new file mode 160000 index 0000000..8f87272 --- /dev/null +++ b/libs/DbGuiLib @@ -0,0 +1 @@ +Subproject commit 8f872727211bb67babe61c0518821f954ffc1edb diff --git a/libs/libs.pro b/libs/libs.pro new file mode 100644 index 0000000..21793a5 --- /dev/null +++ b/libs/libs.pro @@ -0,0 +1,7 @@ +TEMPLATE = subdirs + +SUBDIRS += DbCoreLib \ + DbGuiLib \ + unittests + +unittests.depends += DbCoreLib diff --git a/libs/unittests/TstFixedSizeMatrix b/libs/unittests/TstFixedSizeMatrix new file mode 160000 index 0000000..7b37b24 --- /dev/null +++ b/libs/unittests/TstFixedSizeMatrix @@ -0,0 +1 @@ +Subproject commit 7b37b247b14e66a684ff03508c1bc5a2a738cca8 diff --git a/libs/unittests/unittests.pro b/libs/unittests/unittests.pro new file mode 100644 index 0000000..720a88d --- /dev/null +++ b/libs/unittests/unittests.pro @@ -0,0 +1,3 @@ +TEMPLATE = subdirs + +SUBDIRS += TstFixedSizeMatrix diff --git a/project.pri b/project.pri new file mode 100644 index 0000000..3aec67b --- /dev/null +++ b/project.pri @@ -0,0 +1,76 @@ +CONFIG += qt warn_on depend_includepath c++14 + +QMAKE_TARGET_PRODUCT = "DbSoftware" +QMAKE_TARGET_DESCRIPTION = "$$TARGET" +QMAKE_TARGET_COMPANY = "brunner.ninja" +QMAKE_TARGET_COPYRIGHT = "Copyright (C) by feedc0de" + +DEFINES += QT_DEPRECATED_WARNINGS \ + QT_DISABLE_DEPRECATED_BEFORE=0x060000 \ + QT_MESSAGELOGCONTEXT + +!isEmpty(DBLIBS) { + win32: LIBS += -L$${OUT_PWD}/$${PROJECT_ROOT}/bin + else: LIBS += -Wl,-rpath=\\\$$ORIGIN/../lib -L$${OUT_PWD}/$${PROJECT_ROOT}/lib +} + +for(DBLIB, DBLIBS) { + equals(DBLIB, "dbcore") { + LIBS += -ldbcore + + INCLUDEPATH += $$PWD/libs/DbCoreLib + DEPENDPATH += $$PWD/libs/DbCoreLib + } else: equals(DBLIB, "dbgui") { + LIBS += -ldbgui + + INCLUDEPATH += $$PWD/libs/DbGuiLib + DEPENDPATH += $$PWD/libs/DbGuiLib + } else: equals(DBLIB, "messaginglib") { + LIBS += -lmessaginglib + + INCLUDEPATH += $$PWD/DbMessaging/messaginglib + DEPENDPATH += $$PWD/DbMessaging/messaginglib + } else: equals(DBLIB, "neuralnetlib") { + LIBS += -lneuralnetlib + + INCLUDEPATH += $$PWD/DbNeuralNet/neuralnetlib + DEPENDPATH += $$PWD/DbNeuralNet/neuralnetlib + } else: equals(DBLIB, "sketchlib") { + LIBS += -lsketchlib + + INCLUDEPATH += $$PWD/DbSketch/sketchlib + DEPENDPATH += $$PWD/DbSketch/sketchlib + } else: equals(DBLIB, "webserverlib") { + LIBS += -lwebserverlib + + INCLUDEPATH += $$PWD/DbWebserver/webserverlib + DEPENDPATH += $$PWD/DbWebserver/webserverlib + } else: equals(DBLIB, "zeiterfassungcore") { + LIBS += -lzeiterfassungcore + + INCLUDEPATH += $$PWD/DbZeiterfassung/zeiterfassungcorelib + DEPENDPATH += $$PWD/DbZeiterfassung/zeiterfassungcorelib + } else: equals(DBLIB, "zeiterfassunggui") { + LIBS += -lzeiterfassunggui + + INCLUDEPATH += $$PWD/DbZeiterfassung/zeiterfassungguilib + DEPENDPATH += $$PWD/DbZeiterfassung/zeiterfassungguilib + } else: equals(DBLIB, "quazip") { + LIBS += -lquazip + + INCLUDEPATH += $$PWD/3rdparty/Quazip + DEPENDPATH += $$PWD/3rdparty/Quazip + } else: message("ERROR: Unknown dblib $$DBLIB") +} + +isEmpty(QMAKE_LRELEASE) { + win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\lrelease.exe + else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease +} + +lrelease.input = TRANSLATIONS +lrelease.output = $${OUT_PWD}/$${PROJECT_ROOT}/bin/translations/${QMAKE_FILE_BASE}.qm +lrelease.commands = $${QMAKE_LRELEASE} ${QMAKE_FILE_IN} -qm ${QMAKE_FILE_OUT} +lrelease.CONFIG += no_link +QMAKE_EXTRA_COMPILERS += lrelease +PRE_TARGETDEPS += compiler_lrelease_make_all