Commit Graph

228 Commits

Author SHA1 Message Date
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
John Beard 6165a735ae Docs: update doxygen docs logo
The logo used was subtly different to the official KiCad
logo - different font weight and corner rounds.
2018-08-06 11:06:24 -04: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
Carsten Schoenert a11714b1a4 fix misspelled 'an other' -> 'another' 2018-04-08 13:24:37 -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
Russell Oliver 3b0855d204 Eagle Project Import: Code cleanup and documentation.
- Also makes the project and file import functions filetype dependent.
- The change from IO_MGR::KICAD to IO_MGR::KICAD_SEXP removes a conflict from a compile definition for KICAD when compiling kicad/import_project.cpp
2017-10-20 08:58:40 +02: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
Nick Østergaard 6767ea7bbf Update the REAMDE.txt to reflect the current structure
The old changelog was archived together with the others in
Documentation/changelogs.
2016-09-16 16:43:19 -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 a23e7129d4 Remove GUI translation how to as it is now maintained in the KiCad I18N project on GitHub. 2016-01-25 16:57:52 -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
Wayne Stambaugh bd436aa6a7 Developer documentation clean up.
* Remove push and shove router documentation which is maintained in the
  user documentation.
* Remove coding_style_policy.pdf since it is know automatically generated
  with the developers documentation and linked on the KiCad website.
* Merge the contents of rules_for_capitalization_in_Kicad_UI.txt into
  UIPolicy.txt.
* Remove rules_for_capitalization_in_Kicad_UI.txt.
2016-01-03 16:53:20 -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
jean-pierre charras 3907de0289 Modedit: fix Bug #1471020 (user grid not stored) 2015-07-03 10:15:37 +02:00
jean-pierre charras c48a417dcd Pcbnew: Replace wxComboBoxes by wxChoice in auxiliary horizontal toolbar, to try to avoid issues on OSX (combo boxes not responding to mouse clicks). 2015-07-02 14:51:27 +02:00
Maciej Suminski 18fa766f53 Updated OS X pinch-to-zoom patch. 2015-05-21 23:29:26 +02:00
Maciej Suminski 162ac38639 Added a note about the Retina OpenGL patch. 2015-05-21 11:15:35 +02:00
Maciej Suminski 9a6deaebac Removed WEBKIT entries from documentation. 2015-03-30 23:29:04 +02: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 de8ae428fd Minor fixes (typo in messages) 2014-12-30 18:15:46 +01: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
Bernhard Stegmaier b495ad0374 OSX build fixes.
* Make defintion of OSX build target a requirement.
* Update OSX build documenation to reflect build changes.
* Update OSX build script to reflect build changes.
2014-11-28 12:34:00 -05:00
jean-pierre charras 8da93abcb8 Polygon tools: update Clipper lib to 6.2.1
Minor doc update.
2014-11-12 18:58:39 +01: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
Bernhard Stegmaier f06bfe6d70 Commit the rest of the OSX build fixes missed in the previous commit. 2014-10-17 13:45:33 -04:00
Berhnard Stegmaier b8d1789a22 OSX build fixes and improvements.
* Fix creation of single app bundle with respect to scripting support.
* Cleanup scripting search paths for OSX.
* Fix some small CMake bugs from previous OSX build change.
* Optimize bundle file structure to be consistent with Apple specs.
* Add helper script for compiling wxWidgets and wxPython
* Update OSX build instructions.
2014-10-08 14:41:36 -04:00
Wayne Stambaugh 0b2cadbcca Fix minor OSX errors in the OSX build documentation. 2014-10-07 15:15:17 -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
Bernhard Stegmaier 8b3c14c08b OSX build improvements.
* Compile all binaries into a single application bundle.
* Use CMake BundleUtilities to make application bundle relocatable.
* Restructure build output to directly create an image file.
* Fix default search paths.
* Set KIGITHUB environment variable.
* Added patch to fix wxWidgets so names for OSX.
2014-10-02 19:03:52 -04:00
unknown cfed0a7202 Add interactive router doc, from Tomasz Wlostowski (see github.com/twlostow/kicad-dev/blob/junk/Documentation/interactive_router)
Remove the outdated pns_router.txt file.
2014-07-21 13:15:54 +02: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
Dick Hollenbeck 6bfff89fe5 merge tip in, resolve. 2014-03-20 01:24:33 -05:00
Dick Hollenbeck 2c67c3ff80 * KIWAY Milestone A): Make major modules into DLL/DSOs.
!   The initial testing of this commit should be done using a Debug build so that
    all the wxASSERT()s are enabled.  Also, be sure and keep enabled the
    USE_KIWAY_DLLs option.  The tree won't likely build without it.  Turning it
    off is senseless anyways.  If you want stable code, go back to a prior version,
    the one tagged with "stable".

*   Relocate all functionality out of the wxApp derivative into more finely
    targeted purposes:
    a) DLL/DSO specific
    b) PROJECT specific
    c) EXE or process specific
    d) configuration file specific data
    e) configuration file manipulations functions.

    All of this functionality was blended into an extremely large wxApp derivative
    and that was incompatible with the desire to support multiple concurrently
    loaded DLL/DSO's ("KIFACE")s and multiple concurrently open projects.
    An amazing amount of organization come from simply sorting each bit of
    functionality into the proper box.

*   Switch to wxConfigBase from wxConfig everywhere except instantiation.
*   Add classes KIWAY, KIFACE, KIFACE_I, SEARCH_STACK, PGM_BASE, PGM_KICAD,
    PGM_SINGLE_TOP,
*   Remove "Return" prefix on many function names.
*   Remove obvious comments from CMakeLists.txt files, and from else() and endif()s.
*   Fix building boost for use in a DSO on linux.
*   Remove some of the assumptions in the CMakeLists.txt files that windows had
    to be the host platform when building windows binaries.
*   Reduce the number of wxStrings being constructed at program load time via
    static construction.
*   Pass wxConfigBase* to all SaveSettings() and LoadSettings() functions so that
    these functions are useful even when the wxConfigBase comes from another
    source, as is the case in the KICAD_MANAGER_FRAME.
*   Move the setting of the KIPRJMOD environment variable into class PROJECT,
    so that it can be moved into a project variable soon, and out of FP_LIB_TABLE.
*   Add the KIWAY_PLAYER which is associated with a particular PROJECT, and all
    its child wxFrames and wxDialogs now have a Kiway() member function which
    returns a KIWAY& that that window tree branch is in support of.  This is like
    wxWindows DNA in that child windows get this member with proper value at time
    of construction.
*   Anticipate some of the needs for milestones B) and C) and make code
    adjustments now in an effort to reduce work in those milestones.
*   No testing has been done for python scripting, since milestone C) has that
    being largely reworked and re-thought-out.
2014-03-19 19:42:08 -05:00
jean-pierre charras ab27f56cc7 Doc update 2014-03-14 08:37:04 +01:00
Blair Bonnett 64da190e37 Build documentation updates and comment spelling fixes. 2014-02-22 18:17:36 -05:00
Fabrizio Tappero 28e6356250 Patch from Fabrizio Tappero: better kicad and eeschema menu entries and labels, which minor fixes. 2014-02-21 08:54:13 +01:00
Marco Serantoni 932c92af55 [MacOSX] New reorg for building system, typos and path refines 2014-02-19 22:39:21 +01:00
jean-pierre charras 63eac42d07 Fix a minor error in class D_PAD: void D_PAD::Flip( int Y ) changed to virtual void D_PAD::Flip( const wxPoint& aCentre ) (as defined in BOARD_ITEM)
Scripting: fix compatibility current pcbnew version in 2 examples and the default extension of board files  in board.i (was .kicad_brd, now is .kicad_pcb)
2014-02-13 18:27:48 +01:00