Installation ============ Prerequisites ------------- - Git - Python 3 - C++23 compiler Getting the Binary Distribution ------------------------------- `libxdaq` uses `Conan 2` for package management. While using `libxdaq` without Conan is possible, it is not recommended due to the complexity of manually managing dependencies. For more information, refer to the `Conan documentation`_. .. _Conan documentation: https://docs.conan.io/2/ **To install Conan, execute:** .. code-block:: bash pip install --user conan **To set up the Conan profile:** Prebuilt `libxdaq` binaries are compiled with the exact settings listed below. Using a different compiler version, C++ standard, or standard library may result in ABI mismatches. Do **not** rely on ``conan profile detect``; instead, save the profile matching your platform into ``~/.conan2/profiles/`` (e.g. ``~/.conan2/profiles/macos-15-arm64``). macOS (Apple Silicon) — ``macos-15-arm64``: .. code-block:: ini [settings] arch=armv8 compiler=clang compiler.cppstd=gnu20 compiler.libcxx=libc++ compiler.version=18 os=Macos os.version=13.0 [conf] tools.cmake.cmaketoolchain:generator=Ninja macOS (Intel) — ``macos-15-x64``: .. code-block:: ini [settings] arch=x86_64 compiler=clang compiler.cppstd=gnu20 compiler.libcxx=libc++ compiler.version=18 os=Macos os.version=13.0 [conf] tools.cmake.cmaketoolchain:generator=Ninja Linux (x86_64) — ``ubuntu-22.04-x64``: .. code-block:: ini [settings] arch=x86_64 compiler=gcc compiler.cppstd=gnu20 compiler.libcxx=libstdc++11 compiler.version=13 os=Linux [conf] tools.cmake.cmaketoolchain:generator=Ninja Windows (x86_64, MSVC) — ``windows-2022-x64``: .. code-block:: ini [settings] arch=x86_64 compiler=msvc compiler.cppstd=20 compiler.runtime=dynamic compiler.version=194 os=Windows [conf] tools.cmake.cmaketoolchain:generator=Ninja Then pass the profile to every Conan command, e.g.: .. code-block:: bash conan install . --profile:all macos-15-arm64 -s build_type=Release **To add the kontex-neuro Conan repository:** .. code-block:: bash git clone https://github.com/kontex-neuro/kontex-conan.git conan remote add kontex-neuro ./kontex-conan After adding the remote, you can use `libxdaq` as a dependency in your project's `conanfile.txt` or `conanfile.py`, and Conan will automatically fetch it from the kontex-neuro repository. **To update to newer package versions:** .. code-block:: bash cd kontex-conan git pull