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
Jon Evans
20ba716c1f
Patch nanodbc for postgres support
2022-08-26 09:38:11 -04:00
Jon Evans
63a6237d2d
Remove second Boost find routine
2022-08-26 09:38:11 -04:00
Jon Evans
31c24f4421
Add nanodbc
2022-08-26 09:38:11 -04:00
Marek Roszko
96446cba1d
Update sentry sdk
2022-08-15 20:48:53 -04:00
Marek Roszko
ed08b0ecf6
Add some missing sentry-native cmake
2022-08-15 19:12:46 -04:00
Marek Roszko
6bc2f0eece
add missing {fmt} cmake files
2022-08-15 07:52:42 -04:00
Jon Evans
6365a37042
Add {fmt} library
2022-08-14 22:49:55 -04:00
Alex
fb7bc263de
Slight optimization in RTREE_QUAL::RectSphericalVolume.
2022-07-16 19:51:32 +03:00
Seth Hillbrand
03c279ffd4
ADDED: Threadpool
...
Thread pools are long-lasting executors that have close to zero overhead
when launching new jobs. This is advantageous over creating new threads
as we can use this for threading smalling jobs and smaller quanta. It
also avoids the heuristics needed to determine the optimal number of
threads to spawn
2022-06-24 22:59:24 +00:00
Seth Hillbrand
8f1b2acdc6
Fix one missing commit for MSVC
2022-06-20 16:40:47 -07:00
Seth Hillbrand
c483c58276
Patch pybind11 for MSVC
...
Re-comit of earlier ef38642bf1
after updating pybind11 to 2.9.2
2022-06-20 16:21:37 -07:00
Seth Hillbrand
8d003804e0
Update pybind11 to 2.9.2
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10729
2022-06-20 16:21:22 -07:00
Marek Roszko
9a0fa460d1
Add missing sentry-native file
...
gitignore gone wrong
2022-04-03 21:23:10 -04:00
Mark Roszko
f0f33ef1d3
Introduce sentry for crash data collection
2022-04-02 01:21:55 +00:00
jean-pierre charras
9a342458fa
Fix a few Coverity and compil warnings.
2022-03-26 16:21:23 +01:00
Sylwester Kocjan
a65999b063
qa: Add Turtle 1.3.2 mocking framework
2022-03-18 17:51:09 +00:00
Marek Roszko
28ce11212c
Emplace_back a bit a in clipper
2022-02-05 21:00:34 -05:00
markus-bonk
be58ab679b
Fix coding style policy violations and CMake version.
...
Fix violations of 4.2.2 Function Definitions and 4.2.3 Control
Statements.
Set the minimum CMake version required to build to 3.1.
Removed the Visual Studio solution and project files.
2022-01-28 12:21:42 +00:00
markus-bonk
b9a27a8fab
Fix build issues macOS and msys2
...
Added #if USE_DECLSPEC_PROPERTY condition to control use of
__declspec(property). The -fdeclspec now is not needed to compile using
clang.
Removed use of the IS_INTRESOURCE() macro to the inline method bool
IsIntResource() as the former depends on Windows.h.
2022-01-28 12:21:42 +00:00
markus-bonk
aec7802fcf
EDA_3D_VIEWER_FRAME: Implement SpaceMouse navigation and command export for 3D-viewer.
...
Full support for using a 3Dconnexion device in the 3D viewer has been added. Full 3D navigation is available for both the orthographic and perspective projections. Commands are exported and can be assigned to 3D mouse buttons. Any limitations to the functionality are limitations of the installed 3Dconnexion driver for the device and OS.
ADDED: A build option KICAD_USE_3DCONNEXION (default = ON) has been added to the main CMakeLists.txt. The option controls whether the SpaceMouse support is compiled into the solution.
2022-01-28 12:21:42 +00:00
markus-bonk
f61c798295
Fix compilation errors in Fedora pipeline.
2022-01-28 12:21:42 +00:00
markus-bonk
c99a4f4d85
Include the required third party code for the SpaceMouse implementation
...
The commit only adds the headers and code required by the SpaceMouse
implementation to compile and link. This extract from the 3Dconnexion
SDK is added to the third party directory to allow developers to build without
needing to acquire a cmake enabled version.
2022-01-28 12:21:42 +00:00
alexfanqi
01f0aad7c0
Add riscv64 support for libcontext
...
modified to match function arguments different from upstream
Author: Andreas Schwab
2022-01-27 13:12:43 +00:00
Ola Rinta-Koski
dcab2833b8
PEGTL 2.x->3.x
2022-01-10 23:22:23 +00:00
Jeff Young
e41a4d406a
Cherry-pick MARKUP_PARSER from rockola/kicad-strokefont.
2022-01-02 14:57:03 +00:00
Peng Peng
b7ab5330bf
Adding the LoongArch CPU support for libcontext
2021-10-27 19:46:52 +00:00
Tomasz Wlostowski
c60eecc165
thirdparty/dxflib: suport for vertex start/end line width attribute.
...
This change is required to correctly import DXFs exported by Cadence.
2021-10-25 17:37:38 +02:00
Marek Roszko
fc3fb86cb5
Bump the dxflib version string to match upstream
2021-10-23 08:18:20 -04:00
Marek Roszko
643d7cc303
fix check for DXF R12 variables
2021-10-23 08:18:19 -04:00
Marek Roszko
ade9418300
Add dxf write support for dimtad, dimtih
2021-10-23 08:18:19 -04:00
Marek Roszko
e0ccf553f8
Add vertexIndex bounds check
2021-10-23 08:18:19 -04:00
Seth Hillbrand
62b7239ed1
Adjust M1 alignment for better performance
2021-10-18 13:27:08 -07:00
qu1ck
a221f7aa56
Mark json validator lib explicitly STATIC
2021-09-25 13:24:10 +00:00
Marek Roszko
daca9d21f2
Add dxf point import
...
Fix #9149
2021-09-12 19:38:52 -04:00
Seth Hillbrand
45c7ef7e76
Remove last pybind11 forcing non-debug libs
2021-08-31 09:19:26 -07:00
Seth Hillbrand
fc01eb73ae
Remove unused elif in FindPythonLibsNew.cmake
2021-08-31 09:12:14 -07:00
Marek Roszko
ef38642bf1
Patch pybind11 for MSVC
...
Pulls a series of patches for MSVC options from earlier in tree
2021-08-31 06:35:35 -07:00
Seth Hillbrand
317fae2098
Update Pybind11 to prevent conflict with wxTranslate
...
We change the pybind templates '_' to be '_x' to avoid conflicting with
the wxTranslate macro `_`
2021-08-30 16:55:49 -07:00
Seth Hillbrand
84c7cc6c21
Update to pybind11 v2.7.1
2021-08-30 16:55:36 -07:00
qu1ck
1d17e12371
Add json-schema-validator library
2021-08-27 21:11:47 +00:00
qu1ck
2ba41c9b27
Add picosha2 library
2021-08-27 21:11:47 +00:00
Roberto Fernandez Bautista
cad27f9baa
Clipper: Use std::function for Z fill callback
2021-07-03 19:37:50 +00:00
Roberto Fernandez Bautista
83263784ea
Define use_xyz in clipper.hpp to allow use of Z values
2021-07-03 19:37:50 +00:00
Marek Roszko
2bde19bde2
Patch pybind11 to use debug python libraries on windows
2021-06-01 20:18:24 +00:00
Marek Roszko
3c361aae59
Fix vcpkg find of python libraries
2021-06-01 20:18:24 +00:00
Seth Hillbrand
d585b6580d
Patchup pybin11 FindPythonLibsNew for MSVC
2021-06-01 20:18:24 +00:00
Seth Hillbrand
24f6cc99fa
Add missing cmake
2021-06-01 20:18:24 +00:00
Seth Hillbrand
256f259627
Fix PyBind11 _ usage to be compatible with i18n
2021-06-01 20:18:24 +00:00
Seth Hillbrand
81d58bcea9
Working python window
2021-06-01 20:18:24 +00:00
Mark Roszko
27bf45417a
Fix typo in arch name
2021-03-12 15:05:38 +00:00
Marek Roszko
db1f457ff9
Add msvc flag definition for ARM64
2021-03-10 21:48:04 -05:00
Marek Roszko
204e615b49
Fix wrong offset in msys2 x64 libcontext implementation not saving fiber data pointer
...
This should have/may have been causing random crashes on calls into win32 api. fiber data is located at offset 0x20 of the stack not 0x18.
2021-03-07 15:55:23 -05:00
Marek Roszko
ccaf352a5e
Add /safeseh for 32bit msvc libcontext
...
Special flag thats default for modern platforms already
2021-03-04 22:20:58 -05:00
Marek Roszko
2bf488e0c7
Add cmake option to enable win32 fibers
2021-03-04 21:48:26 -05:00
Marek Roszko
bdb141da0a
Fix fiber local storage offset (crashfix)
2021-03-03 21:14:17 -05:00
Marek Roszko
320b519278
Add assembly based libcontext implementation for MSVC builds
2021-03-03 21:14:17 -05:00
Jon Evans
24e375742b
Update nlohmann::json to 3.9.1
...
Release notes:
https://github.com/nlohmann/json/releases/tag/v3.9.1
2021-03-03 19:36:05 -05:00
Marek Roszko
907e282347
Silence some msvc warnings
...
- exception variables that were unused
- RAYSEG2D improperly foward declared with class instead of struct
- unused vars
2021-02-20 11:58:55 -05:00
Marek Roszko
627d321ec5
Remove questionable dropping of inline for msvc in markdown2html
2021-01-31 19:54:33 -05:00
Marek Roszko
9d0b16e814
bool/int type safety
2021-01-31 19:54:32 -05:00
Marek Roszko
b17ba9d632
Tiny tiny cleanup
2021-01-31 19:09:28 -05:00
Seth Hillbrand
1a3ab551cf
Cleanup
...
FindLineSegmentIntersection() was refactored in 2012 but there are a few
uses that didn't get updated. This finalizes the cleanup
Fixes https://gitlab.com/kicad/code/kicad/issues/7365
2021-01-31 15:55:52 -08:00
Jiajie Chen
ce8039c327
libcontext: Initial support for Apple Silicon
...
The assembly for apple_arm64 is adapted from linux_arm64 target with small modifications:
1. Re-enable FPU conditional save/restore as apple_x86_64 does
2. Workaround limitation in relocation in assembly for clang
2021-01-08 19:51:28 +00:00
Ian McInerney
580293c7fa
libcontext: Call exit instead of random memory address on MSW x86_64
...
The original call would jump to a meaningless low address on error,
but the upstream Boost context and 32bit version of this function
call exit to properly terminate the code when this error occurs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6820
2020-12-23 23:40:56 +00:00
Ian McInerney
31c5776fc0
Add missing header to rtree
...
Another GCC11 header change that broke the build
2020-12-09 23:13:33 +00:00
jean-pierre charras
20880268bf
fix a few Coverity warnings
2020-11-26 07:36:37 +01:00
jean-pierre charras
e5daac97c2
fix compil warrnings (shadowed vars)
2020-11-20 09:13:31 +01:00
Marek Roszko
6dfcc8a755
dxflib_qcad: add <cstring> to includes for strlen() prototype
...
upstream commit
d4ea687c4a6039a43cc782fbbce477720df11e78
2020-11-19 19:19:59 -05:00
Marek Roszko
86d4daa591
dxflib_qcad: add support for flipped dimension arrows to dxflib
...
upstream: 2f8c19e2a4434f1ce2b94ac798028b9bb12c983a
2020-11-19 19:19:59 -05:00
Marek Roszko
d7e10c22c6
dxflib_qcad: match rename of DimAngularData to DimAngularData2L
...
upstream 1655be6c7d58609397e9f04cfaff08336d69b20e
2020-11-19 19:19:59 -05:00
Marek Roszko
baebf7036f
dxflib_qcad: Saving dimension with custom text position
...
upstream commit b4c74180a6857c7b63f7a71e1236930e85c15134
2020-11-19 19:19:59 -05:00
Marek Roszko
5ea6755594
dxflib_qcad: add dimscale support for leaders
...
upstream commit
049e1bf95138f32360609b83372e358963a9dd9c
2020-11-19 19:19:59 -05:00
Marek Roszko
ac31cee0cc
dxflib_qcad: fix DL_POLYLINE3D flag definition
...
upstream commit
3504cddee254bec2240456d8b3acbbc2dec06fef
2020-11-19 19:19:58 -05:00
Marek Roszko
4b890212ba
dxflib_qcad: fix LWPOLYLINE without Z values
...
upstream commit
715f02eee3f76e3862aeb788a2c814334f74186d
2020-11-19 19:19:58 -05:00
Marek Roszko
7fd37c39a1
dxflib_qcad: backport "cleanup"
...
upstream commits
6a43fa3c6d6a99f73bda7a36eaf3b78906d41380
f2db48daf183575a3767beed6345767901803cb9
722ee2223069afac1b5a3c02812242cd9f723b8a
2020-11-19 19:19:58 -05:00
Marek Roszko
1703eb8494
dxflib_qcad: cherry std::istream usage
...
upstream e0046e6dbff8148f5d8ef8e3f149ad99384c67a8
2020-11-19 19:19:58 -05:00
Marek Roszko
e8ae7e91e2
Fix MSVC warnings in dl_dxf.cpp
2020-11-19 01:24:32 -05:00
Marek Roszko
d0e504f26e
Better name the include guard
2020-11-19 01:06:29 -05:00
Marek Roszko
f7065a2643
Add missing include guard in gzip-hpp
2020-11-19 01:04:42 -05:00
Marek Roszko
9115f6031f
Suppress msvc warning due to pragma gcc
2020-11-19 01:03:58 -05:00
Ian McInerney
11e6cac42b
Introduce EGL backend support for the OpenGL canvas
...
wxWidgets 3.1.5+ on Linux will compile with the Wayland EGL
canvas as the backend instead of the X11 backend. This requires a
version of GLEW compiled with the proper EGL defines and a different
header/code for certain parts that are X11 GLEW specific.
This introduces an in-tree version of GLEW that will be built with the
GLEW_EGL flag then statically linked into the KiCad executables when
EGL support is needed.
2020-11-11 00:41:02 +00:00
Jeff Young
a730478d5d
Fixes to Clipper fixes.
...
Clipper was only broken when rounding down, not when rounding up.
2020-11-04 15:25:44 +00:00
Jeff Young
791a50b493
Remove work-around in favour of real fix in Clipper.
2020-11-04 11:21:45 +00:00
Dominik Wernberger
6a93b523cf
Add const specifier
2020-10-13 17:51:59 +00:00
Ian McInerney
00058f79d1
Update lemon to most recent upstream version
...
This fixes a missing variable initialization.
2020-09-22 12:34:05 +01:00
Ian McInerney
2becd368d9
Thirdparty: Properly handle error condition in nanosvg
...
ftell() returns -1 on an error, so it must be a long return
type, and we should test for its failure.
(found by Coverity)
2020-09-20 22:39:31 +01:00
Ian McInerney
68985490c6
Update lemon and its template to most recent upstream version
...
This should fix some Coverity warnings about memory management
in the lemon tool (less critical), but also fix improper
memory accesses in the generated parsers (labeled critical
by Coverity).
Ref: https://sqlite.org/forum/forumpost/edecf32da3
2020-09-20 22:27:11 +01:00
Marek Roszko
f9e379c82a
Minor format
2020-08-28 02:30:04 +00:00
Marek Roszko
cb013604a9
jump_fcontext should set the outValue of fiber being switched to rather the one being switched from
...
Fixes #5162
2020-08-28 02:30:04 +00:00
Marek Roszko
3b1f1f7b6a
Use CreateFiberEx instead of CreateFiber, ConvertThreadToFiberEx instead of ConvertThreadToFiber
...
- Allows specifying FIBER_FLAG_FLOAT_SWITCH to save FP registers (it doesnt by default on win32 but does on win64)
- Specify a commit stack size one byte less than the reserve stack size or else Windows rounds up to the nearest allocation size above the desired size
2020-08-28 02:30:04 +00:00
Seth Hillbrand
a38c2aad1f
ADDED: Support compressed STEP and VRML files
...
This adds support for opening .stpZ, step.gz and .wrz files where the
files have been compressed using ZIP or gzip according to the "standard"
published by the MBx volunteer forum at
https://www.cax-if.org/documents/rec_prac_file_compression_v12.pdf
Fixes https://gitlab.com/kicad/code/kicad/issues/2479
2020-08-19 03:20:30 +00:00
Tomasz Wlostowski
8b716b2b5c
thirdparty/lemon: post-rebase fixes
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
4abe71d2ef
libeval_compiler: implemented unary +/- operators
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
c88c8102e5
libeval_compiler: fixed segfault for "(number)" expressions.
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
a5a06e3c89
libeval_compiler: general clean up of the Lemon grammar + some smart pointers + killed all memory leaks. WIP!
2020-08-13 14:50:59 +02:00
Seth Hillbrand
7c455f2357
First pass at DRC RTree functionality
...
This implements a copper-layer RTree with functions for iterating over
the elements in a copper layer and providing Nearest Neighbor returns
for BOARD_CONNECTED_ITEMS
2020-08-11 16:52:29 -07:00
Ian McInerney
0a1d8c1aaa
Move lemon parser generation into build directory
...
This moves the generated files out of the source tree and into
the build directory. They are now regenerated each time they are
needed, based on the timestamp of the generated file compared to
the timestamp of the lemon file.
To do this, we also bundle lemon into the thirdparty directory
and build it for ourselves since it is a very tiny program and
not all platforms seem to distribute it in a consistent manner.
Fixes https://gitlab.com/kicad/code/kicad/issues/5013
2020-08-10 13:53:54 +00:00
Jeff Young
16c645bfd9
Quiet the CLang compiler.
...
(It's a false-positive, but CLang doesn't seem to know any better.)
2020-08-02 22:45:48 +01:00
Jon Evans
0d70cb70ea
Update nlohmann::json to 3.9.0
...
Release notes:
https://github.com/nlohmann/json/releases/tag/v3.9.0
2020-08-02 13:11:16 +00:00
Seth Hillbrand
acf4756e73
Remove extraneous build warning
2020-07-25 14:10:53 -07:00
Tomasz Wlostowski
151b4e4e5e
libcontext: clean up own's shit when coroutine call is over (MSVC only)
2020-07-22 16:57:54 +02:00
Ian McInerney
b5adf5bb21
Only try to remove the implicit conversion warning if it is supported
2020-07-03 02:59:19 +01:00
Seth Hillbrand
4ef02fd699
Replace TTL delauney triangulator
...
Removes the TTL triangulator in favor of the delaunator triangulator.
This removes the only AGPL code in the KiCad codebase and therefore
allows the full project to be licensed under the GPLv3.
2020-06-25 18:45:27 +00:00
Ian McInerney
e4b6487fca
Overhaul compiler warnings infrastructure
...
* Track our warnings separate from normal flags
* Remove all warnings from the SWIG code
* Add more GCC warnings
2020-05-06 01:47:20 +01:00
Thomas Pointhuber
b707c84b62
Use Record handling for parsing
...
Now, we know how big a record is, and should be able to parse all boards without missing bytes?
2020-04-03 23:22:24 +00:00
jean-pierre charras
48fba00eb4
Fix a compil warning.
...
Fixes #3964
https://gitlab.com/kicad/code/kicad/issues/3964
2020-03-05 09:54:14 +01:00
Jon Evans
1449af40ed
Add forward-declaration header for nlohmann/json
2020-02-19 23:43:43 -05:00
jean-pierre charras
79e7a27492
Fix a few Coverity warnings.
2020-02-02 08:55:24 +01:00
Jeff Young
e42788a3eb
Avoid divide-by-zero.
2020-01-15 18:21:42 +00:00
Jeff Young
32823a0855
Handle nullptr.
2020-01-15 17:51:48 +00:00
Seth Hillbrand
6a47d0f507
RTree: Fix iterator in single branch trees
...
In a single branch tree, we need to verify that all leaves do not match
the input search before returning.
Fixes #3764 | https://gitlab.com/kicad/code/kicad/issues/3764
2020-01-14 10:42:04 -08:00
Jeff Young
91d1508c16
Fix some Coverity identified issues.
2020-01-13 20:16:40 +00:00
jean-pierre charras
c3fc98c31d
Fix a compil error.
...
Fixes #3763
https://gitlab.com/kicad/code/kicad/issues/3763
2020-01-13 08:59:57 +01:00
Jeff Young
9e8a66a0a3
Don't try to clear memory if the bitmap has an invalid size.
2020-01-13 00:18:49 +00:00
Mark Roszko
94a9e81a0f
Fixes invalid initialization for Rect in rtree iterator.
...
The rtree has the rect array sizes templated by NUMDIM, initializing with 3 default values violates the templating.
2020-01-11 15:49:51 +00:00
Seth Hillbrand
6e5e453d0d
Replace EESchema DLIST
...
This moves EESchema DLIST structures to rtree. These changes are more
fundamental than the pcbnew changes from 9163ac543
888c01d11
d1877d7c1
and 961b22d60
as eeschema operations were more dependent on passing
drawing list references around with SCH_ITEM* objects.
2020-01-10 06:37:08 -08:00
Ian McInerney
792e841ecf
Update readme for libcontext
...
Provide the background for why this library exists
2020-01-07 20:55:15 +00:00
Ian McInerney
3342055af6
Remove section changes inside libcontext _asm calls
...
Changing the section like this in inline assembly
is not supported, and leads to issues because code
following the inline assembly macro ends up in the
wrong assembly section. This was causing linking
errors on gcc.
The files appear to be compiled so that the stack
isn't executable anyway, so we don't need to manually
create the section to say that.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93190
2020-01-07 18:53:35 +00:00
Ian McInerney
13b6028e1b
Refactor all math into a new kimath library
...
* Split up the thirdparty code into the thirdparty folder (#3637 )
* Create a new kimath static library containing all the math functions
This is part of cleaning the build system for #1906 .
2020-01-07 17:12:59 +00:00
Jon Evans
772835e3e3
Add fifo_map and use it for Gerber job file generation
2020-01-04 11:05:09 -05:00
Jon Evans
3cb05155be
Remove one level of nesting; add README.txt
2020-01-04 10:46:50 -05:00
Jon Evans
4ae4c4e243
Switch from JSON11 to nlohmann/json in GerbView
...
See #3638
2020-01-04 10:46:49 -05:00
Ian McInerney
5c0656d97f
Move potrace and libcontext into thirdparty directory
...
Part of the cleanup in #3637
2019-12-28 18:17:55 +00:00
Ian McInerney
6b9f2ac91a
Move markdown2html into thirdparty directory
...
Part of https://gitlab.com/kicad/code/kicad/issues/3637
2019-12-19 17:57:15 +00:00
Ian McInerney
116ac9aa75
Move dxflib, tinyspline and nanosvg into a thirdparty library directory
...
Part of fixing https://gitlab.com/kicad/code/kicad/issues/3637
2019-12-19 17:41:02 +00:00