Build Options
These are the build options that can be passed to CMake during configuration.
All Platforms
Option | Description | Default |
---|---|---|
KICAD_SCRIPTING_WXPYTHON |
Build wxPython implementation for wx interface building in Python and py.shell. |
ON |
KICAD_INSTALL_DEMOS |
Install KiCad demos and examples. |
ON |
KICAD_BUILD_QA_TESTS |
Build software Quality assurance unit tests. |
ON |
KICAD_SPICE |
Build KiCad with internal Spice simulator. |
ON |
KICAD_BUILD_I18N |
Build the translation language libraries |
OFF |
KICAD_I18N_UNIX_STRICT_PATH |
Install the language libraries to the standard UNIX install path of ${CMAKE_INSTALL_PREFIX}/share/locale |
OFF |
BUILD_SMALL_DEBUG_FILES |
In debug build: create smaller binaries. On Windows, binaries created by link option -g3 are very large (more than 1Gb for Pcbnew, and more than 3Gb for the full KiCad suite). This option create binaries using link option -g1 that create much smaller files, but there are less info in debug (However the file names and line numbers are available). |
OFF |
MAINTAIN_PNGS |
Allow build/rebuild bitmap icons used in menus from the corresponding .svg file. Set to true if you are a PNG maintainer and have the required tools given in the bitmaps_png/CMakeLists.txt file. |
OFF |
KICAD_IPC_API |
Build KiCad with the experimental IPC API server active. |
OFF |
Platform Specific
Option | Description | Default |
---|---|---|
KICAD_WIN32_DPI_AWARE |
Turn on DPI awareness for Windows builds only. |
OFF |
KICAD_WIN32_CONTEXT_WINFIBER |
Use win32 fibers for libcontext. |
OFF |
KICAD_USE_EGL |
Build KiCad with EGL backend support for Wayland. |
OFF |
KICAD_USE_BUNDLED_GLEW |
Use the bundled version of GLEW - only available when KICAD_USE_EGL is set. |
OFF |
Developer Specific
Option | Description | Default |
---|---|---|
KICAD_SANITIZE_ADDRESS |
Build KiCad with address sanitizer (ASan) options. |
OFF |
KICAD_SANITIZE_THREADS |
Build KiCad with thread sanitizer (TSan) options. |
OFF |
KICAD_STDLIB_DEBUG |
Build KiCad with libstdc++ debug flags enabled. |
OFF |
KICAD_STDLIB_LIGHT_DEBUG |
Build KiCad with libstdc++ with -Wp,-D_GLIBCXX_ASSERTIONS flag enabled. |
OFF |
KICAD_DRC_PROTO |
Build the DRC prototype QA tool. |
OFF |
KICAD_BUILD_PNS_DEBUG_TOOL |
Build the P&S debugging/playground QA tool. |
OFF |
KICAD_GAL_PROFILE |
Enable profiling info for GAL. |
OFF |
KICAD_USE_VALGRIND |
Build KiCad with valgrind stack tracking enabled. |
OFF |
Notes
Note 1
Python 3 is required to build KiCad. The path to Python is normally determined automatically by a
CMake script, but if needed, PYTHON_EXECUTABLE
can be defined when invoking cmake
( use -DPYTHON_EXECUTABLE=<python path>
) to specify a particular Python binary.
Note 2
These Symbols are always defined, and are not an option for cmake invocation:
COMPILING_DLL
This is a signal to import_export.h, and when present, toggles the interpretation of the #defines in that file. Its purpose should not be extended beyond this.
USE_KIWAY_DLLS
Comes from CMake as a user configuration variable, settable in the Cmake user interface. It decides if KiCad will be built with the *.kiface program modules.
BUILD_KIWAY_DLL
Comes from CMake, but at the 2nd tier, not the top tier. By 2nd tier,
something like pcbnew/CMakeLists.txt, not /CMakeLists.txt is meant. It is
not a user configuration variable. Instead, the 2nd tier CMakeLists.txt file
looks at the top level USE_KIWAY_DLLS
and decides how the object files under
the 2nd tier’s control will be built. If it decides it wants to march in
lockstep with USE_KIWAY_DLLS
, then this local CMakeLists.txt file may pass a
defined BUILD_KIWAY_DLL
(singular) on the compiler command line to the
pertinent set of compilation steps under its control.
Note 3
When building with KICAD_BUILD_I18N
on Linux systems, gettext needs the rule files
shared-mime-info.its
and metainfo.its
/appdata.its
to translate the Linux
metadata files.