Setup - DigitalHolography/Holovibes GitHub Wiki

Initial setup

  1. Install GIT and CMake.

  2. Install Visual Studio 2022 with the following components (installable from Visual Studio installer):

    • In the Components tab:
      • Desktop applications in C++
    • In the Individual Components tab:
      • C++ AddressSanitizer
      • MSVC vXXX - VS XXXX C++ x64/x86 build tools (Latest)
      • MSVC vXXX - VS XXXX C++ Spectre-mitigated Libs (Latest)
  3. Install CUDA 12.6

  4. Add to your PATH Environment Variables:

    • C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin
    • Change {Channel} (Community or Professional) and {Version} (14.XX.XXXXX):
      • C:\Program Files\Microsoft Visual Studio\2022\{Channel}\VC\Tools\MSVC\{Version}\bin\Hostx64\x64
      • C:\Program Files\Microsoft Visual Studio\2022\{Channel}\VC\Tools\MSVC\{Version}\bin\Hostx64\x86
    • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\bin
  5. Reboot your PC.

  6. Install Python 3.8.10. Ensure to tick Add Python 3.8 to PATH.

  7. Install NSIS.

  8. Install and setup Conan 2.7.0:

    $ pip install conan && conan profile detect --force
    

Building the project

[!NOTE] All commands (except cpack) must be run at the root of the project:

Action Simple command Complete command
Install dependencies (once) ./dev.py install conan install . --build missing --settings compiler.cppstd=20 --settings build_type=Release
Configure CMake (when adding/deleting files) ./dev.py cmake build\generators\conanbuild.bat && cmake --preset conan-release
Building ./dev.py build build\generators\conanbuild.bat && cmake --build --preset conan-release
Running ./dev.py run ./build/bin/Holovibes.exe
Create an Installer (you must be in build/bin) cpack

Troubleshooting

  • If you encounter the issue clang_rt.asan_dbg_dynamic-x86_64.dll: cannot open shared object file: No such file or directory. You have to find the file and put it in your PATH or copy it into the build directory for it to work
  • If ./dev.py tells you that it cannot find conan or cmake. Please check if it's in your PATH.
  • If conan tells you that the XXX/system package needs to be installed. Please install the package XXX manually on your system
  • For some reason if you put a real function name like OutputHoloFile::export_compute_settings() in a log statement to be printed the program may segfault with an 0x5 SEH exception.
  • If the app crashes after launch, try removing app settings located at %APPDATA%/Holovibes/[version]/*.
  • If the app crashes and tells you that camera configs where not found in the AppData, you can (or):
    • Install the release matching your current version and launch it (it will setup the folder in AppData)
    • Copy the Camera/configs folder and paste its content (except the bfml folder) into %APPDATA%/Holovibes/[version]/cameras_config