mirror of
https://github.com/jorenchik/mdemory.git
synced 2026-03-22 00:26:21 +00:00
95 lines
2.7 KiB
Markdown
95 lines
2.7 KiB
Markdown
# 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`](https://winlibs.com/))
|
|
- 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.
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
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/
|
|
```
|