Commit Graph

1151 Commits

Author SHA1 Message Date
Seth Hillbrand 98d55ce82f Avoid rebuilding with each commit
We shouldn't include the kicad_build_info.h outside of the wrapper
build_info.h.  Also adds an error directive to prevent re-introduction
of define dependencies
2023-01-04 11:32:15 -08:00
Marek Roszko 33b835ceef Add additional version info options for the cli 2023-01-03 21:54:44 -05: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 e335423cb6 Fix the handling of help in the cli commands
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13293
2023-01-01 12:00:05 -05:00
Marek Roszko 1b15854da5 Implement --help and --version ourselves for kicad-cli
https://gitlab.com/kicad/code/kicad/-/issues/13293
2022-12-31 23:39:05 -05:00
Jeff Young 4c63b4e061 Class name <-> file name sync. 2022-12-29 18:05:57 +00:00
Jon Evans 7e778c9856 KiWay: Make sure to mark closed windows as closed
Also make sure to veto project import if we couldn't close the existing project.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13215

Maybe also fixes some other weird crashes, we'll see.
2022-12-27 10:31:45 -05:00
Ian McInerney 2f8cc194c1 Initialize variables inside file dialog customizer classes 2022-12-17 23:37:24 +00:00
Jon Evans 5abf73e3c9 Never call ReCreateMenuBar inside a menu event handler
As of wxWidgets 3.2, the wxWidgets event handler runs code after the
the client event handler that depends on the menu still existing.
Because there are potentially many paths to call ReCreateMenuBar from
within a menu event handler, let's just wrap this action in a CallAfter
to make sure it happens after the wx handler call completes.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13149
2022-12-16 16:37:51 -05:00
Jeff Young 5984a6dddd Fixup a few more collapsing textEditCtrls on Mac. 2022-12-14 15:13:29 +00:00
Marek Roszko 2f8cc84551 Hotglue footprint to svg export
This needs additional work
2022-12-13 22:50:15 -05:00
Jeff Young c0872364d4 Get rid of bloated bitmap buttons on wxWidgets 3.2. 2022-12-13 20:48:02 +00:00
Jon Evans 1ebe3dc131 Stub out MacOpenFile for kicad-cli
Avoids needing to link in the project manager and is probably not necessary

If it ends up being necessary, someone can write a new implementation.
2022-12-13 12:09:59 -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
jean-pierre charras 966f7bfa4c Fix commit 0a881e09, not working on wxWidgets 3.1.5/msys2 2022-12-08 15:39:10 +01:00
Marek Roszko 2fc0cd68ed Avoid crashing due to empty lib tables in cli
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13097
2022-12-07 23:56:03 -05:00
Marek Roszko c0b5fe58c3 Implement output targeting of symlib/fplib upgrade per request 2022-12-06 21:20:27 -05:00
qu1ck 8003e9ab50 Fix segfault in kicad-cli for int arguments
Need to indicate int type to argparse
2022-12-06 02:53:10 +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
frutiemax 7d78f0b4d3 Use forward declarations in kicad_manager_frame.h 2022-11-30 03:08:35 +00: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
Jon Evans 527da0d18c Reload color settings when changed by PCM 2022-11-24 16:20:52 -05:00
Mike Williams 60d42a7b1e Spelling: fix various suppress misspellings 2022-11-22 13:47:10 -05:00
jean-pierre charras 562676b9f8 Fix missing initialization in PGM_KICAD.
This init was probably removed by mistake.
Fixes #12935
https://gitlab.com/kicad/code/kicad/issues/12935
2022-11-18 09:25:20 +01:00
Alex 53b9baa5ba Some refactoring around Gerber files extension checking.
Fixes a case where most Protel inner layer files couldn't be drag and dropped.
2022-11-18 09:55:34 +05:00
Alex 95b8fe26b4 Fix display and archiving of Protel gerber files in Project manager. 2022-11-18 04:39:18 +05:00
Mark Roszko 0e0e4adf3f Use locale_io since atof is used 2022-11-15 13:30:37 +00:00
Marek Roszko daa6e84d74 Make the cli help translatable 2022-11-14 07:25:47 -05:00
Marek Roszko 95eed30ebe Fix pos file side check 2022-11-13 18:20:26 -05:00
Marek Roszko 9623ea7d57 Remove the -v from the cli subcommands 2022-11-13 14:28:48 -05:00
Marek Roszko e144f05a4f Report back the correct arg info for a failed cli command 2022-11-13 14:25:13 -05:00
Marek Roszko ea83449ef7 Change up the step export arg handling to single quote for now
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12890
2022-11-13 11:49:20 -05:00
Marek Roszko 39d5cc31d4 Add schematic xml bom output 2022-11-12 21:51:32 -05:00
Marek Roszko 3dd2ae762d Refactor step export to use our normal board processing routines 2022-11-12 21:27:10 -05:00
Marek Roszko 9b4505c6d2 Fix some leaking command job objects 2022-11-09 22:40:05 -05:00
Marek Roszko 43f039ef5f Add netlist export cli 2022-11-09 22:37:55 -05:00
Marek Roszko e5d132beec Add missing * layer mask for cli 2022-11-07 23:30:30 -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
jean-pierre charras d289130627 fix memory leak and missing switch to "C" locale in some handlers
PCBNEW_JOBS_HANDLER::JobExportGerber(): disable plot pad holes.
2022-10-31 10:04:01 +01:00
jean-pierre charras ed0462c7a1 Fix some issues in command_export_pcb_gerber.cpp, mainly force "C" locale. 2022-10-30 19:54:26 +01: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
Marek Roszko a7e1f668a7 Some cleanup of the cli functions 2022-10-25 23:26:23 -04:00
Alex 93133ecd78 pcm: Fix an unnecessary horizontal scrollbar in package info on MSW. 2022-10-23 22:07:22 +03:00
Jeff Young 3fbc6ac29a Minor dialog layout fixes. 2022-10-23 17:56:44 +01:00
Jeff Young 5777254cfa Formatting and "auto" reduction. 2022-10-23 17:56:44 +01:00
Mark Roszko f9659a7e7c Fix kicad-cli not being installed at all 2022-10-20 18:20:27 +00:00
qu1ck d52d1cb489 Better message on PCM repository error
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9587
2022-10-17 16:44:01 +00:00
Jon Evans 8176100cfc One more stab at kicad-cli fixes 2022-10-12 08:31:56 -04:00
Jeff Young ad5df7f4cc More busy cursor tightening.
Fixes https://gitlab.com/kicad/code/kicad/issues/11648
2022-10-11 23:40:58 +01: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
Jeff Young cd191ed25d Fix a couple of probable copy/paste errors. 2022-10-06 14:59:52 +01:00
Marek Roszko 2bac898298 Make -f set standalone mode in kiway 2022-10-04 23:03:03 -04:00
Marek Roszko 3fe004fd1b New kicad-cli will now be the cli interface 2022-10-04 22:24:13 -04:00
Marek Roszko 201dcabb97 Fix kicad.exe as well for file args 2022-10-04 07:35:03 -04:00
Mark Roszko fb8a4c10f7 Shove kicad2step into pcbnew itself with a new cli 2022-10-04 01:53:37 +00:00
Ian McInerney 40ff7cb9bd Fix some UI element spacing in settings panels 2022-09-25 15:41:39 +01:00
Ian McInerney a7242f423c pcm: Copy schema to build directory in out-of-tree builds
When running from the build directory, the schema must be present in the
build directory. This wasn't working on out-of-tree builds though, since
it was never copied there.
2022-09-25 00:48:38 +01:00
Ian McInerney d8272b0830 pcm: Ensure missing package version properly handled at runtime
wxASSERT is removed in release mode (which most users run), so this will
not prevent future code from possibly using an invalid iterator if the
package version can't actually be found.
2022-09-25 00:48:38 +01:00
Ian McInerney fdb97a46c1 Don't copy items in for loops when not needed 2022-09-24 03:46:06 +01:00
Ian McInerney 6310f84a57 Fix shadowed definition of EAGLE constant 2022-09-24 01:37:57 +01:00
qu1ck 6ebb3baa3b PCM: autoload libs from installed packages to global lib tables
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9713
2022-09-23 16:16:13 +00:00
Jeff Young 30a4d3d2de Coverity fixes. 2022-09-20 00:19:15 +01:00
Jeff Young 64a6fc0fd4 Push UNITS_PROVIDER down into a low-level mixin.
This allows us to also construct cheap UNIT_PROVIDERs for specific
tasks when necessary.
2022-09-19 17:10:59 +01:00
Marek Roszko 7b29b4ef55 Copy the pcm schema for msvc to run from build directory
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12318
2022-09-18 10:46:48 -04:00
lulu731 0180bcf90a ADDED: Implement Drag and Drop
dropping files to Kicad manager :
  *.kicad_pro, *.pro -> open project;
  gerber and job files -> open in Gerbview editor;
  Eagle and Cadstar files -> open project.
dropping file to schematic editor -> append schematic;
dropping library file to Symbol editor -> add library;
dropping board file to PCB editor -> append board;
dropping library or footprint file to Footprint editor -> add library or import footprint;
dropping ZIP file or gerber files to Gerbview editor -> open files;
dropping sheet file to Drawing Sheet editor -> open sheet.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11638
2022-09-14 22:28:09 +00:00
jean-pierre charras c414dcf967 Kicad: fix project tree icon list after changes in commit a9877ab1.
The icon list and the file types list must be synchronized.
2022-09-11 11:08:37 +02:00
Jeff Young a9877ab117 Include markdown files in project view.
Fixes https://gitlab.com/kicad/code/kicad/issues/12178
2022-09-10 21:11:24 +01:00
Jeff Young f179754118 Implement add-new-on-return for some of our grids.
Fixes https://gitlab.com/kicad/code/kicad/issues/12335
2022-09-09 13:41:13 +01:00
Jeff Young c30a557810 ADDED netclass assignment from PCB canvas.
Fixes https://gitlab.com/kicad/code/kicad/issues/5975
2022-09-03 19:29:59 +01:00
jean-pierre charras c72091d7e0 fix a compil warning. 2022-09-03 19:55:54 +02:00
qu1ck 977b6cd8f3 PCM: add ability to pin packages
Pinned packages don't affect available update notification and will not
be updated with "Update All" button. Manual update is still possible but
will trigger a confirmation dialog.
2022-09-03 17:07:55 +00:00
Seth Hillbrand b736460e71 Move optional access from value() to *operator
`value()` throws.  Where we check for existence, we don't need to use
the throwing version and should just use the unprotected variant
2022-08-30 13:59:39 -07:00
jean-pierre charras abc7335fd7 Cosmetic enhancement: add two missing icons 2022-08-28 16:01:26 +02:00
Seth Hillbrand f1261e71d4 Replace boost::optional with std::optional 2022-08-25 15:50:47 -07: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
Seth Hillbrand 8757b3f98a Catch errors thrown from `at()`
at() can throw when it doesn't find the proper reference.  This catches
the errors and attempts to properly handle them assuming the user
initiated the removal.  Warns the developer (wxLogDebug) when this is
not the case

Fixes https://gitlab.com/kicad/code/kicad/issues/12241
2022-08-22 11:57:13 -07:00
jean-pierre charras 1a18f9a839 Kicad/PCM: Better message asking for **plugins** update.
Previous message asked for update, but the update is not for Kicad, only for loaded plugins
2022-08-21 08:39:42 +02:00
qu1ck e19e039a47 PCM: fix crash in background update on project switch
Fixes #12244
2022-08-19 15:18:19 -07:00
Jeff Young 508df402f6 Cleanup. 2022-08-19 18:54:19 +01:00
jean-pierre charras e0fbe2542f Fix a few compil and Coverity warnings. 2022-08-19 10:53:29 +02:00
Seth Hillbrand 5ed7e28252 Remove KICAD_OCC build option
We don't really support builds without OCC these days.  Removing to
clear up build flags and settings
2022-08-18 17:06:29 -07:00
qu1ck f4fa3b02c5 PCM: automatic check for repository updates 2022-08-18 20:41:43 +00:00
Wayne Stambaugh 898ec0d094 Fix wxWidgets 3.1 and later deprecated build warnings.
wxWidgets 3.1 has deprecated wxPATH_NORM_ALL when normalizing file
paths when calling wxFileName::Normalize().  This change keeps the
existing behavior except in places where our own internal
ExpandEnvVarSubstitutions() to expand environment variables.
2022-08-15 08:00:40 -04:00
Jeff Young 5c9aed62aa Use wxWidgets IDs for cut/copy/paste.
This allows them to work in places like search boxes in standard file
dialogs.  If wxWidgets doesn't find the standard IDs in our menus
then it won't enable them.
2022-08-07 11:28:16 +01:00
jean-pierre charras 4915f6ca20 Fix a few compil warnings 2022-07-30 14:06:51 +02:00
jean-pierre charras 4d48376eae Fix some warnings detected by PVS-STUDIO (not used vars) 2022-07-26 16:00:14 +02:00
Mark Roszko 097f30a272 Move the PCM download cache to PATHS::GetUserCachePath
Second commit for https://gitlab.com/kicad/code/kicad/-/issues/10165
2022-07-22 14:40:55 +00:00