Commit Graph

395 Commits

Author SHA1 Message Date
jean-pierre charras 72d1597201 DXF import: add import of DXF splines that are converted to Bezier curves.
Fix also a lot of bugs related to Bezier curves (S_CURVE shape in DRAW_SEGMENT class) in Pcbnew code.
Add missing code to handle these Bezier curves
2018-07-22 18:39:47 +02:00
Maciej Suminski 850aac5ec5 Set OpenGL_GL_PREFERENCE for CMake 3.11+ 2018-06-11 10:27:49 +02:00
Jean-Samuel Reynaud d4393b2813 Fix incorrect Eeschema BOM plugins install path on Linux.
Fixes lp:1697041

https://bugs.launchpad.net/kicad/+bug/1697041
2018-06-01 14:09:08 -04:00
Seth Hillbrand 584409b2ef Make OpenCascade more secondary
The opencascade patch intrusively checked against libraries but broke
some build scripts.  This restores the default cmake OCE behavior that was
changed by 2bab30d9a and makes the OpenCascade search truly secondary.
2018-05-15 06:40:25 -07:00
Seth Hillbrand 2bab30d9ac Allow Kicad to use OpenCascade
Adds the option of using OpenCascade not just the community edition.

Fixes: lp:1628950
* https://bugs.launchpad.net/kicad/+bug/1628950
2018-05-11 17:04:32 -07:00
Wayne Stambaugh 5d71153eab Fix macos build bug caused by commit 2f5fdcf3. 2018-04-30 15:47:50 -04:00
Simon Richter 2f5fdcf329 Don't reference CMAKE_INSTALL_PREFIX in installation paths
This is substituted at configuration time, creating an absolute path, which
breaks overriding CMAKE_INSTALL_PREFIX at installation time, breaking the
workflow for installation using GNU stow.
2018-04-30 10:32:15 -04:00
Seth Hillbrand b46fc7fe9c Adding option for Cmake-based DISTCC/CCACHE 2018-04-16 16:28:15 -07:00
Ievgenii Meshcheriakov 89bf02adb7 Define GLM_FORCE_CTOR_INIT during build
This ensures that GLM objects are still initialized correctly when new
version of this library are used (after 0.9.9-a2).

This also fixes display corruption in 3D-viewer with Raytracer.

Fixes: lp:1762379
* https://bugs.launchpad.net/kicad/+bug/1762379
2018-04-13 14:45:16 +02:00
Jon Evans b813eac254 Omit unnecessary scripts directory from MacOS build output 2018-03-30 22:56:51 -04:00
Bernhard Stegmaier 8f42e128da Fix missing C++-11 compiler flags when building on macOS with non-Xcode clang 2018-03-04 15:00:43 -05:00
Maciej Suminski fad0452c0e Fix builds with scripting disabled
Fixes: lp:1750853
* https://bugs.launchpad.net/kicad/+bug/1750853
2018-02-21 17:46:57 +01:00
Maciej Suminski dd04bcbcbf Make the wxWidgets toolkit test Linux specific
Other platforms (Windows, macOS) have only one base toolkit,
so there is no mismatch risk.
2018-02-21 11:44:32 +01:00
Maciej Suminski 1013f81608 Fix wxWidgets toolkit detection for msys2 builds 2018-02-20 20:33:02 +01:00
Maciej Suminski 792e9015ac CMakeLists: compare wxWidgets and wxPython toolkits
Having wxWidgets and wxPython build using different toolkits leads
to an unusable build. KiCad executables are linked against wxWidgets
shared libraries, which will be in conflict with wxPython ones that
are loaded at runtime. We cannot easily solve it, so at least warn
the users about expected problems.

More information:
https://forum.kicad.info/t/9493
https://bugs.launchpad.net/kicad/+bug/1746753
2018-02-20 17:51:50 +01:00
Maciej Suminski c3197a5906 CMakeLists: detect gtk3 using wx-config 2018-02-17 21:00:16 +01:00
Maciej Suminski 4561b2cba9 GTK3: Display a warning and enable wxGraphicsContext 2018-02-08 11:07:25 +01: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
Tomasz Włostowski 8df299a6bc pcbnew: Optimized zone filling algorithm: code cleanup 2017-12-05 14:54:57 +01:00
Tomasz Włostowski 316ddadec1 pcbnew: Optimized zone filling algorithm. 2017-12-05 14:54:57 +01:00
Nick ?stergaard c74437a44e Remove unused custom cmake target
This target seems to only create empty makefiles, tested on linux. And I
can not find any references to it in any of the current CMakeLists. Lets
remove it.
2017-12-03 18:21:40 -05:00
Marvin Schmidt c21a2a8a55 build: Don't install *.bat scripts on Unix 2017-11-09 19:52:17 +01:00
Marvin Schmidt 8a62aeb18d build: Remove dead code 2017-11-09 19:52:17 +01:00
Marvin Schmidt f9516cb48c build: Use CMAKE_INSTALL_DATADIR 2017-11-09 19:52:17 +01:00
Marvin Schmidt b6c3d4eb32 build: Don't install INSTALL.txt 2017-11-09 19:52:17 +01:00
jean-pierre charras 4e391ef21c Housekeeping: remove no more in use options. 2017-11-02 21:01:32 +01:00
jean-pierre charras e2d3fcec02 Add support for custom pad shape. Full support in DRC and PnS.
add option to use shape or convex hull as clearance area in zones.
simplify code to handle clearance area
2017-09-19 09:02:53 +02:00
Lubomir Rintel 862711b71a Add AppStream metadata
This will ensure KiCad will be easily installable from the app stores such
as GNOME Software.

The screenshots probably need a better home. Not that it would matter
too much -- the Linux distributions do cache them with their feeds, so
the app store applications don't access them from this source directly.

Screenshots from the web [1] can't be used since they are too large for
use in the app store application. :(

[1] http://kicad-pcb.org/discover/screenshots/

Fixes lp:1323789

https://bugs.launchpad.net/kicad/+bug/1323789
2017-04-27 19:00:38 -04:00
Vlad Ivanov 1e25c47362 cmake: use GNUInstallDirs to obtain lib/lib64 path
Fixes lp:1679795

https://bugs.launchpad.net/kicad/+bug/1679795
2017-04-10 16:21:50 -04:00
jean-pierre charras c9ff885c1d Cmakelists: remove no longer used boost libraries from required boost components lists 2017-04-07 16:57:17 +02:00
Wayne Stambaugh 9c2ebf32f1 Initial symbol library table implementation prep work.
Add loading symbol library table code to schematic PROJECT object.

Fix minor issues with loading global symbol library table.

Add default symbol library path environment variable to the environment
variable list and change the variable name to KICAD_SYMBOL_DIR.

Add code to SCH_SCREENS to test if all library nicknames of the symbol
library IDs are empty.

Remove unnecessary KICAD_USE_SCH_IO_MANAGER build option.
2017-03-31 16:29:34 -04:00
Chris Pavlina 849b3c2a4b Add footprint select dropdown to component chooser, serious refactoring
- DIALOG_CHOOSE_COMPONENT has footprint select widget
- FOOTPRINT_SELECT_WIDGET
- FOOTPRINT_CHOICE widget (customized wxComboCtrl)
- FOOTPRINT_FILTER class
- FOOTPRINT_INFO rework:
    - FOOTPRINT_ASYNC_LOADER to load without freezing UI
    - Rewrite loader threads as queue-driven thread pool
    - Make FOOTPRINT_INFO available via kiway
- FP_LIB_TABLE::PrefetchLib
- Access to global fp-lib-table via kiway
- SYNC_QUEUE threadsafe queue template
- Remove KICAD_FOOTPRINT_SELECTOR build option
2017-03-24 09:20:27 -04:00
Tomasz Włostowski eedf7cb243 Switched coroutine library from Boost libcotext to custom libcontext.
Fixes lp:1658249

https://bugs.launchpad.net/kicad/+bug/1658249
2017-03-07 11:45:29 -05:00
jean-pierre charras e7e972804a Make show/hide icons in menus a run time option, instead of compil option. 2017-03-02 15:45:54 +01:00
Simon Richter 986c92f880 Remove unnecessary double define
CMake already sets NDEBUG by default for Release builds, no need to duplicate this.
2017-02-23 14:54:11 -05:00
jean-pierre charras 11dcb76fc9 Add -Wshadow compil option, if exists to warn about shadowed variables.
Swig auto generated .cxx file has a lot of shadowed variables, so this option cannot be used to compil all files.
2017-02-23 13:17:23 +01:00
Chris Pavlina 2632b1d1a0 Revamp component chooser and add footprint preview
This commit brings several changes:

- Add a footprint preview pane to the eeschema component selector
- Upgrade component list to wxTreeListCtrl
- Factor out wxTreeListCtrl subclass TWO_COLUMN_TREE_LIST which
  patches a column size bug
- Linkify datasheet URL in info pane
2017-02-18 21:39:55 -05:00
Simon Richter 632cce7aa7 Reduce minimum required Pixman version
The newest version is 0.34. 1.0 doesn't exist, this only worked because
there is no actual version test.
2017-02-01 19:22:36 -05:00
Jean-Samuel Reynaud 5ef3e5a15d Pcbnew: Add ACTION_PLUGINS class. It allows loading python scripts in footprint editor and run them from the Tools/External Plugins menu
This plugin mechanism is enabled only if option -DKICAD_SCRIPTING_ACTION_MENU=ON (it is off by default)
It imply -DKICAD_SCRIPTING=0N
This is currently for testing purposes only for developers, not yet for users.
2017-01-23 13:27:49 +01:00
Tomasz Włostowski da28e163d2 Optimizations/fixes to the VIEW/GAL classes:
- much faster Cairo rendering (outperforms legacy)
- improvements in VIEW update handling
- fixed issue with grid rendering in flip view mode
2016-12-12 16:45:52 +01:00
Wayne Stambaugh 03da56a9b5 Minor version string generation improvements.
Remove the KICAD_REPO_NAME option from the main cmake file and the
generated config.h file since it is no longer used.

Set the default branch name to "undefined" in CreateGitVersionHeader.cmake
instead of the KICAD_REPO_NAME option.

Remove generating KICAD_FULL_VERSION from CreateGitVersionHeader.cmake
and add it to WriteVersionHeader.cmake so that the default settings and
the new KiCadVersion.cmake definitions can be used to generate the full
version string as well.

Check to see if the branch name is set and only use the version to
generate the full version string.  This allows the use of the KiCad
version cmake file to create a version only string like "4.0.4" with
no trailing branch name.

Change build_version.cpp to use the full version string rather than
concatenating the version and branch strings.
2016-10-12 20:29:46 -04:00
decimad 4248a7ffce remove boost::thread dependency 2016-10-09 10:33:52 -04:00
John Beard 6504b7b55c Disable -Wsuggest-override for scripting files, but not other files
This allows the warning to be active for code which would benefit from
it, but not spew hundreds of warnings for code over which KiCad does not
have control of the override specifiers.
2016-10-05 10:43:56 -04:00
jean-pierre charras c9fec4a4ed Do not use -Wsuggest-override option if KICAD_SCRIPTING is enabled because it creates too many useless warnings when compiling pcbnewPYTHON_wrap.cxx 2016-09-30 18:38:23 +02:00
Simon Richter ff41c8f7cb Warn about missing override specifiers, if supported (gcc 5.1, clang 3.5) 2016-09-25 13:59:41 -04:00
Dick Hollenbeck 45f6f8b305 Remove experimental code added during swig work. 2016-09-22 10:51:29 -04:00
Dick Hollenbeck 7311f07eaf SWIG Improvements
*) Extend SWIG support deeper into the BOARD class.
*) Move swig *.i files into a directory identified for SWIG, in preparation
   for a parallel universe involving Phoenix's SIP.
*) Move swig files which will be common to both eeschema and pcbnew into
   common/swig.
*) Sketch out a "common" python module, and plan on dovetailing that into a
   libkicad_shared.{dll,so}
*) Add common/swig/ki_exceptions.i and define a macro HANDLE_EXCEPTIONS()
   which is to be applied to any function which needs C++ to python
   exception translation.
*) Move the test for SWIG tool into top level CMakeLists.txt file for use
   in all python modules beyond pcbnew, i.e. eeschema and common.
*) Add SWIG_MODULE_pcbnew_EXTRA_DEPS which generates a better Makefile, one
   which rebuilds the swig generated *.cxx file when one of its dependencies
   change.
*) Re-architect the board.i file so that it can be split into multiple *.i
   files easily.
*) Make some KIWAY from python progress, in preparation for Modular KiCad
   phase III.
2016-09-20 11:59:43 -04:00
Niki Guldbrand c689c8cc3f Remove redundant data in defines.
* Using CMAKE_INSTALL_PREFIX in KICAD_* install paths is redundant,
  because they are allready relative to CMAKE_INSTALL_PREFIX when no
  absolute path is given.
  Using an absolute path makes it harder to change the install
  path on the fly, without either rebuilding, or manually editing
  CMakeCache.txt

Signed-off-by: Niki Guldbrand <niki.guldbrand@gmail.com>
2016-09-16 09:09:56 -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
Chris Pavlina 7318238daa Update version string formatting after git migration
It is no longer necessary (or sensible) to include a simulated bzr
revision number, and we can reliably get a branch name now. Therefore,
the new version strings look like:

(2016-08-26 revision 67230ac)-master
 |                   |        |
 |                   |        branch name, "HEAD" if not on a branch,
 |                   |          or "unknown" if no .git present
 |                   |
 |                   abbreviated commit hash, or no-git if no .git
 |                     present
 |
 date of commit, or date of build if no .git present

Signed-off-by: Chris Pavlina <pavlina.chris@gmail.com>
2016-09-09 20:19:54 -04:00