aris-kimi
22bca5c2a0
Disable link maps by default and fix compile issue with lld linker
...
The link maps were actually disabled by default before
912f1d5cec
, and required KICAD_MAKE_LINK_MAPS
to be provided to enable them. So switch back to disabling them by
default.
Also, The lld linker is unable to accept a single dash cref option, while
ld and gold can. Instead, use the double dash version that is supported
by all three.
xref: https://github.com/llvm/llvm-project/issues/60932
Co-authored-by: aris-kimi <aris_kimi@hotmail.com>
Co-authored-by: Ian McInerney <ian.s.mcinerney@ieee.org>
2023-02-22 23:18:36 +00:00
Ian McInerney
912f1d5cec
Modernize setting link map linker flags
2023-02-22 01:44:06 +00:00
Ian McInerney
bcb93e9aa7
Modernize setting of compiler definitions in CMake
...
add_compile_definitions was added in 3.12, and our minimum is now
greater than that.
2023-02-22 01:44:06 +00:00
jean-pierre charras
90c5ede1e6
pcbnew: move DIALOG_PAD_PROPERTIES_BASE from dialog_pad_properties to its own files.
...
dialog_pad_properties_base.fbp included to many dialog descriptions.
2023-01-17 09:44:28 +01:00
qu1ck
a369fd6a9c
Fix swig optimization flag causing incompatible codegen
2023-01-08 00:55:21 +00:00
Seth Hillbrand
6271917682
Remove deprecated -py3 flag, use -O for swig
2023-01-04 11:32:15 -08:00
Marek Roszko
8ab9934143
Use our own cmake module path variable to avoid conflicting with the main ones listy functional
2023-01-03 19:18:16 -05:00
Marek Roszko
020f8f61db
Let's try fixing the doxygen-python again
2022-12-23 23:11:04 -05:00
Marek Roszko
e152cf0a92
Undo one doxygen-python build change, remains broken
2022-12-22 21:35:21 -05:00
Marek Roszko
8bfec30761
Fix the pcbnew.py dependency causing the doxygen to fail
...
The doxygen-python target recreates pcbnew.py that got deleted by xml-to-docstrings
2022-12-21 23:49:23 -05:00
Marek Roszko
caeb579174
Fix the dependencies for the python doxygen build
...
DEPENDS was being used for targets which is invalid for add_custom_target...as confusing as that is.
It is files only.
2022-12-21 23:39:35 -05:00
Simon Richter
b5cb9eccbf
Generate dependency files from Swig
...
The wrapper is only rebuilt if one of the files that were parsed during
generation has changed.
2022-12-15 23:42:07 +00:00
Jeff Young
c0872364d4
Get rid of bloated bitmap buttons on wxWidgets 3.2.
2022-12-13 20:48:02 +00:00
Alexander Dewing
02325130fa
Initial arm64 work
2022-12-09 23:48:31 +00:00
Jon Evans
64f315c649
Move properties panel to widgets with the other AUI panels
2022-11-27 22:40:23 -05:00
jean-pierre charras
f51db4e093
Fix some Coverity and compil warnings.
2022-11-14 09:02:40 +01:00
Marek Roszko
cedef5912e
Link to zlib for pcbnew due to step
2022-11-13 17:58:41 -05:00
jean-pierre charras
49ff3513e7
Add missing lib (libz) in lib list to link on msys2
2022-11-13 09:29:48 +01:00
Marek Roszko
3dd2ae762d
Refactor step export to use our normal board processing routines
2022-11-12 21:27:10 -05:00
Marek Roszko
cd30da179a
Round out the cli with position file export
2022-11-07 19:53:35 -05:00
Marek Roszko
bc45ae1b72
Move a dialog that was hiding in the filetree
2022-11-02 22:30:46 -04:00
Jeff Young
11dc5424cb
Pull interactive courtyard checker out of move tool to share with router.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12594
2022-10-14 00:48:37 +01:00
Marek Roszko
aaa1d166a7
Redirect step export output to a pretty window
2022-10-08 09:48:00 -04:00
Marek Roszko
3fe004fd1b
New kicad-cli will now be the cli interface
2022-10-04 22:24:13 -04:00
Mark Roszko
fb8a4c10f7
Shove kicad2step into pcbnew itself with a new cli
2022-10-04 01:53:37 +00:00
Alex
4095172259
ADDED: Pack and Move Footprints, improved footprint spread algorithm.
2022-09-28 13:37:23 +00:00
Mark Roszko
b00178adb3
Nuke base_units from orbit
2022-09-16 04:38:10 +00:00
jean-pierre charras
397a93029e
Fix some outdated things (mainly about fix_swig_imports.py, useless with swig version 4)
...
Fixes #12414
https://gitlab.com/kicad/code/kicad/issues/12414
2022-09-14 13:36:43 +02:00
Mark Roszko
f304e2d4f6
ADDED: Search/inspect pane
2022-09-14 02:59:57 +00:00
Marek Roszko
fc99b3ba95
Don't link gdiplus everywhere anymore
...
Tested on msys2 which is the only place it would have been buggy
CMake seems to share the gdiplus linkage with the other dependencies automatically now
2022-08-23 23:51:35 -04:00
Maciej Suminski
f6f6ebd5f9
WIP: Properties GUI
2022-08-22 21:32:32 -04:00
Marek Roszko
b6b4ae959e
Shuffle around the helper script folders
2022-07-21 19:04:08 -04:00
Mike Williams
d44e34d513
Images: Add full properties editor
...
Converts dialog_image_editor to panel_image_editor. Embeds this panel in
a new properties dialog for the schematic and PCB editors that allows
editing position, layer, locked status, etc. like other items.
2022-07-14 11:23:23 +00:00
Mike Williams
3669cb4673
PCB Editor: Add User Background Images
2022-07-14 11:23:23 +00:00
Seth Hillbrand
3081023b5e
ADDED: Minimum copper connection width DRC check
...
Checks all copper connections in each net/layer for minimum width
setting.
Fixes https://gitlab.com/kicad/code/kicad/issues/9870
2022-07-11 19:26:56 +00:00
Ian McInerney
4e4b0962db
Create python subdirectory in pcbnew build for the symlink
2022-06-25 01:10:20 +01:00
Seth Hillbrand
03c279ffd4
ADDED: Threadpool
...
Thread pools are long-lasting executors that have close to zero overhead
when launching new jobs. This is advantageous over creating new threads
as we can use this for threading smalling jobs and smaller quanta. It
also avoids the heuristics needed to determine the optimal number of
threads to spawn
2022-06-24 22:59:24 +00:00
Ian McInerney
f303d78723
Fix install of _pcbnew.so to allow DESTDIR to be used with it
...
We need to use the install directive to do an install so that the
install process uses all the variables correctly. So create a temporary
symlink in the build directory that points to nowhere and then install
that.
2022-06-23 23:15:49 +01:00
Ian McInerney
44a8f1e6e6
Create the symlink for the python module in the build tree as well
...
The unit tests need the python module to be loadable, so there needs to
also be a symlink to the kiface inside the build directory.
2022-06-23 00:27:35 +01:00
Ian McInerney
9bb5beb264
Use symlink to pcbnew kiface for python module on Linux
...
Instead of installing an identical shared library into the Python
folder, just use a link to the existing library instead.
Fixes https://gitlab.com/kicad/code/kicad/issues/9974
2022-06-22 23:40:29 +01:00
Ian McInerney
b51d8c9825
Introduce new CMake variable to store kiface install location
2022-06-22 23:40:25 +01:00
Seth Hillbrand
3ddd287004
Revert "Fixup python module install"
...
This reverts commit 6fd60c5561
.
Worked only for a single make. Second run fails due to missing file
2022-06-22 14:11:59 -07:00
Seth Hillbrand
6fd60c5561
Fixup python module install
...
INSTALL(FILE) does not handle setting linux-specific attributes in the
same way that INSTALL(TARGET) does. This patch is suggested by
StefanBruens
Fixes https://gitlab.com/kicad/code/kicad/issues/9974
2022-06-22 13:29:08 -07:00
jean-pierre charras
57e59a4959
Pcbnew, on line DRC when moving footprints: add visible collisions between courtyards
2022-05-20 12:58:05 +02:00
Jeff Young
deeb7d4d6d
Make use of board stackup data when exporting VRML.
...
Specifically layer colors and board thickness.
Fixes https://gitlab.com/kicad/code/kicad/issues/11627
2022-05-19 23:58:33 +01:00
Jeff Young
30ecca464d
Rename mechanical_clearance -> physical_clearance.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11554
2022-05-06 15:54:46 +01:00
Jeff Young
e6684bf7c7
Add footprint checks to board-level DRC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11437
2022-04-23 11:34:18 +01:00
Marek Roszko
b8557e77ee
Tweak the "pyd" extension if for windows to be completely inclusive
2022-03-12 09:22:01 -05:00
jean-pierre charras
f14ef477cc
Fix a incorrect filename in a copy command (MSW specific).
...
Also fix a regression and respect the KICAD_BUILD_QA_TESTS build option.
2022-03-12 11:04:57 +01:00
qu1ck
a041492736
SWIG mappings for all shapes
2022-02-16 20:58:52 +00:00
Seth Hillbrand
917845cf00
Ensure we can version scripting properly
...
Adds Version() and FullVersion() calls to support reporting version to
scripts and scripting window
Fixes https://gitlab.com/kicad/code/kicad/issues/10079
(cherry picked from commit 0a13f15a9d
)
2022-02-03 15:59:10 -08:00
Seth Hillbrand
098e8f7d9b
Revert "cmake: adding KICAD_MACOSX_APP_BUNDLE option"
...
This reverts commit ea9f960cc1
.
Reverted for updates as this currently breaks kicad-mac-builder
2022-01-31 15:57:56 -08:00
Jeff Young
5739505aa3
TextBoxes for PCBNew.
2022-01-31 20:00:47 +00:00
Davide Gerhard
ea9f960cc1
cmake: adding KICAD_MACOSX_APP_BUNDLE option
...
ADDED: with cmake KICAD_MACOSX_APP_BUNDLE option the user can disable
the macOS app bundle creation when compiling on macOS. This permit to
use/install KiCad like any other *nix platform (/usr/bin, /usr/share,
ecc.). By default, cmake build the app bundle.
2022-01-28 15:49:37 -08:00
markus-bonk
8663a399ac
Move pcbnew_navlib compilation into pcbcommon.
...
Although pcb_base_frame.cpp is in the pcbnew source tree, it is compiled
and included in pcbcommon.lib. Because pcb_base_frame has a dependency
on pcbnew_navlib, the latter also needs to be included in pcbcommon to
avoid linkage issues.
The superfluous references to pcbnew_navlib in the qa projects have been
removed.
2022-01-28 12:21:42 +00:00
markus-bonk
87d7bdbd5e
* PCB_EDIT_FRAME: Implement SpaceMouse navigation and command export for 3D-viewer.
...
Added full support for using a 3Dconnexion device in PCB_EDIT_FRAME. Commands are exported and can be assigned to 3D mouse buttons. Any limitations to the functionality are limitations of the installed 3Dconnexion driver for the device and OS.
Use build option KICAD_USE_3DCONNEXION (default = ON) to control whether the SpaceMouse support is compiled into the solution.
2022-01-28 12:21:42 +00:00
jean-pierre charras
d42514ad30
Add code and dialog to create/add/remove teardrops, step 1
2022-01-10 20:04:40 +01:00
jean-pierre charras
5879227ee2
Update footprint wizards after changes wxPoint->VECTOR2I
2022-01-03 11:43:15 +01:00
Simon Richter
d25fe17b28
Bump minimum required CMake version to 3.11
...
Signed-off-by: Marek Roszko <mark.roszko@gmail.com>
2022-01-01 21:35:08 -05:00
Marek Roszko
3f711b8958
Add win32 VERSION_INFO resource blocks for the DLLs
2021-12-28 23:54:27 -05:00
Jeff Young
b4c5e64db2
Exclusions for Unconnected Items; Markers & exclusions for Parity checks
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5589
Fixes https://gitlab.com/kicad/code/kicad/issues/5504
2021-12-24 21:10:28 +00:00
Jeff Young
d28714167c
All the preferences, all the time.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7877
Fixes https://gitlab.com/kicad/code/kicad/issues/5153
2021-12-24 13:08:44 +00:00
Jeff Young
f1410f0240
Line styles for PCBNew shapes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2150
2021-12-24 12:36:59 +00:00
Jeff Young
3f64b69917
Mechanical clearance rules.
...
ADDED mechanical_clearance and mechanical_hole_clearance constraints.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
2021-12-23 22:31:21 +00:00
Jeff Young
a48867ea01
Solder mask integrity testing.
...
ADDED DRC test for solder mask aperture bridging copper from different
nets.
ADDED visualization of minimum web width processing for solder masks.
ADDED allow_soldermask_bridges property for footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
Fixes https://gitlab.com/kicad/code/kicad/issues/1792
2021-12-23 22:31:14 +00:00
Jeff Young
533276e6b6
Copper sliver checking.
...
ADDED DRCE_COPPER_SLIVER DRC error.
ADDED ADVANCED_CFG DRCSliverWidthTolerance and DRCSliverAngleTolerance.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
2021-12-23 22:31:05 +00:00
Jeff Young
32721755bf
Hook up zone-pad connections to custom rules.
...
ADDED zone_connection constraint.
ADDED thermal_relief_gap and thermal_spoke_width constraints.
ADDED angle override for thermal relief spokes in Pad Properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/4067
2021-12-23 22:30:26 +00:00
Jeff Young
2001d08186
Add DRC tests for text height and text thickness.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8683
2021-12-23 19:18:45 +00:00
Jeff Young
0a609dd48d
Add footprint library checking to DRC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6821
2021-12-23 19:18:45 +00:00
Seth Hillbrand
d202b78dc4
Fix disable warnings to be compatible
...
GCC and Clang both support the short mnemonic `-w` to disable warnings,
so use that to be compatible
Fixes https://gitlab.com/kicad/code/kicad/issues/9446
2021-10-24 07:30:39 -07:00
Jeff Young
a41944020d
Push most of PCB_SHAPE impl down in to EDA_SHAPE.
2021-10-15 12:45:43 +01:00
Marek Roszko
74fd23f573
Add (off by default) build option to link kicad2step directly into pcbnew
...
Because debugging it separately is annoying.
2021-09-11 22:56:16 -04:00
Jeff Young
e6ca9837a2
Clear numbers from non-numberable pads and don't run DRC on them.
...
This was also the last straw on the misnamed PAD::GetName() and
PAD::SetName(), which are now PAD::GetNumber() and PAD::SetNumber().
Fixes https://gitlab.com/kicad/code/kicad/issues/9017
2021-08-24 01:03:06 +01:00
Seth Hillbrand
ad8acd328c
Expunge some remaining references to kicad-pcb
2021-07-30 20:27:45 -07:00
Ian McInerney
1a4a3400ba
Split the footprint 3d model panel into its own class
...
This allows it to be shared by both the PCB editor properties dialog
and the fpeditor dialog.
2021-07-28 20:56:17 +01:00
Marek Roszko
c794a6ce7a
Add pdb install option for msvc
2021-07-14 23:42:45 -04:00
Jeff Young
81fc710a5d
Use consistent terminology.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8681
2021-06-26 10:11:41 +01:00
Jeff Young
16b0147af8
Prefix DIMENSION types.
2021-06-11 17:59:44 +01:00
Marek Roszko
10e60acf34
Clean up including of board_design_settings.h
2021-06-06 15:03:42 -04:00
Ian McInerney
2533fb22b3
Add the new pcb item container header to the SWIG wrapper
2021-06-04 12:49:11 +01:00
Ian McInerney
23f8851409
Remove pcb_group include from board header
2021-06-03 20:03:31 +01:00
Ian McInerney
7bbf1b07b7
Fixup to expose PCB_GROUP in Python
2021-06-03 20:00:45 +01:00
Seth Hillbrand
88e4b7f7c4
Update Python Helpers
2021-06-01 20:18:24 +00:00
Seth Hillbrand
adf885b667
Move pcbnew swig
...
Separates the python scripts into those using swig and those needed for
other scripting
2021-06-01 20:18:24 +00:00
Seth Hillbrand
bf1437899e
Add Python Tool to pcbnew
2021-06-01 20:18:24 +00:00
Seth Hillbrand
c7d188a8d0
Centralizing SCRIPTING class
2021-06-01 20:18:24 +00:00
Seth Hillbrand
81d58bcea9
Working python window
2021-06-01 20:18:24 +00:00
Jeff Young
4c3d78dec0
Break out separate holes-co-located violation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8456
2021-05-20 10:36:56 +01:00
jean-pierre charras
b63c482347
Fix a link issue with pcbnew_wrap.cxx (MSYS + Windows 64 bits specific)
...
For some reason the .cxx file generated by SWIG cannot be linked if compiled
with debug options.
It creates a *lot* of not found symbols. So compile it with release mode (MSYS only)
2021-04-27 07:40:34 +02:00
Adam Wolf
25e2f35308
Remove no-longer-needed macOS wxPython things.
2021-04-21 12:50:31 +00:00
Adam Wolf
7357424efc
Update macOS to Python 3, wx 3.1, and Phoenix.
...
This is a work-in-progress. It could use testing while I continue to fix
the remaining pieces.
There are some changes that will be needed for signing and notarization.
This currently relies on a Python tool I wrote (dyldstyle) to fixup
KiCad.app correctly. I would like any bundle fixing necessary to use a
built KiCad on macOS to live inside KiCad, rather than in
kicad-mac-builder or elsewhere. While I was experimenting, I found this
worked, however, and I would love to get extra hands testing.
I added a CMake argument, MACOS_EXTRA_BUNDLE_FIX_DIRS, for devs and
packagers who have extra directories they need to add to
fixup_bundle on KiCad.app.
There's an issue about differing behavior when KiCad is opened via
the command line or via Finder/launchd.
2021-04-21 12:50:31 +00:00
Jeff Young
52ca7ed27c
Naming conventions.
2021-04-04 10:43:56 +01:00
Konstantin Baranovskiy
eb8744816e
pcbnew: fix the i18n of the rules syntax help
2021-03-27 16:26:13 +00:00
Jon Evans
6924b98bc3
Remove deprecated BRIGHT_BOX preview item
2021-03-20 12:09:20 -04:00
jean-pierre charras
3ba7fc0cc2
Move board stackup table drawing code from drawing_tool.cpp to drawing_stackup_table_tool.cpp
...
This avoid a too large drawing_tool.cpp file.
Remove also values in internal units and convert them to mm.
2021-03-14 17:44:16 +01:00
Marek Roszko
3d4ac9af03
Relocate win32 resource files to the central folder for further consolidation
2021-03-09 21:48:14 -05:00
Jeff Young
d384316335
Fix some layout issues in board stackup pane.
...
Also decided the extra paramaters on the right weren't working out
on smaller screens and so moved Board Finish to its own panel.
2021-02-24 21:42:00 +00:00
Marek Roszko
872184fe8b
Revert "Bump minimum required CMake version to 3.10"
...
This reverts commit a475f45753
.
2021-02-09 18:46:13 -05:00
Simon Richter
a475f45753
Bump minimum required CMake version to 3.10
...
This allows us to remove even more workarounds
2021-02-08 12:23:08 +00:00
qu1ck
5c3ee0443c
Make footprint properties accessible from python
...
Now that footprint properties inherit custom fields from schematic
they are very useful.
Setting custom properties from python will also be handy in plugins
that need to somehow mark their own objects.
2021-02-05 02:31:48 +00:00