C++17-compatible implementation of optimal algorithm of the magnifying glass effect.
The project consists of three main parts:
- src/lib/mglass (+include/mglass) - the
mglass
library provides all functionality of the magnifying glass effect. - src/products/mglass-cli - CLI-application-example of use
mglass
lib. - src/products/mglass-gui - GUI-application-example of use
mglass
lib. Based on Qt5.
- C++17-compatible compiler. Tested with:
MSVC 19.27
;Apple Clang 11.0.0
;Apple Clang 11.0.3
;GCC 8.4.0
.
- CMake >=
v3.8.2
; - Optional: Qt5 for building
mglass-gui
target.
See Build requirements chapter first. Also make sure you initialized all submodules of the project:
git submodule init
git submodule update
Then just use CMake:
# Build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .
# Running tests
ctest -C Release -V
If you want to build mglass-gui
target too, you should to let know CMake where to search Qt,
e.g. using CMAKE_PREFIX_PATH variable:
cd build
cmake [-G"<generator>"] -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="<Path/To/Qt>/<version>/<compiler>/lib/cmake" ..
See more info in Qt tutorial.
Run mglass-cli --help
for usage help.