Bazaar ====== KiCad uses the Bazaar version control system to track source code changes, and download the boost libraries needed by Kicad. The easiest way to get a copy of the KiCad source is to use Bazaar. Bazaar can be download from http://wiki.bazaar.canonical.com. Your best bet is to use the stand alone version of Bazaar (which includes bzrtools, needed by Kicad) rather than one of the Python specific versions. Be sure bzrtools is also installed. boost libraries will be downloaded the first time you build Kicad. CMake ===== KiCad uses CMake (version 2.12 or later) to generate the build files specific for the target platform specified by the developer. This document attempts to define some of the more common CMake and KiCad build configuration settings. You can use CMake either by the command CMake on or the graphical version ccmake. This document only documents a very small subset of the total CMake documentation For all of the gory details, please see the complete CMake documentation at: http://www.cmake.org/cmake/help/documentation.html. Useful CMake Build Settings. ============================ This section defines some of the more common CMake build configuration setting used when configuring KiCad. These settings are valid for all projects that use CMake. Changing the Build Generator. ----------------------------- CMake attempts to create the project build system based on the platform. On Posix systems CMake will create Unix Makefiles to build KiCad. On Windows systems CMake will attempt to find the latest version of Visual C++ installed on the system and create the appropriate project files. This behavior can be changed by specifying the project generator using the -G "Project Generator" switch on the command line. Please note, only a small subset of these project generators are supported. If you want to use Eclipse on Linux to build KiCad, you may be in for a lot of work. CMAKE_BUILD_TYPE (Release/Debug/RelWithDebInfo/MinSizeRel) ---------------------------------------------------------- Default: Release When configuring the KiCad build for the command line you must specify build type. To create a debug build, set CMAKE_BUILD_TYPE to Debug. To create a release build, set CMAKE_BUILD_TYPE to Release. See the CMake documentation for other build types. For IDE project files, the build type can be selected by the IDE configuration manager. CMAKE_INSTALL_PATH (InstallPath) -------------------------------- By default CMake will select the correct install path for your platform. If you wish to install KiCad in a custom location, set CMAKE_INSTALL_PATH to the path where you want to install KiCad. Please note that the default install path that CMake chooses will likely overwrite the current version of KiCad installed on your system. wxWidgets Library Configuration. ================================ KiCad is built using the wxWidgets library. The following options allow you to specifically tailor the wxWidgets library configuration. For the complete list of wxWidgets setting see CMakeModules/FindwxWidgets.cmake in the KiCad source. wxWidgets_ROOT_DIR (NonDefaultwxWidgetsPath) -------------------------------------------- CMake looks in the standard platform locations to find the default version of the wxWidgets library. If you wish to use a custom built wxWidgets library, set wxWidgets_ROOT_DIR to the correct path. KiCad Specific Options ====================== All of the configuration settings below are specific to the KiCad project. If for any reason you add or remove a build option to the KiCad CMake files, please update the list below. KICAD_SKIP_BOOST (ON/OFF) -------------------------- Default: OFF Use the version of the Boost library installed on the system rather than building a local copy. WARNING: The KiCad developers strongly advise you to build the bundled copy of the Boost library, as it is known to work with KiCad. Other versions may contain bugs that may result in KiCad errors. USE_IMAGES_IN_MENUS (ON/OFF) ---------------------------- Default: OFF for OSX, ON for other platforms. This option is used to enable or disable building KiCad with images (icons) in menu items. If this is not defined when CMake is used to create the build files, images will be included in menu items on all platforms except OSX. Note also, on Linux, some window managers do not show icons in menu, or show them only if the current option is activated. Therefore, even if you have icons in menus, they will be not always displayed DOWNLOAD_DIR (PATH) ------------------- Default: /.downloads-by-cmake Some external dependencies are automatically download and built when you compile KiCad. This option specifies which directory they are stored in. If you are building multiple copies of KiCad (e.g., to test different features or your own modifications), it is recommended you set this option to a global directory to avoid download and building the dependencies multiple times. KICAD_USER_CONFIG_DIR (PATH) ---------------------------- Default: ~/.config (Unix-based systems), Application data directory (Windows) This option specifies where to store user-specific configuration information. USE_WX_OVERLAY (ON/OFF) ----------------------- Default: ON for OSX, OFF for other platforms. This option enables or disables the use of wxOverlay for drawing operations. Warning, this is experimental! KICAD_SCRIPTING (ON/OFF) ------------------------ Default: OFF This option enables or disables building Python scripting support within KiCad. Currently only Pcbnew is supported. This option requires SWIG and Python to be installed on the system. It allows using footprint wizards in footprint editor to create new footprints KICAD_SCRIPTING_MODULES (ON/OFF) -------------------------------- Default: OFF This option enables or disables building KiCad Python modules that can be used externally by Python. Currently only Pcbnew is supported. This option requires SWIG and Python to be installed on the system. This python module is used to edit board files (.kicad_pcb files) from a python script, outside kicad. KICAD_SCRIPTING_WXPYTHON (ON/OFF) --------------------------------- Default: OFF This option enables or disables building wxPython support into the KiCad scripting support. Currently only Pcbnew has scripting support. This option requires SWIG, Python, and wxPython to be installed on the system. It allows execution of python scripts insided Pcbnew, during a session. PYTHON_SITE_PACKAGE_PATH (PATH) ------------------------------- Default: System site library path When building KiCad with Python scripting enable, the Python site library path is used by default. If you want to install the KiCad Python extension in a different path, set this variable to the desired path. BUILD_GITHUB_PLUGIN (ON/OFF) ---------------------------- Default: ON This option enables or disables building KiCad with a pcbnew plugin for loading footprints from a GitHub repository. KICAD_REPO_NAME (STRING) ------------------------ Default: "product" The name of the repository this copy of KiCad was compiled from. This is reported in the "About" dialog and is useful for people who are working with multiple copies of the code from different sources. The default value is "product", the name of the main development branch on Launchpad.