Developer documentation and other minor fixes.

* Update the developer road map document.
* Update the compiling KiCad from source document to reflect recent build
  changes.
* Change Cairo library version to 1.8.8 to fix build issues on CentOS 6.
This commit is contained in:
Wayne Stambaugh 2016-01-04 10:23:28 -05:00
parent d3dfb5bcc4
commit c68790751a
3 changed files with 48 additions and 37 deletions

View File

@ -453,7 +453,7 @@ find_package( CURL REQUIRED )
#
# Find Cairo library, required
#
find_package( Cairo 1.12.1 REQUIRED )
find_package( Cairo 1.8.8 REQUIRED )
#
# Find Boost library, required.

View File

@ -32,9 +32,9 @@ going to build a stable version of KiCad from a source archive.
## GIT Version Control System ## {#git}
If you prefer to use [GIT][] for version control, there is a mirror of the official KiCad
repository on [Github][]. GIT is not required if you are going to build a stable version of
KiCad from a source archive. Please note that the Github mirror is read only. Do not submit
pull requests to Github. Changes should be sent to the KiCad developer's [mailing list][] as
repository on [GitHub][]. GIT is not required if you are going to build a stable version of
KiCad from a source archive. Please note that the GitHub mirror is read only. Do not submit
pull requests to GitHub. Changes should be sent to the KiCad developer's [mailing list][] as
an attached patch with [PATCH] at the beginning of the subject.
## Doxygen Code Documentation Generator ## {#doxygen_section}
@ -111,6 +111,12 @@ When building KiCad with wxPython support, make sure the version of the wxWidget
the version of wxPython installed on your system are the same. Mismatched versions have been
known to cause runtime issues.
## Curl Multi-Protocol File Transfer Library ## {#curl}
The [Curl Multi-Protocol File Transfer Library][libcurl] is used to provide secure internet
file transfer access for the [GitHub][] plug in. This library only needs to be installed if
the GitHub plug build option is enabled.
# KiCad Build Configuration Options # {#build_opts}
KiCad has many build options that can be configured to build different options depending on
@ -148,16 +154,6 @@ supplied by KiCad. This option is disabled by default.
The KICAD_SCRIPTING_WXPYTHON option is used to enable building the wxPython interface into
Pcbnew including the wxPython console. This option is disabled by default.
## Build with Static Libraries ## {#static_lib_opt}
The KICAD_BUILD_STATIC option is used to build KiCad with static libraries. This option is
used for OSX builds only and is disabled by default.
## Build with Dynamic Libraries ## {#dynamic_lib_opt}
The KICAD_BUILD_DYNAMIC option is used to build KiCad with dynamic libraries. This option is
used for OSX only and is disabled by default.
## Build with System Boost ## {#boost_opt}
The KICAD_SKIP_BOOST option allow you to use the Boost libraries installed on your system to
@ -172,9 +168,9 @@ The USE_OSX_DEPS_BUILDER option forces the build configuration to download and b
required dependencies to build KiCad on OSX. This option is not longer maintained and most
likely is broken. Use it at your own peril.
## Github Plugin ## {#github_opt}
## GitHub Plugin ## {#github_opt}
The BUILD_GITHUB_PLUGIN option is used to control if the Github plugin is built. This option is
The BUILD_GITHUB_PLUGIN option is used to control if the GitHub plug in is built. This option is
enabled by default.
# Getting the KiCad Source Code ## {#getting_src}
@ -192,7 +188,7 @@ branch on your machine by using the following command:
bzr branch https://code.launchpad.net/~kicad-product-committers/kicad/product kicad_source
If you prefer to use [GIT][] as you version control system, you can clone the KiCad mirror on
Github using the following command:
GitHub using the following command:
git clone https://github.com/KiCad/kicad-source-mirror
@ -202,7 +198,7 @@ Stable release archive: https://launchpad.net/kicad/4.0/4.0.1/+download/kicad-4.
Development branch: https://code.launchpad.net/~kicad-product-committers/kicad/product
Github mirror: https://github.com/KiCad/kicad-source-mirror
GitHub mirror: https://github.com/KiCad/kicad-source-mirror
# Building KiCad on Linux # {#build_linux}
@ -251,7 +247,7 @@ MSYS2 install path and run the following commands:
makepkg-mingw -is
This will download and install all of the build dependencies, clone the KiCad source mirror
from Github, create both 32-bit and 64-bit KiCad packages depending on your MSYS setup, and
from GitHub, create both 32-bit and 64-bit KiCad packages depending on your MSYS setup, and
install the newly built KiCad packages. Please note that this build process takes a very
long time to build even on a fast system.
@ -284,7 +280,6 @@ the following commands:
-DCMAKE_PREFIX_PATH=/mingw64 \
-DCMAKE_INSTALL_PREFIX=/mingw64 \
-DDEFAULT_INSTALL_PATH=/mingw64 \
-DKICAD_SKIP_BOOST=ON \
-DKICAD_SCRIPTING=ON \
-DKICAD_SCRIPTING_MODULES=ON \
-DKICAD_SCRIPTING_WXPYTHON=ON \
@ -399,7 +394,7 @@ Boost patches in the KiCad source [patches folder][].
[Launchpad]: https://code.launchpad.net/~kicad-product-committers/kicad/product
[Bazaar]: http://bazaar.canonical.com/en/
[GIT]: https://git-scm.com/
[Github]: https://github.com/KiCad/kicad-source-mirror
[GitHub]: https://github.com/KiCad/kicad-source-mirror
[Doxygen]: http://www.stack.nl/~dimitri/doxygen/
[mailing list]: https://launchpad.net/~kicad-developers
[SWIG]: http://www.swig.org/
@ -419,3 +414,4 @@ Boost patches in the KiCad source [patches folder][].
[MinGW]: http://mingw.org/
[build Boost]: http://www.boost.org/doc/libs/1_59_0/more/getting_started/index.html
[MSYS2 64-bit SourceForge repo]: http://sourceforge.net/projects/msys2/files/REPOS/MINGW/x86_64/
[libcurl]: http://curl.haxx.se/libcurl/

View File

@ -46,7 +46,7 @@ developers.
- None
**Status:**
- Initial planning stages.
- Completed. See the [KiCad Stable Release Policy]() for mor information.
## Website Improvements ## {#website_improvements}
@ -64,7 +64,8 @@ of the many separate websites currently in used.
- None
**Status:**
- No progress.
- Completed. See the [KiCad Website source repository](https://github.com/KiCad/kicad-website)
for the new website [Asciidoc](http://www.methods.co.nz/asciidoc/) source.
# General # {#general}
@ -92,8 +93,7 @@ Eeschema and Pcbnew to run under a single process.
- None
**Status:**
- Stage 1 code released.
- Stage 2 in process.
- Completed.
## User Interface Modernization ## {#wxaui}
**Goal:**
@ -149,7 +149,7 @@ to reduce the build footprint.
- None
**Status:**
- Initial concept discussions.
- In progress.
## Platform Binary Installers ## {#installers}
**Goal:**
@ -165,7 +165,9 @@ Provide quality installers for all supported platforms.
- None
**Status**
- No progress
- Completed for both stable release and nightly builds. See the [package
download page](http://kicad-pcb.org/download/) at the [KiCad Website][
kicad-website].
# Common Library # {#common_lib}
@ -203,7 +205,8 @@ clean up code base.
- Remove any unused geometry library code.
**Dependencies:**
- None
- Completed. The Boost polygon library was dropped in favor of the [Clipper
polygon library](http://www.angusj.com/delphi/clipper.php)
**Status:**
- In progress as part of push and shove router.
@ -222,7 +225,7 @@ provided by version 3 can be utilized.
- wxWidgets 3 is widely available on Linux distributions.
**Status:**
- Build now requires 3.0.0 or greater.
- Completed. Build now requires 3.0.0 or greater.
## Linux Printing Improvements ## {#linux_print}
**Goal:**
@ -301,7 +304,7 @@ managing and manipulating the schematic.
- None
**Status:**
- No progress.
- In progress.
## Hierarchical Sheet Design ## {#hierarchy_fix}
**Goal:**
@ -317,7 +320,7 @@ fly every time sheet information is required.
- None
**Status:**
- No progress.
- In progress.
## Schematic and Component Library Plugin ## {#sch_plugin}
**Goal:**
@ -463,7 +466,8 @@ to launch an separate program.
- [Convert to a single process application](#kiway).
**Status:**
- Initial library conversion committed to product branch.
- Completed. CvPcb is now launched as a child window of Eeschema and the
intermediate component assignment file (*.cmp) has been eliminated.
# Pcbnew: Circuit Board Editor # {#pcbnew}
@ -480,7 +484,7 @@ Unify all board editing tools under a single framework.
- Remove all duplicate legacy editing tools.
**Dependencies:**
- None
- In progress.
**Status:**
- Initial porting work in progress.
@ -521,7 +525,10 @@ available in OpenCascade.
- [Dynamic library plugin](#plugin_base).
**Status:**
- No progress.
- 3D Viewer work in progress. There is also now and external tool [KiCadStepUp]
(http://sourceforge.net/projects/kicadstepup/) which allows [FreeCAD]
(http://www.freecadweb.org/) to create parametric models from KiCad board
files.
## Push and Shove Router Improvements ## {#ps_router_improvements}
**Goal:**
@ -536,7 +543,7 @@ Add features such as matched length and microwave tools to the P&S router.
- None
**Status:**
- Match trace length work in progress.
- Match trace length implemented.
## Layer Improvements ## {#pcb_layers}
**Goal:**
@ -743,7 +750,9 @@ formatting for more uniform formatting across all user documentation.
- None
**Status:**
- Started with this document.
- Completed. The documentation has been converted from ODT to [Asciidoc]
[asciidoc]. The [documentation](http://kicad-pcb.org/help/documentation/)
can be found on the [KiCad website][kicad-website].
## Grammar Check ## {#doc_grammar}
**Goal:**
@ -787,7 +796,10 @@ involved with the project.
- None.
**Status:**
- No progress.
- In progress. Most of the developer documentation has been convert to
[Doxygen markdown](http://www.stack.nl/~dimitri/doxygen/manual/markdown.html)
and the [output][kicad-docs] is rebuilt automatically when a commit is
made to the KiCad repo.
# Unit Testing # {#unittest}
@ -832,3 +844,6 @@ Provide quality circuit simulation capabilities similar to commercial products.
**Status:**
- No progress.
[kicad-website]:http://kicad-pcb.org/
[kicad-docs]:http://ci.kicad-pcb.org/job/kicad-doxygen/ws/Documentation/doxygen/html/index.html