/magnifying-glass

Implementation of optimal algorithm of the magnifying glass effect.

Primary LanguageC++MIT LicenseMIT

magnifying-glass

C++17-compatible implementation of optimal algorithm of the magnifying glass effect.

The project consists of three main parts:

Build requirements

  • 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.

Setting up, building and running tests

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.

mglass-cli usage

Run mglass-cli --help for usage help.