125 Commits

Author SHA1 Message Date
Wayne Stambaugh 10554d4812 Begin version 11 development. 2026-03-19 17:32:42 -04:00
Wayne Stambaugh 0feeca2a80 Tag stable release 10.0.0 2026-03-19 17:29:56 -04:00
John Beard ea34bcad4b Docset: disable the reserved index space
Doxygen-Awesome's adaptive top/sidebar CSS doesn't work well
when there is no index, as in a docset.
2026-03-19 10:06:39 +08:00
Wayne Stambaugh a2f3efc77e Tag stable version 10.0.0 release candidate 2. 2026-03-05 16:07:53 -05:00
Alex Shvartzkop 3fa40e05dc Use GLAD for OpenGL loading instead of GLEW.
This allows us to pick GLX on X11 and EGL on Wayland
at runtime when building with wxWidgets 3.3.2+

GLEW only allowed to choose between GLX/EGL at compile time.

This also removes KICAD_USE_EGL option, KiCad will use
whatever wxWidgets was built with.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20647
2026-02-22 14:56:40 +03:00
Alex Shvartzkop 8e79799118 Support EGL canvas on wx 3.3.2+ 2026-02-13 12:55:13 +03:00
Wayne Stambaugh bec26c8f73 Tag stable version 10.0.0 release candidate 1. 2026-02-11 16:37:34 -05:00
Seth Hillbrand 7eacd7c809 Properly detect ARM build type 2026-02-04 12:32:30 -08:00
Seth Hillbrand 382e141db5 Add more Linux warnings
MSVC is all bend out of shape about wxString conversions so it will help
to get the warnings on Linux as well.  Only works for Clang right now
2026-02-02 21:53:25 -08:00
Mark Roszko b2867f737e Add special handling to kicad-cli to fix its rpaths 2026-01-27 23:58:04 -05:00
Mark Roszko 49f5a3a911 Add generation of fuzzer dictionary from keywords 2025-12-15 20:25:58 -05:00
Seth Hillbrand 44c408dc76 Disable mismatched tags warning in g++/PCB combo
According to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99642 there is
a long-standing bug in g++ that appears unlikely to be addressed so if
the build requests PCH and uses g++, prioritize PCH over the tags
warning
2025-12-04 08:49:28 -08:00
Mark Roszko aefaa521d1 Fix up arm assembly compiling on windows 2025-09-15 20:49:22 -04:00
Mark Roszko bda994c00a Edit ConfigurePlatform.cmake 2025-09-15 23:46:50 +00:00
Mark Roszko e02008630f Also set CMAKE_SYSTEM_PROCESSOR in win cross compile 2025-09-15 23:42:47 +00:00
Mark Roszko accb0ddcd1 Manually set CMAKE_CROSSCOMPILING on MSVC. 2025-09-14 09:52:56 -04:00
Seth Hillbrand 23c1a68da8 Make printing consistent with plotting.
How you ask?  Plot first -> then read the PDF and print directly to the
platform-specific printers.  Roundabout?  Yes.  Better than wx printing?
Darnbetcha.

Also allows multi-size page printing and proper margins and print
preview

Fixes https://gitlab.com/kicad/code/kicad/-/issues/1831
2025-08-16 20:07:45 -07:00
Seth Hillbrand 0a5de5010f ADDED: Spacemouse support for Linux
Uses libspnav to handle spacemouse data.  Overlays on existing
spacemouse framework to handle view activation

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16133
2025-08-12 07:04:54 -07:00
Mark Roszko 4f8a4e4e2b Add CreateResourceCpp helpers for future use 2025-08-07 00:13:54 -04:00
Seth Hillbrand ab5aa661e9 Fix a few more stagglers for floating point
Update banned functions to better catch these

- page size
- erc/drc reports
- x/y position files
- color alpha
- footprint reports
- specctra
2025-07-15 13:27:45 -07:00
Seth Hillbrand 55da0e46af Remove locale-specific floating point from io
Use only C-locale functions wxString::ToCDouble and fmt::format{}
functions so that we do not need to set the locale for file io
operations

This also introduces a cmake check that looks for certain banned
functions (strtod, strtof and atof) that convert strings into doubles
by the user locale or formatting specifiers like %f/%g that convert
doubles into strings by the users locale.  It will prevent compilation
in this case.

For the limited cases where we want to show the user a string in their
locale, we have an override string "format:allow" that can be added to
lines in order to allow them with %f/%g format specifiers
2025-07-14 14:26:00 -07:00
Mark Roszko 62bd9c1274 Use the native arm64 msvc compiler if native 2025-07-08 23:17:46 -04:00
Mark Roszko 6a719e2c91 Disable C4355 warnings 2025-06-15 10:06:20 -04:00
Mark Roszko 5f145d02bd Disable WX_USE_REL_AND_DBG under vcpkg as it doesnt really play nice with lib and debug/lib
This is usually fixed by the hackjob in vcpkg for the wxwidgets find module being so...crazy
2025-06-14 15:07:46 -04:00
Mark Roszko 6ded31927b Fix accidentally uncommented debug msgs 2025-06-14 13:58:45 -04:00
Marek Roszko 10331e32e0 Fix our FindwxWidgets.cmake that actually always had the wrong lib search path for wx vcpkg 2025-06-14 13:31:19 -04:00
Michal Suchánek 206d6ee0b0 Set KICAD_USE_EGL automagically
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20630
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12543
2025-04-30 13:33:47 -07:00
Seth Hillbrand e75076ab41 Revert "Replace glew with epoxy"
This reverts merge request !2217
2025-04-22 15:16:58 -07:00
Michal Suchánek 0c36e16292 Replace glew with epoxy
Glew has the problem that it has to be selected at build time if GLX or
EGL is supported by the library, and this in not encoded in the library
name, nor ABI, nor anything.

Then it's easy to get into the situation that a binary is built but
cannot run because glew supports an API different from the one used by
wxWidgets, or the binary fails to link in the end after all objects are
compiled.

epoxy can support both with the same library avoiding this problem.

epoxy is not initialized explicitly, replaced initialization with
version check where one was not done already.

It seems to be available as vcpkg https://vcpkg.link/ports/libepoxy

There are problems related to GL context switching on Windows which does
not seem to be used in kicad
https://github.com/anholt/libepoxy#known-issues-when-running-on-windows
There is also a problem related to multithreaded rendering on Windows
https://github.com/anholt/libepoxy/pull/265 It's harder to tell if
threading is used for rendering but it does not look like kicad is doing
anything complex enough to warrant using multiple rendering threads.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20630
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12543
2025-04-22 12:54:39 -07:00
Steven A. Falco 688448f9ab Fedora 43 will need python 3.14 support 2025-03-31 19:46:55 +01:00
Seth Hillbrand 8e10c539f5 Remove dependency on Visual lib for OCC 2025-03-05 11:03:07 -08:00
Seth Hillbrand fdcfa8f354 Add additional OCCT search path 2025-03-04 20:00:40 -08:00
Wayne Stambaugh ef49d83bc1 Begin version 10 development. 2025-02-19 11:01:40 -05:00
Wayne Stambaugh e9bb55ab8a Begin version 9.0.1 development. 2025-02-19 10:51:49 -05:00
Wayne Stambaugh 286b0611fe Tag stable version 9.0.0 release. 2025-02-19 10:49:49 -05:00
Jon Evans 0ca9791577 Fix some GCC build warnings 2025-02-14 22:20:20 -05:00
Wayne Stambaugh cd23dca90a Tag stable version 9.0.0 release candidate 3. 2025-02-07 16:35:35 -05:00
Mark Roszko afb61b3b4e Disable C4746 2025-01-31 03:48:29 -05:00
Marek Roszko df1b5dd62c Move 2 warn flags to same place as the rest 2025-01-22 19:43:13 -05:00
Wayne Stambaugh 8d20cf454b Tag stable version 9.0.0 release candidate 2. 2025-01-17 15:13:54 -05:00
Wayne Stambaugh c156bdd8af Tag stable version 9.0.0 release candidate 1. 2024-12-20 19:50:33 -05:00
John Beard 8de99b8077 Cmake: avoid policy warning in newstorke upgrade target 2024-11-27 19:21:36 +08:00
Alex Shvartzkop 3b987776c7 ADDED: STL and PLY (since OCCT 7.7.0) 3D model export. 2024-11-04 16:15:02 +03:00
John Beard 889aee3b1a Newstroke: add CMake targets to manage the files 2024-08-14 14:28:54 +01:00
Mark Roszko a7d493a6a5 Fix python find directly on arm64 windows 2024-07-31 17:45:25 -04:00
Mark Roszko 723fa57b84 Add swig4.2 for linux platforms find 2024-07-18 18:01:38 +00:00
Jon Evans 58a2159fa9 Support SWIG 4.1 2024-07-18 08:56:43 -04:00
Seth Hillbrand 77797103f7 Add ability to embed files in various elements
Schematics, symbols, boards and footprints all get the ability to store
files inside their file structures.  File lookups now have a
kicad-embed:// URI to allow various parts of KiCad to refer to files
stored in this manner.

kicad-embed://datasheet.pdf references the file named "datasheet.pdf"
embedded in the document.  Embeds are allowed in schematics, boards,
symbols and footprints.  Currently supported embeddings are Datasheets,
3D Models and drawingsheets

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

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

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17827
2024-07-15 16:06:55 -07:00
Alex Shvartzkop 0336fdbd54 Update path finding in FindwxWidgets.cmake (from upstream CMake). 2024-06-01 06:48:56 +03:00
Marek Roszko 0354345963 Fix another spot the logger for boost test is hardcoded 2024-05-30 20:17:55 -04:00