2.7 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 ..
Lai ieliktu direktorijā nepieciešamās bibliotēkas.
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/