Commit Graph

29 Commits

Author SHA1 Message Date
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
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
Ian McInerney b536580119 Support subrelease field in wxWidgets cmake detection
Sometimes wxWidgets increments the subrelease to a non-zero value, and
since wxPython will report a subrelease, we must ensure we can get the
subrelease from the wx library properly, otherwise configure will fail
thinking the library isn't the same version as that used by wxPython.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13887
2023-02-14 00:21:15 +00:00
Wayne Stambaugh 76e224e0af Begin version 8 development. 2023-02-11 11:03:39 -05:00
Wayne Stambaugh 0677b11a92 Tag stable release version 7.0.0. 2023-02-11 11:03:39 -05:00
Wayne Stambaugh 88d3e46d5b Begin final development push for 7.0 stable release. 2023-01-25 11:01:24 -05:00
Wayne Stambaugh 50034aaa9b Update KiCad version file to 7.0.0-rc2. 2023-01-25 11:00:08 -05:00
Wayne Stambaugh 589ec27a02 Begin version 7 release candidate 2 development. 2023-01-06 16:50:10 -05:00
Wayne Stambaugh 490fef9fd4 Tag version 7 release candidate 1. 2023-01-06 16:48:18 -05:00
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 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
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 9eb3174133 Check the process exit code rather than output variable for git header creation 2022-10-29 14:21:07 -04:00
Ian McInerney b8ef9ec178 Disable inconsistent missing override warnings in qa mocks
turtlemocks doesn't seem to provide a way to annotate that these methods
override a base class method, so it triggers a lot of warnings about
missing override when the classes are instantiated.
2022-09-24 02:11:41 +01:00
Jon Evans ae6a2a6443 ADDED: Database libraries MVP
Allows placing parts from an external database that reference symbols from another loaded library.

Includes:
- nanodbc wrapper
- database schematic library plugin
- basic tests

Fixes https://gitlab.com/kicad/code/kicad/-/issues/7436
2022-08-26 10:51:13 -04:00
Seth Hillbrand 2a9b76c5ff Move warning setting to Warnings.cmake 2022-08-24 14:21:06 -07:00
Marek Roszko 0070cbd2ad Remove find gdiplus
Not sure why this was ever needed on windows since its a default library, was msys that broken?
2022-08-23 22:19:25 -04:00
Marek Roszko 425edf3a7e Revert "Simplify the generated lexers to the use of a templated class"
This reverts commit 6eb6447708.
2022-08-21 18:45:09 -04:00
Marek Roszko 6eb6447708 Simplify the generated lexers to the use of a templated class 2022-08-21 18:23:28 -04:00
Marek Roszko 238356ec61 Suppress MSVC warning due to lemon 2022-08-18 20:48:48 -04:00
Marek Roszko d33830e570 Switch sentry to commit hash for kicad nightly releases 2022-08-15 20:57:44 -04:00
Marek Roszko f695ae5522 Generate const keyword_hash maps at compile time
Or else the map gets pointlessly recreated during footprint loading thousands of times
2022-08-09 00:56:49 -04:00
Marek Roszko 09da6f32dc Copy ngspice codemodels for MSVC 2022-08-08 21:57:44 -04:00
Marek Roszko 22649f79e8 Fix some ngspice handling during build for MSVC 2022-08-08 18:42:27 -04:00
Marek Roszko a9942a62ee CMakeModules -> cmake 2022-07-21 20:32:25 -04:00