# CMake configuration flags Details about installation process are on our [wiki](https://github.com/xournalpp/xournalpp/wiki/Installing). Here you can find complete list of Xournal++ CMake flags (sorted by categories). Advanced settings are marked with *[A]*. ## `BUILD` – build dependency libraries and link them statically | Variable name | Default | Description | --------------- | ------- | ----------- | `BUILD_BOOST` | OFF | Build needed Boost libraries | `BUILD_POPPLER` | OFF | Build Poppler statically ## `CMAKE` – some additional CMake related config | Variable name | Default | Description | ------------------------------------ | ------- | ----------- | `CMAKE_DEBUG_INCLUDES_LDFLAGS` *[A]* | OFF | At the end of config process list all include dirs and libraries used by main xournalpp binary ## `DEBUG` – debugging switches (shouldn't be enabled for normal usage), all *[A]* and disabled by default | Variable name | Description | --------------------------- | ----------- | `DEBUG_COMPILE` | Pass `-Wall` to `CXX_FLAGS` | `DEBUG_INPUT` | Input debugging, e.g. eraser events etc | `DEBUG_RECOGNIZER` | Shape recognizer debug: output score etc | `DEBUG_SHEDULER` | Scheduler debug: show jobs etc | `DEBUG_SHOW_ELEMENT_BOUNDS` | Draw a surrounding border to all elements | `DEBUG_SHOW_PAINT_BOUNDS` | Draw a border around all painted rects | `DEBUG_SHOW_REPAINT_BOUNDS` | Draw a border around all repaint rects ## `DEV` – development options, which in most cases should be leaved as they are | Variable name | Default | Description | ------------------------------ | ---------------- | ----------- | `DEV_CALL_LOG` | OFF | Call log (can take loooot of disk space and IO!) | `DEV_CHECK_GTK3_COMPAT` *[A]* | OFF | Adds a few compiler flags to check basic GTK3 upgradeability support (still compiles for GTK2!) | `DEV_CONFIG_DIR` *[A]* | .xournalpp | Xournal++ config dir, relative to user's home dir | `DEV_ENABLE_GCOV` *[A]* | OFF | Build with gcov support | `DEV_MEMORY_CHECKING` | ON | Memory checking | `DEV_MEMORY_LEAK_CHECKING` | ON | Memory leak checking | `DEV_METADATA_FILE` *[A]* | metadata.ini | Metadata file name | `DEV_METADATA_MAX_ITEMS` *[A]* | 50 | Maximal amount of metadata elements | `DEV_PRINT_CONFIG_FILE` *[A]* | print-config.ini | Print config file name | `DEV_SETTINGS_XML_FILE` *[A]* | settings.xml | Settings file name | `DEV_TOOLBAR_CONFIG` *[A]* | toolbar.ini | Toolbar config file name | `DEV_ERRORLOG_DIR` *[A]* | "" | Directory where errorlogfiles will be placed ## `EXT` – add dependency basing on precompiled deb packages (UNIX only) | Variable name | Default | Description | ------------- | ------- | ----------- | `EXT_GLIBMM` | OFF | Glibmm and Gtkmm binaries ## `ENABLE` – basic stable features support | Variable name | Default | Description | -------------------- | ------- | ----------- | `ENABLE_MATHTEX` | OFF | Mathtex support (UNIX only) | `ENABLE_OS` | OFF | Overlay Scrollbar support | `ENABLE_LIBOPENJPEG` | ON | Use libopenjpeg instead of builtin JPEG2000 decoder | `ENABLE_CPPUNIT` | OFF | Build CppUnit test instead of xournalpp application ## `UNSTABLE` – unstable, in development features | Variable name | Default | Description | ------------------------- | ------- | ----------- | `UNSTABLE_LAYERS_SIDEBAR` | OFF | Layers sidebar ## `TEST` – optional features of CppUnit tests | Variable name | Default | Description | ------------------ | ------- | ----------- | `TEST_CHECK_SPEED` | OFF | Show speed benchmarks for some tests ## `PATH` – here you can specify alternative location of these binaries (there are no defaults) | Variable name | Description | ------------- | ----------- | `PATH_AR` | `ar` is needed to unpack debs (if any of `EXT` packages are added) | `PATH_DVIPNG` | `dvipng` is needed for MathTex module | `PATH_GIT` | `git` is needed to include info about issue tracker and other git-repo-realted info | `PATH_LATEX` | `latex` is needed for MathTex module | `PATH_TAR` | `tar` is needed to unpack debs (if any of `EXT` packages are added) | `PATH_WGET` | `wget` is needed to download debs (if any of `EXT` packages are added)