Alex Shvartzkop
4072bc05af
Define __cplusplus according to C++ standard version on MSVC.
...
Otherwise, macros like KI_FALLTHROUGH are not defined properly.
(cherry picked from commit fa6dc95553
)
2024-03-15 01:17:49 +03:00
Marek Roszko
3890278505
Make the update check cmake option default for all platforms
...
(cherry picked from commit 46f9a9a005
)
2024-03-02 19:18:07 +00:00
Jon Evans
99f9941067
Use deb_system Python sysconfig scheme on Debian
2024-02-24 10:38:55 -05: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 36b0aa6050
.
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 9efd24a69d
.
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
Nimish Telang
9efd24a69d
Modernizes search for Cairo, Fontconfig, Freetype, HarfBuzz and Pixman
2023-04-07 16:15:53 +00:00
Marek Roszko
23476683f6
Try and patch site patch detection
...
Use Steven Falco's suggested fix from fedora, it appears to behave fine on Windows
2023-04-01 13:42:41 -04:00
Nimish Telang
f7bf3011fb
Use bundled Find{CURL,ZLIB}.cmake
2023-03-24 12:54:52 +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
8f2a453d07
Remove explicit Boost::system dependency from our cmake
...
Boost::system is only used transitively by the other Boost libraries, so
their CMake will include it when it is needed.
2023-03-11 13:29:58 +00:00
Ian McInerney
e20b33cb66
Fix boost dependencies
...
* Add Boost::locale explicetly to the CMake since nanoodbc requires it
* Don't let nanoodbc add all Boost libraries to the link line, since it
is used in common, and it was pulling the unit test framework into
common then.
2023-03-11 13:29:45 +00:00
jean-pierre charras
4737e3b8a7
QA tests: link unit_test_framework library only with QA tests.
...
It fixes a link issue on W10/msys2 when building some .exe files
not related to QA tests, but have the unit_test_framework library linked
without this change..
2023-03-11 10:28:06 +01:00
Marek Roszko
b4bb1f4b46
update vcpkg to get the arm64 compatible packages
2023-03-10 21:23:09 -05:00
Ian McInerney
a6ebd60c3b
CMake: Modernize Boost import to use imported targets
2023-03-10 16:38:35 +00:00
Mike Williams
671f555bc8
CMake: add flag to turn off spice QA tests (tests default to on)
2023-03-07 12:05:01 -05:00
Jon Evans
819b767635
Bump to requiring wxWidgets 3.2.0
...
By the time 8.0 is out, we will not be supporting any platforms
on wxWidgets older than 3.2.0
2023-03-05 21:07:57 -05:00
Ian McInerney
6803976ab3
Add flags to let GCC/Clang auto initialize trivial variables
...
GCC 12 and Clang include a flag allowing initialization of trivial
variables with a known pattern or with 0. Enable zero init by default in
everything but debug mode, and pattern init for debug mode. Also provide
an option to completely disable this, giving unitialized variables.
ADDED: Add compile flag -ftrivial-auto-var-init to build
2023-02-23 01:39:59 +00:00
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
Jon Evans
ad838e3d73
Revert part of bcb93e9a
that broke Windows
2023-02-21 22:45:54 -05:00
Ian McInerney
be19e967dc
Remove WX_COMPATIBILITY flag
...
Some classes had been originally designed to be usable separate from wx,
but over time our uses of the classes have become entertwined with wx
features (e.g. colors), and various changes have also leaked wx into the
classes unguarded. So just remove the option to hide wx in those classes
to simplify the code.
2023-02-22 01:44:06 +00:00
Ian McInerney
301777f3c9
Cleanup condition for Linux-only CMake configs
2023-02-22 01:44:06 +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
Christoph Moench-Tegeder
46a59aa2c3
CMakeLists.txt: do not use -ffloat-store on clang
...
According to it's User Manual, clang does not know about -ffloat-store.
This is corrobated by the FreeBSD i386 build (using LLVM 13 and 15,
depending on the base system version) failing early with an error
message complaining about this parameter being unknown.
See
https://pkg-status.freebsd.org/beefy17/data/main-i386-default/pb27279cba1ca_sed03776ca7/logs/kicad-7.0.0,2.log
for an example of the failure, and
https://clang.llvm.org/docs/UsersManual.html#controlling-floating-point-behavior
for the available floating point options on clang.
2023-02-21 20:45:27 +01:00
Ian McInerney
9dc357486f
Cleanup organization of build options
...
Organize the build options into various categories to make finding them
in the main file easier.
Other changes:
* Removed KICAD_NETLIST_QA
* Renamed BUILD_SMALL_DEBUG_FILES to KICAD_BUILD_SMALL_DEBUG_FILES
2023-02-15 13:48:41 +00:00
Ian McInerney
e3858294d4
Fix option description for ASAN and TSAN options
2023-02-15 13:48:41 +00:00
Marek Roszko
4665823089
Turn on and fix MSVC compliance mode issues
...
We want /permissive- to enable debug performance improvements in MSVC 17.5+.
This flag is also default under C++20 so we'll have to deal with these compile issues anyway at some point in the future.
In particular, MSVC becomes pedantic about ternary types.
See https://learn.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance?view=msvc-170#ambiguous-conditional-operator-arguments
MSFT cites https://cplusplus.github.io/CWG/issues/1805.html
2023-02-12 16:30:37 -05:00