3.3 KiB
Repozitorija apraksts
Direktorijā src atrodas pirmkods, kas ir sadalīts 3 moduļos transpiler,
qtapp un test. Transpilātora modulis veic transpilēšanu, kuru kā API
izmanto lietotnes modulis qtapp, kas izmanto qt un QScintilla bibliotēku.
Modulis test satur automatizētos testus; izmanto GTest bibliotēku.
Nepieciešamie rīki un bibliotēkas
Linux
C++kompilators (piemēram,g++)- Bibliotēka
Qt(v5.15.0) - Bibliotēka
QScintilla(v2.14) - Bibliotēka
GTest(v1.15) - Rīks
CMake - Rīks
Ninja
Windows
C++kompilators (MinGw)- Bibliotēka
Qt(v5.15.0) - Bibliotēka
QScintilla(v2.14) - Bibliotēka
GTest(v1.15) - Rīks
CMake - Rīks
Ninja
Uzbūvēšana
Linux un Windows sistēmām ir norādītas noklusētās bibliotēku atrašanās vietas. Lai uzbūvētu ar noklusētiem iestatījumiem.
mkdir Debug/
cd Debug/
cmake -DCMAKE_BUILD_TYPE=Debug -G Ninja ..
Lai nekompilētu testus pievieno -DCOMPILE_TESTS=OFF.
Ir pieejamas 2 cmake konfigurācijas - Debug (atkļūdošana) un Release
(piegāde). Ja nepieciešams pielāgot vienu vai vairākus parametrus, skatīt
nākamās 2 sadaļas.
Linux
cmake -DCMAKE_BUILD_TYPE=Debug \
-DQt5_DIR="/usr/lib/cmake/Qt5" \
-DQSCINTILLA_LIB_PATH="/usr/lib/libqscintilla2_qt5.so" \
-DQSCINTILLA_INCLUDE_PATH="/usr/include/qt/Qsci" \
-DGTEST_INCLUDE_DIR="/usr/include/gtest" \
-DGTEST_LIBRARY="/usr/lib/libgtest.so" \
-DGTEST_MAIN_LIBRARY="/usr/lib/libgtest_main.so" \
-G Ninja ..
Windows
cmake -DCMAKE_BUILD_TYPE=Debug \
-DQt5_DIR="C:/Qt/5.15.0/mingw81_64/lib/cmake/Qt5" \
-DQSCINTILLA_LIB_PATH="C:/Programs/binaries/qscintilla2_qt5.dll" \
-DQSCINTILLA_INCLUDE_PATH="C:/Programs/QScintilla_src-2.14.1/src" \
-DGTEST_INCLUDE_DIR="C:/Programs/binaries/gtest_include" \
-DGTEST_LIBRARY="C:/Programs/binaries/gtest_lib/libgtest.a" \
-DGTEST_MAIN_LIBRARY="C:/Programs/binaries/gtest_lib/libgtest_main.a" \
-G Ninja ..
Piegāde
Nokompilējot projektu pamata izpildes fails ir direktorijā
./src/qtapp/MdemoryApp. Papildus izpildes failam ir jānokomplektē
bibliotēkas.
Linux
Lai ieliktu direktorijā nepieciešamās bibliotēkas (to jādara no Linux sistēmas). Ir pieejams skripts, kas sagatavo direktoriju ar visām bibliotēkām.
python linuxdeploy.py Release/src/qtapp/MdemoryApp
Katrā Linux distributīvā būtu jānotestē piegāde saderībai ar citām bibliotēkām, kas nav komplektējamas.
Windows (11)
Lai ieliktu direktorijā nepieciešamās bibliotēkas (to jādara no Windows sistēmas).
cd ./src/qtapp/
windeployqt MdemoryApp.exe
Darbam uz Windows direktorijā papildus jāieliek qscintilla2_qt5.dll un
Qt5PrintSupport.dll.
Piegādes kompilēšanā var pielikt -DWIN32_EXECUTABLE=ON, lai slēdzot programmu
nerādītos termināla logs.
Testu izpilde
Ja testi tiek kompilēti, tie tiek uzbūvēti "tests" direktorijā. Tos jāpalaiž
terminālī. Nefunkcionālos testus ir lietderīgi palaist Release konfigurācijā,
jo tās veiktspēja ir ievērojami augstāka un precīzāk atbilst gala lietotāja
iegūtai veiktspējai.
./src/test/transpilerFunctional
./src/test/transpilerNonFunctional ../src/test/testFiles/