667 Commits

Author SHA1 Message Date
Marek Roszko
dc5276c1df Add Zc:inline for msvc 2025-01-22 20:23:32 -05:00
Marek Roszko
90465d6261 Add windows runtime copy with install step under msvc 2025-01-22 20:20:46 -05:00
Marek Roszko
df1b5dd62c Move 2 warn flags to same place as the rest 2025-01-22 19:43:13 -05:00
Jon Evans
6122fca858 Change default for KICAD_USE_CMAKE_FINDPROTOBUF 2025-01-18 10:23:10 -05:00
Seth Hillbrand
074e6df3bc Revert "Move thread pool to singleton class"
This reverts commit 361f61a02380881efb59b1cebfdc3e73322b3d3c.
2025-01-03 21:22:44 -08:00
Seth Hillbrand
361f61a023 Move thread pool to singleton class
Having thread pool as its own singleton in the library meant that each
kiface had its own threadpool, leading to many multiples of the threads
being started.  Placing a singleton class in PGM_BASE ensures that all
kifaces use the same thread pool.

The singleton class can be extended to provide single instance
guarantee for any element across kifaces
2025-01-03 13:51:11 -08:00
Jon Evans
250fa52474 Enable IPC API by default 2024-11-03 12:30:18 -05:00
jean-pierre charras
b6bf7d6f44 Revert "Gerbview: Add build option do enable/disable the 3Dconnexion support."
This reverts commit 336532303e4c51d6dd532389e27fc0396094ad8b.
A better fix for the link issue on MSYS2 will be committed
2024-09-21 16:28:05 +02:00
jean-pierre charras
336532303e Gerbview: Add build option do enable/disable the 3Dconnexion support.
On msys2 a link issue (3 undefined symbols) prevent Gerbview to be built.
So I added this option (KICAD_ENABLE_3DMOUSE_GERBVIEW, enabled by default)
to disable 3Dconnexion support on request.
2024-09-21 13:24:43 +02: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
Seth Hillbrand
ae5678f3f6 Allow recovery after error in asan 2024-07-05 11:16:20 -07:00
Alex Shvartzkop
5b70983692 Detect wxWidgets port in CMake (KICAD_WX_PORT). 2024-06-01 06:49:52 +03:00
Mark Roszko
d3f69a11f2 Add policy for CMAKE_MSVC_DEBUG_INFORMATION_FORMAT 2024-05-07 18:35:30 +00:00
Mark Roszko
87ba1e18bf Prepend ccache as it should be first 2024-05-07 15:14:54 +00:00
Mark Roszko
ebbfaeaeb7 Alter the pdb mode for ccache 2024-05-07 13:24:11 +00:00
Mark Roszko
eda65f5fa8 Fix ccache and distcc setup
RULE_LAUNCH_COMPILE is not meant for use. It's meant for internal ctest use only per the documentation.
2024-05-07 13:08:11 +00:00
Marek Roszko
a8972f54c4 Put idf tools behind a cmake flag that can be turned off 2024-04-23 22:43:10 -04:00
Marek Roszko
262d94964f Lets try C++20 2024-04-12 23:32:18 -04:00
Jon Evans
c6e784dae3 Fix order of install targets for macOS 2024-04-05 11:39:52 -04:00
Seth Hillbrand
c9b1134417 Move FindProtobuf to default on for Linux 2024-04-03 10:41:14 -07:00
Seth Hillbrand
6c73e70dad Force installation of protobuf-compiler at configure step 2024-04-03 10:30:09 -07: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
fa6dc95553 Define __cplusplus according to C++ standard version on MSVC.
Otherwise, macros like KI_FALLTHROUGH are not defined properly.
2024-03-03 23:28:55 +03:00
Marek Roszko
46f9a9a005 Make the update check cmake option default for all platforms 2024-03-02 14:15:52 -05:00
Jon Evans
536e7b252d Use deb_system Python sysconfig scheme on Debian
(cherry picked from commit 99f9941067c3b3db2f6c94a0659030259ffeecf9)
2024-02-24 19:34:28 +00:00
Marek Roszko
ef06e95798 Add LTCG option for win32 2024-02-02 20:46:32 -05:00
Marek Roszko
9195de9849 Disable the update check on non-apple, non windows systems by default 2024-01-03 19:32:05 -05:00
Marek Roszko
53a90ccb88 Enable macOS builds to run from build directory.... 2023-11-13 20:23:59 -05:00
Ian McInerney
d78d4830e4 Always output test failures when they happen
With CMake 3.17+, we can specify arguments for ctest to use when run, so
always specify output-on-failure to always show the failed test output.
2023-10-27 13:19:53 +01:00
Marek Roszko
aa2a0cdd16 We dont actually need to link to openssl 2023-10-20 19:57:33 -04:00
Jon Evans
5dd3631df2 Revert "Add security library include in CMake for MacOS"
This reverts commit 36b0aa6050d836871c4ec060f6ef71309a78c35e.
2023-10-20 11:26:22 -04:00
Seth Hillbrand
36b0aa6050 Add security library include in CMake for MacOS 2023-10-20 16:39:37 +02:00
Seth Hillbrand
d99641be40 ADDED: Git integration support
Adds support for project-based git integration, branch support, commit,
revert and updates

Fixes https://gitlab.com/kicad/code/kicad/issues/10441
2023-10-20 12:51:47 +00:00
Jon Evans
9973dd3e5d Fix sentry compile issues on macOS 2023-09-19 20:31:14 -04: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
Alex Shvartzkop
5b77716ed8 Enable KICAD_WAYLAND by default when KICAD_USE_EGL is on. 2023-09-18 16:01:36 +03:00
Alex Shvartzkop
862567b21a Turn off KICAD_WAYLAND by default. 2023-09-15 01:12:47 +03:00
Alex Shvartzkop
89cb35dc22 Support pointer warping on Wayland.
Configure with KICAD_WAYLAND=1
2023-09-15 00:04:36 +03:00
Alex
6ad19b3f45 Don't require GLX when KICAD_USE_EGL is enabled. 2023-09-14 03:54:01 +03:00
Marek Roszko
7dfac51fe1 Silence cmake warning about lowercase string 2023-09-01 22:09:49 -04:00
Marek Roszko
87513b4a04 Change the sentry dsn to be build time defined
We ultimately don't want people running personal builds to turn on sentry and start sending us crash logs we can't decipher
2023-08-30 22:17:38 -04:00
Marek Roszko
4cb60bac1b guard out the currently broken wx version check 2023-08-23 22:06:11 -04:00
Seth Hillbrand
f62775de40 Fix missing endif() 2023-08-23 15:23:04 -07:00
Seth Hillbrand
db8e15ce88 Require wxWidgets 3.2
Removes old defines and work arounds for earlier wx versions and adds a
CMake requirement to use at least 3.2 (or the minimum matching wxPython
version)
2023-08-23 22:02:56 +00:00
Mark Roszko
4b6116cb30 Move opencascade min to 7.5.0 2023-08-19 02:26:45 +00:00
Johannes Maibaum
9ae44e3998 Add KICAD_BUILD_{NIGHTLY_,}FLATPAK CMake options 2023-06-22 18:04:32 +00:00
Alex
d5edde799c Enable support for KICAD_SANITIZE_ADDRESS CMake flag on MSVC. 2023-06-10 02:09:09 +03:00
Marek Roszko
726b137fed Fix libcontext arm64 build and purge winfiber
The winfiber implementation ran into memory leak issues as it didnt exit the stack jumps correctly
and lets not mislead anyone by keeping it
2023-04-10 18:07:35 -04:00
Seth Hillbrand
5fcc1135a8 Revert "Modernizes search for Cairo, Fontconfig, Freetype, HarfBuzz and Pixman"
This reverts commit 9efd24a69d624aa67f13870ab105cec1f7fe28bf.

Breaks MSW builds, so this is a non-starter for now
2023-04-07 10:12:43 -07:00
Seth Hillbrand
2cd854af14 Move Spacemouse to advanced config
The spacemouse driver, particularly on Mac, is extremely unstable and
causes crashes even when not being used.  This places the interface
behind an advanced config flag to ensure that users can affirmatively
opt-in to the potential for crashes
2023-04-07 10:08:43 -07:00