159 Commits

Author SHA1 Message Date
Seth Hillbrand
452e69de85 Move thread pool into true singleton
Thread pool needs to be stored in a single location for all of KiCad
otherwise each kiface will spin up its own pool of persistent threads
2025-01-09 09:03:08 -08:00
Jeff Young
d31103846f Naming conventions and split some dlgs out of panel_jobs_base.fbp. 2025-01-04 13:07:04 +00:00
Jon Evans
f504a07556 ODB++: Add to CLI and jobs system 2024-12-02 10:53:01 -05:00
Marek Roszko
bb43a5047e Add execute job config dialog 2024-10-22 22:29:24 -04:00
Marek Roszko
d74caace0a Initial jobset creation and running within the CLI and GUI.
Incomplete, just pushing this before feature freeze, much fixing left
2024-09-30 20:04:53 -04:00
Julie Vairai
06eb7fa588 Added GenCad export within kicad-cli
Available options:

 "--flip-bottom-pads"
 "--unique-pins"
 "--unique-footprints"
 "--use-drill-origin"
 "--store-origin-coord"
2024-09-16 22:31:52 +00:00
Mike Williams
b2dda11fae design blocks: move table manager to common dialogs
Also add to schematic editor preferences.
2024-09-10 15:50:03 -04:00
Mike Williams
2c99bc6c6d new feature: Schematic Design Blocks
Added to advanced config, default to off.
EnableDesignBlocks=1 in kicad_advanced to test

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/2263
2024-09-05 08:35:49 -04:00
Jon Evans
f613cd1cb4 ADDED: A new IPC API based on protobuf and nng
Details, documentation, and language bindings are works in
progress and will be evolving over the course of KiCad 9
development.
2024-04-02 19:34:36 -04:00
Alex Shvartzkop
f6f0b9a661 ADDED: PCB 3D image raytracing rendering from CLI.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3691
2024-03-08 14:38:18 +00:00
Marek Roszko
c8d24b7613 Add missing IPC2581 cli support 2024-01-30 20:42:34 -05:00
Marek Roszko
8849891893 Add a update notice modal dialog instead of the incomplete notifications 2023-12-16 06:47:41 -05:00
Marek Roszko
c8f646efb1 ADDED: KiCad update check
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15026
2023-12-13 20:47:40 -05:00
Jon Evans
d371bb06ae New macOS installation scripts
Replaces BundleUtilities that got broken by recent updates
and is basically unmaintained by cmake.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15376
2023-09-19 17:23:30 -04:00
Marek Roszko
b5d5eb842a Start a kicommon shared lib 2023-09-09 18:04:50 -04:00
Marek Roszko
4d77fd48ef Shove thread_pool to core 2023-09-06 17:50:12 -04:00
Marek Roszko
5870b4f373 Mini-refactor step to a generic "3d" cli option (step command still exists for now) 2023-08-19 16:47:41 -04:00
Marek Roszko
32f0f05a98 Rename the export cli files to the cleaner structure 2023-08-19 11:46:18 -04:00
Marek Roszko
5d001d4858 ADDED: ERC over cli....mostly 2023-08-13 20:31:19 -04:00
Marek Roszko
812143ac69 ADDED: Run PCB DRC via cli 2023-08-10 20:20:40 -04:00
Ian McInerney
ea62b145ff Introduce core interface library
This library is meant to move non-EDA items (language extensions,
library extensions, etc.) into the lowest-level of our dependency chain.
This library should never depend on anyother non-thirdparty code in the
kicad codebase.
2023-04-06 15:01:18 +01:00
Mike Williams
753ae21fd4 BOM Generator: wire up to kicad-cli 2023-04-03 09:07:52 -04:00
Salvador E. Tropea
7e3f1b1a00 Adds the missing plot formats to kicad-cli sch export 2023-03-22 02:14:50 +00:00
Ian McInerney
016c958021 Always build spice simulator support
The simulator has advanced considerably, and it is seeing lots of active
development, so make it a required part of KiCad. Additionally, the
build without the simulator has actually been broken for a while, so no
one clearly is building without ngspice right now.
2023-03-20 16:54:32 +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
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
f2fcd4b8e1 Add a version command to cli and extend out a major.minor.patch string 2023-01-01 22:41:05 -05:00
Marek Roszko
2f8cc84551 Hotglue footprint to svg export
This needs additional work
2022-12-13 22:50:15 -05:00
Marek Roszko
93e313440e Split the srcs for kicad-cli from kicad to shrink the binary a little 2022-12-12 22:53:39 -05:00
Marek Roszko
f1f5fff072 Add cli export of symbols from kicad libraries 2022-12-12 22:44:26 -05:00
Marek Roszko
59a6d14242 Remove the cli pcb/sch export cpps that arent needed 2022-12-12 22:44:26 -05:00
Marek Roszko
7e53663d5d Add a bulk gerber export that's a wee bit smarter 2022-12-11 20:13:26 -05:00
Adam Wolf
05fe0e740d Remove bundled BundleUtilities
Previously, we included a newer version of BundleUtilities and
GetPrerequisites for macOS. However, the changes we needed have long been
included in CMake, and we weren't using our BundleUtilities in all the
places it was being used.
2022-12-09 23:48:31 +00:00
Adam Wolf
98775afcba Support Apple Silicon on macOS
As part of supporting Apple Silicon, we've got to upgrade our embedded
Python to a version that comes with an Apple Silicon build. Python 3.9
suffices. This means we ignore python3.9 while fixing up bundles.

Apple requires all code to be signed on Apple Silicon. We've added signing
to the build. This has to be run after anything that adds to or modifies
the installed files. As of Cmake 3.14 (CMP0082), the install rules are run
in the order declared, so we are able to do this just by adding the
signing subdirectory last in the main CMakeLists.txt. By default, the
build will be signed "ad hoc", which does not require a developer to
create keys or get keys from Apple. We added some CMake variables to
control signing, KICAD_OSX_CODESIGN and KICAD_OSX_SIGNING_*.

In order to better support development, we've added some necessary cleanup
steps to KiCad that were performed externally in the release and nightly
build process, like removing any .pyc files and extra Python symlinks
erroneously introduced by fixup_bundle. We also adjusted "refix_rpaths" to
be more accurate. We should not need "wrangle_bundle" when building and
installing a local development copy of KiCad.
2022-12-09 23:48:31 +00:00
Alexander Dewing
91290e8f75 vsrious cleanup, seeing if we dont need to ignore_item for python 2022-12-09 23:48:31 +00:00
Alexander Dewing
02325130fa Initial arm64 work 2022-12-09 23:48:31 +00:00
Marek Roszko
bae8cb55c0 Rename the bom cli to pythonbom since we'll have a real bom system later 2022-11-30 19:56:59 -05:00
Marek Roszko
21fed9fc8c Hotglue a symbol upgrade function in cli 2022-11-29 00:00:45 -05:00
Marek Roszko
4a88d2a74d Fix up the top level cli command entries 2022-11-28 20:57:24 -05:00
Marek Roszko
25d5defc10 Add cli for "fp" upgrade 2022-11-28 20:48:14 -05:00
Marek Roszko
39d5cc31d4 Add schematic xml bom output 2022-11-12 21:51:32 -05:00
Marek Roszko
43f039ef5f Add netlist export cli 2022-11-09 22:37:55 -05:00
Marek Roszko
cd30da179a Round out the cli with position file export 2022-11-07 19:53:35 -05:00
Marek Roszko
b60c42ea41 Add schematic cli plotting 2022-11-01 23:34:49 -04:00
Marek Roszko
0a134788d0 Implement cli for gerber, drill, pdf export of pcb 2022-10-29 11:56:10 -04:00
Marek Roszko
30211da69f Move the cli definitions to kicad 2022-10-29 11:55:38 -04:00
Mark Roszko
f9659a7e7c Fix kicad-cli not being installed at all 2022-10-20 18:20:27 +00:00
Jon Evans
8176100cfc One more stab at kicad-cli fixes 2022-10-12 08:31:56 -04:00
Jon Evans
84cbf38194 Move kicad-cli into bundle 2022-10-11 15:49:55 -04:00
Jon Evans
10f728c7c3 Attempt to fix macos kicad-cli 2022-10-11 10:20:21 -04:00