Commit Graph

136 Commits

Author SHA1 Message Date
John Beard a33a8292a4 Run-time config for advanced options
This can be used for "advanced" options which are for developers
to use for feature-flags and other configuration. Run time config
has some advantages over preprocessor defines:

* Can be changed without recompilation
   * Sensitive to XDG_CONFIG_DIR, so flipping configs is easy
* Better compiler coverage (less conditionally compiled code means
  less chance to break a different configuration). Also better
  analysis coverage.
* Type safe config params
* Centralised documentation: it's in doxygen, in one place

No advanced config should be required by a general users. If a general
user does use one of these configs, it's probably because:

* There is a bug and one of these configs is a workaround
* A config in here is generally useful and should be moved into the
  relevant application config and given UI.

For now, the config is read-only, and is read from the
"kicad_advanced" config file in the normal config dir.
2018-12-28 11:36:08 -05:00
Seth Hillbrand 830dced83f Fix minor issue in docs
Source is distributed in xz format, so the older gzip instruction did
not work.
2018-12-10 12:04:41 -08:00
Maciej Suminski 6a233a1367 Updated a link to the stable source code tarball in the documentation 2018-12-04 15:32:03 +01:00
Nabeel Ahmad 7975e05446 Documentation: UI policy update about dialogs
Updated out-of-date information about the use of wxFormBuilder.
2018-12-03 12:22:14 -05:00
Adam Wolf 3392162d49 Fixup documentation for macOS Python script plugins. Fixes #1789960. 2018-11-28 09:40:22 -05:00
John Beard 369d172460 Document tracemask strings and add note in testing.md
Also make the examples in the testing.md docs self-consistent.
2018-11-27 08:33:10 -05:00
John Beard 5a0318968f Break zoom control into a self-contained controller
This is done to avoid a big chunk of conditionally-compiled code
in the middle of the event function.

Also separates the zoom logic from the WX_VIEW_CONTROLS object
and isolates it in a separate class behind a clearer interface.

Add some simple tests for sane steps on GTK+3-sized scroll
steps.
2018-11-26 14:40:09 -05:00
Maciej Suminski 3fd2968318 Explained AF_ACTIVATE flag in the documentation 2018-11-13 09:36:26 +01:00
John Beard ee819216e2 QA: Make a separate unit test utils library, COLOR4D tests
This includes:

* Linkage against the Boost unit test libs
* Configuration of the Boost libs
* A place for common generics "extras" for unit test harnesses
  including
    * A simple way to allow "expected-failure" tests (without
      breaking Boost < 1.58, e.g. Ubuntu LTS)
    * Moving some simple numeric predicates from the geom tests
      to the utils library.

Expand unit test docs to describe the expected failures macro.

Add a few COLOR4D tests, including one with expected failures due
to a pre-existing bug. This will be fixed in a follow-up commit.
2018-11-08 14:40:42 -05:00
John Beard c6a971d971 Dev docs: Add TOC to testing markdown 2018-10-29 14:12:55 -04:00
John Beard e601b42207 Docs: printing and trace
Add a quick outline of some of the ways you can dump debug during
debugging. Also include a list of known trace mask strings.
2018-10-29 14:12:55 -04:00
John Beard 409e884ce6 Add git format commit hook
This adds a pre-commit hook to warn of any style errors.

Also adds a 'hook-chain' script to simplify future hooks.

Add dev-doc note about how to use the formatter.
2018-10-29 10:47:51 -04:00
Thomas Pointhuber 0e0b4d52a2 Add initial support for Phoenix (new wxPython binding)
Based on the work of @mmccoo:
https://kicad.mmccoo.com/2017/11/23/learnings-from-moving-kicad-to-wxpython-4-0/
and this additional patchset to remove wxpy_api.h dependency:
http://mmccoo.com/random/0001-Remove-dependence-on-pywx_api.h.patch

Please note CreatePythonShellWindow changed quite a lot. Throughful testing
should be made for the old as well as new wxPython version on all platforms
2018-10-26 13:21:11 +02:00
John Beard acd103631b QA: PCB file input parse test program (fuzzable)
This adds a test program which can be used to test the
parsing of a given KiCad PCB file. This interface is
useful for both manual or automated debugging of given
files, as well as providing an interface suitable for
fuzz-testing tools.

Also adds to the testing docs to detail how fuzzing can
be used.

Also moves some useful re-usable code from io-benchmark
to a new library qa_utils, which can contain code that
isn't need in the actual KiCad libs.
2018-10-22 12:32:24 -04:00
Thomas Pointhuber 7548a3b1bf Add KICAD_SCRIPTING_PYTHON3 flag to about dialog and doc 2018-10-19 09:59:05 +02:00
John Beard 86999a2a4d Update testing documentation 2018-10-06 08:46:36 -04:00
qu1ck d19b152655 Update pcbnew-plugins.md with info about icons 2018-08-27 11:08:39 -04:00
Nick Østergaard 6db71cd734 Add documentation for KICAD_USE_OCC 2018-08-20 13:26:40 -07:00
Adam Wolf e3cf2705de Aim macOS users at kicad-mac-builder, and make building for macOS sound less scary. 2018-07-23 13:04:34 -04:00
John Beard 930f3dd74f Documentation: add logo to Doxygen pages
This adds a small KiCad logo in the top left of the Doxygen pages.

54px used as 55px is maximum recommended height for Doxygen logos.

For the main docs and the dev docs, this is easily done in the Doxyfile,
for the Python docs, as that is run from the binary dir, the source dir
is passed as an Environment variable.
2018-06-25 08:23:17 -04:00
Wayne Stambaugh 747e14f9e1 Fix broken link in compiling.md. 2018-04-02 18:27:37 -04:00
Jon Evans 8cdb82df42 Update Windows MSYS2 build instructions; remove "easy way" for now 2018-03-21 14:33:44 -04:00
Jon Evans 8f0c798dc8 Update MSYS2 links 2018-03-07 21:06:30 -05:00
Jon Evans 38d211b5e1 Document workaround for Windows compilation issues with OCE 2018-03-07 21:03:04 -05:00
Wayne Stambaugh 944a0b195e Update KiCad compiling document.
Add missing build dependencies ngspice and oce.

Fix missing dependencies for MSYS2 builds on windows.

Remove enabling scripting now that is enabled by default.
2018-03-06 18:54:51 -05:00
Bernhard Stegmaier b300e8cce5 Update macOS compiling instructions to use KiCad wxWidgets fork. 2018-02-21 13:37:54 -05:00
Wayne Stambaugh 93683d0021 Enable all build configuration options ready for stable 5 release.
Enable Python scripting, OCE, and spice build configuration options.

Update compiling.md to reflect new option settings.
2017-12-29 17:38:42 -05:00
Nick Østergaard 4e8e6d4823 Add explaining notes on when to use changelog tags 2017-11-29 17:36:03 +01:00
Maciej Suminski c5254bfec2 Documentation: changed git alias sections name to match the contents 2017-11-29 17:36:03 +01:00
Maciej Suminski f3ea34e3c6 Documentation: described 'git changelog' alias
Added 'git changelog' alias description and moved both descriptions to a
single paragraph.
2017-11-29 11:33:07 +01:00
Maciej Suminski f9fd60350f Documentation: added a note about changelog tags 2017-11-29 10:44:47 +01:00
Wayne Stambaugh 81fcc852b1 Fix Pcbnew plugin developer's document table of contents. 2017-06-28 11:38:44 -04:00
Wayne Stambaugh 0f20dc747f Minor Pcbnew plugin developer's document fixes.
Reformat line width to prevent line wrapping.

Add table of contents and header links.
2017-06-28 11:08:23 -04:00
Simon Kueppers bbef4fee17 Added documentation about pcbnew plugin development 2017-06-28 10:48:41 -04:00
Wayne Stambaugh dab73e172b Doxygen warning fixes and coding policy comment changes. 2017-06-16 10:08:28 -04:00
Kristoffer Ödmark 19d5cc7548 Removed all exception specifiers since deprecated.
Exception specifiers are deprecated in cpp11, so went through them all
and removed them from the code.
2017-06-12 13:54:55 -04:00
Kristoffer Ödmark 8590a22995 Cpp11 compability steps.
-Changed coding style to not have exception specifications.
-Changed autogenerated Lexer code to not have exception specifications.
2017-06-12 11:47:20 -04:00
Adam Wolf 0a29ab9031 Update macOS portion of compiling.md.
In general, replace OSX with macOS.  Moved the minimum OS version from 10.7 to 10.9.  Moved the maximum version from 10.10 to the current 10.12.
2017-03-14 19:08:18 -04:00
Wayne Stambaugh 6f3ec438cb Add missing install package to the compiling document.
The base-devel package install was missing from the "MSYS2 The Easy Way"
section of the compiling developers document.

Fixes lp:1670067

https://bugs.launchpad.net/kicad/+bug/1670067
2017-03-05 14:08:12 -05:00
John Beard 9dff85f0dc Add developer docs about testing 2017-03-01 14:05:51 +01:00
Maciej Suminski 1077b679c5 Minor updates to the Tool Framework documentation 2017-02-23 09:45:43 +01:00
John Beard 6b39e9ea81 Update GAL tool documentation
Update to reference new PCB_ACTIONs (used to be COMMON_ACTION)

Also expand on use of BOARD_COMMIT.

Add doxygen TOC markup
2017-02-23 09:00:55 +01:00
Wayne Stambaugh 899fe08f20 Remove KICAD_USE_SCH_IO_MANAGER build option from docs and build info. 2017-02-10 11:58:15 -05:00
Wayne Stambaugh 0f7785760f Add missing MSYS2 package on windows to developer's compiling document. 2017-01-31 15:25:30 -05:00
Maciej Suminski 4b9243e0bf Allow registering TOOLs in any order. 2017-01-30 13:21:43 +01:00
Chris Pavlina 0881bf77bd Add commit message format doc with Fixes: links 2017-01-26 16:03:54 -05:00
Wayne Stambaugh 0b6147ed05 Minor developer's documentation fixes.
Fix duplicate table of content links.

Fix heading level issues in version 6 road map.

Add new Python action menu options to compiling document.
2017-01-24 10:14:27 -05:00
John Beard 5a2be26934 Tool Framework documentation 2017-01-18 16:30:33 +01:00
Nick Østergaard c676553f19 Fix OCE link in dev-docs
* Remove duplicate ngspice link
* Add OCE link
2017-01-14 12:24:40 -05:00
Wayne Stambaugh 9c758c4010 Road map updates.
Update version 5 road map to reflect the actual tasks that will be
completed during the current development cycle.

Add version 6 road map and add tasks not completed from the version
5 road map and the general road map.
2016-12-10 13:20:24 -05:00
Wayne Stambaugh fd54d394bd Version string improvements.
Define empty string variable KICAD_BRANCH_NAME that can be used as an
optional version string element.  When git is used to build the version
string, this variable is set to the git branch name.  It can also be
defined at configuration time as an optional string appended to the
$KICAD_VERSION variable.

Define empty string variable KICAD_VERSION_EXTRA that can be set by
the user at configuration.

The variables KICAD_BRANCH_NAME and KICAD_VERSION_EXTRA are only
appended to KICAD_VERSION if they are set.  Otherwise, only KICAD_VERSION
is uses as the version string.

Update the developer building from source document to reflect the changes.
2016-11-25 09:09:10 -05:00
Wayne Stambaugh c483574658 Add stitching via support to the version 5 road map. 2016-10-17 11:11:35 -04:00
Wayne Stambaugh 225f0d8917 Update build KiCad from source documentation.
Add note about KICAD_BUILD_VERSION and KICAD_REPO_NAME CMake configuration
variables.

Fix incorrect path for OSX patch command.

Add new OSX patches to OSX build instructions.

Fix missing ngspice url.
2016-09-17 15:49:20 -04:00
José Ignacio Romero 83ed3c933e Add KICAD_INSTALL_DEMOS CMake option
It is ON by default, determines wether to install the bundled demos
and examples.
2016-09-14 19:57:35 -04:00
Maciej Suminski e25630b7ac UI policy update
Added a note about Mark's wxFormBuilder repository and
'internationalize' checkbox in wxFB.
2016-09-09 09:38:56 -04:00
Nick Østergaard caafcde585 Add KICAD_ prefix to build switches
KICAD_ prefix was added to the USE_OCE and USE_SCH_IO_MANAGER build
switches together with a small description to the devdocs from
compiling.md.
2016-09-05 08:46:01 -04:00
Jon Neal 049e9909ac Updated the compiling instructions to remove bzr and talk about the OCE flag. 2016-09-04 18:42:11 -04:00
Maciej Suminski 3204b14254 Updated the r5 road map (integrated simulator) 2016-08-12 16:58:39 +02:00
Maciej Suminski a6cdf536b9 Added KICAD_SPICE option description in compiling.md 2016-08-12 16:00:35 +02:00
Wayne Stambaugh df99b4068d Update stable release 5 road map.
* Remove tasks that are not going to be completed by FOSDEM 2017 release
  (hopefully) announcement.

* Update item task lists to reflects changes discussed at CERN meeting.

* Update item status to reflect the current state of the tasks.

* Add a few new changes that are slated for release.

* Revise the generic road map by deleting complete items and adding new items
  discussed at CERN meeting.

* Remove unused definition from config.h.cmake.
2016-07-05 10:06:23 -04:00
Chris Pavlina c13f80bb49 Remove unneeded compile option KICAD_KEEPCASE
Libraries have been 100% case-sensitive for a while now; there is no longer a
need to keep this option around. This will change nothing except for any
stragglers still manually specifying this old option.
2016-06-10 23:15:02 -04:00
Wayne Stambaugh 00b8624713 Fix missing links in ui-policy.md. 2016-05-13 13:09:28 -04:00
Chris Pavlina 84d3fbfd68 Remove MaxUndoItems, make devel option DevelMaxUndoItems
Begin documenting configuration keys in Doxygen
2016-05-12 12:51:32 -04:00
Maciej Suminski 7b669c1b03 Removed remaining traces of KICAD_SKIP_BOOST parameter. 2016-05-10 11:39:13 +02:00
Wayne Stambaugh 740f8f55d8 Developer documentation improvements.
* Convert user interface guidelines to markdown and add to the documentation
  created by Doxygen.

* Remove HOW_TO_CONTRIBUTE.txt.  This information is covered elsewhere.

* Remove wxWidgets_patch_notes.txt.
2016-04-19 10:30:32 -04:00
Nick Østergaard 61eb65f0e9 Documentation: add missing dependency to compiling with msys2. 2016-03-11 08:20:31 -05:00
Wayne Stambaugh a319c34188 Road map: add ERC improvements and revise object introspection. 2016-02-09 16:19:26 -05:00
Wayne Stambaugh a9bf46a5de Documentation: add version 5 road map to developer documentation. 2016-02-03 19:12:24 -05:00
Wayne Stambaugh 73d6fa3368 Compiling KiCad from source developer documentation fixes.
* Remove KICAD_SKIP_BOOST build configuration option.
* Remove USE_OSX_DEPS_BUILDER build configuration option.
* Add missing web link for OpenGL Mathematics library (GLM).
2016-01-04 17:00:42 -05:00
Wayne Stambaugh c68790751a 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.
2016-01-04 10:23:28 -05:00
jean-pierre charras ab585f46ce Update doc. 2015-12-29 13:14:35 +01:00
unknown e506a4354b Replace avhttp with libcurl: Some fixes:
1. Fixed an assumption somebody originally made in the plugin that std::string had contiguous storage. This is not specced behavior pre C++11 so we gamble by calling .reserve() which should give a far better guarantee.
2. Added copy to clipboard information for curl
3. Removed some openssl references in compiling.md
4. Renamed struct vars to be uppercase to match "public var" code style policy
2015-12-22 15:19:00 +01:00
Maciej Suminski 231eaecf34 Removed the included GLM library, switched to the system one. 2015-12-08 10:56:53 +01:00
Wayne Stambaugh dd06abf002 Documentation: improvement to build from source on windows docs.
* Add note about 32-bit builds to MSYS2 the hard way section.
* Add known issues section for building on windows with MSYS2.
* Add 64-bit Boost 1.59 issue to MSYS2 issues section.
* Fix broken link to KiCad patches source path.
2015-12-02 13:57:54 -05:00
Wayne Stambaugh a033386a6b Minor compiling document fixes.
* Fix missing link to MinGW website.
* Add link to library dependency section in introduction.
* Add "Known Issues" section to document known build issues.
2015-10-12 19:09:52 -04:00
Wayne Stambaugh 627f8cba4d Fix "Building KiCad from Source" developers documentation.
* Change command blocks from using ``` to delineate block and use indentation
  instead.  The ``` method seems to be broken on Doxygen 1.8.9.1 used by the
  autobuilder.  It also removes the line numbering which did not make sense
  for commands that spanned multiple lines.
2015-10-12 09:42:09 -04:00
Wayne Stambaugh faf8e3a723 Create markdown version of compiling KiCad for developer documentation.
* Add compiling.md with most of the important information from the plain
  text versions of platform specific compiling files.
* Remove the old plain text compiling files and folder.
2015-10-11 11:16:25 -04:00
Nick Østergaard 96138e1237 Convert coding policy document from odt to markdown for inclusion in developer's documentation. 2015-01-16 13:57:16 -05:00
jean-pierre charras a5c5738559 Fix Bug #1210120 (commit rev 4280 did not fully fixed this bug)
Road map: Gerber X2 file function extension marked done in Pcbnew and Gerbview
2014-12-16 19:58:26 +01:00
Wayne Stambaugh 91c0868985 Update road map. 2014-12-14 16:42:28 -05:00
Wayne Stambaugh 8814d67034 Update road map document. 2014-10-29 16:02:50 -04:00
Wayne Stambaugh 5c952a2afa Add stable release policy to developers documentation.
* Write stable-release-policy.md for upcoming stable release.
* Remove unused Doxygen options from Doxyfile.
2014-10-18 11:37:08 -04:00
Wayne Stambaugh 99f30c9d38 Road map and Doxygen work.
* Remove obsolete settings from Doxygen configuration file.
* Fix some Doxygen warnings.
* Add the board edge segment snapping to developers road map.
* Fix some coding style issues in CMakeLists.txt
2014-10-05 21:18:24 -04:00
Wayne Stambaugh 0db76ecb14 Add gerber file attributes to road map. 2014-05-22 16:10:49 -04:00
Wayne Stambaugh 012b508622 Add DRC and website improvements to road map. 2014-05-22 15:50:49 -04:00
Wayne Stambaugh 4e9582c3ab Add road map to developer's documentation.
- Create KiCad road map document.
- Add road map to developer's documentation.
- A separate road map build command to CMake so the road map can be built
  separately for use in websites.
- Update .bzrignore to ignore road map files generated by Doxygen.
2014-05-18 19:37:45 -04:00