Compilation From Source ======================= .. include:: ../../README.rst :start-after: .. compil :end-before: .. compil-end CMake Parameters ++++++++++++++++ The compilation of QBDI can be configured with the command line. Each parameter should be placed on the command line with the form ``-D=``. * ``QBDI_PLATFORM`` (mandatory) : Target platform of the compilation (supported: ``windows``, ``linux``, ``android``, ``macos``) * ``QBDI_ARCH`` (mandatory) : Target architecture of the compilation (supported: ``X86_64``, ``X86``) * ``QBDI_CCACHE`` (default ON) : enable compilation optimisation with ccache or sccache. * ``QBDI_DISABLE_AVX`` (default OFF) : disable the support of AVX instruction on X86 and X86_64 * ``QBDI_ASAN`` (default OFF) : compile with ASAN to detect memory leak in QBDI. * ``QBDI_LOG_DEBUG`` (default OFF) : enable the debug level of the logging system. Note that the support of this level has an impact on the performances, even if this log level is not enabled. * ``QBDI_STATIC_LIBRARY`` (default ON) : build the static library of QBDI. Note than some subproject need ``QBDI_STATIC_LIBRARY`` (test, PyQBDI, ...) * ``QBDI_SHARED_LIBRARY`` (default ON) : build the shared library of QBDI. Note than some subproject need ``QBDI_SHARED_LIBRARY`` (Frida/QBDI, examples, ...) * ``QBDI_TEST`` (default ON) : build the tests suite * ``QBDI_BENCHMARK`` (default OFF) : build the benchmark tools * ``QBDI_TOOLS_QBDIPRELOAD`` (default ON on supported platform) : build QBDIPreload static library. * ``QBDI_TOOLS_VALIDATOR`` (default ON on supported platform) : build the validator library (supported on Linux and macOS). * ``QBDI_TOOLS_PYQBDI`` (default ON on X86_64) : build PyQBDI library. Supported on Linux, Windows and macOS. * ``QBDI_TOOLS_FRIDAQBDI`` (default ON) : add Frida/QBDI in the package.