In some cases it was not working well.
Opengl was using an other algo (using the curve properties to create segments)
Now only the OpenGL algo is used,
with optimization to reduce the number of segments.
* Changed the KICAD_SCRIPTING flag to be a global disable, so it
will disable all other scripting flags when set to OFF
* Added version testing with the wxPython flags to ensure the
proper version is found for the flags provided
(cherry picked from commit 42e14b5a4e)
Clang compiler uses the same syntax for sending flags to the linker as
gcc. If we use -XLinker, we can't use comma-separated options but
there appears to be no reason to anyway. Removes extra warning quieting
that was added for compiling Boost in tree.
Build fails on GCC, but not with Clang. Modify the check to only catch the
cases where GLM does not work for sure.
Reference: lp:1804030
* https://bugs.launchpad.net/kicad/+bug/1804030
Cairo supports antialiasing when rendering but can be slow when set to
sub-pixel mode. This bumps the minimum version of Cairo to 1.12
(available in 14.04 LTS as well as mingw) to support three antialias
settings (fast, good, best) that offer speed/appearance tradeoffs.
This can provide a higher-quality eeschema render as it works on a
per-element basis as opposed to the OpenGL per-screen antialias.
GLM version 0.9.9.3 has a C++11 error that causes issues for KiCad.
Earlier version function as expected. Since GLM is header-only, forcing
the version during compilation is sufficient to ensure that the
executable functions correctly.
Fixes: lp:1804030
* https://bugs.launchpad.net/kicad/+bug/1804030
Phoenix reports version 4.x but wxWidgets do not follow this version.
Phoenix also does not have or require the wxPython.h file.
Fixes: lp:1801109
* https://bugs.launchpad.net/kicad/+bug/1801109
The compile flag -ffloat-store requires floating point values to be
stored in memory rather than in registers to prevent errors when two
numbers are compared that were stored in different locations.
This commit finishes the removal of OpenMP from the KiCad codebase.
Removed in this commit are the OpenMP calls in 3d-viewer and
qa/polygon_triangulation as well as all references in CMakeLists.txt
std::thread is used instead for multithreaded computation
Certain distribution does not handle GLVND well, as the result the
accelerated canvas is not enabled. For the time being it is better to
keep using the legacy preference.
Thanks to Aurelio Lucchesi for investigating the cause.
Fixes: lp:1781581
* https://bugs.launchpad.net/kicad/+bug/1781581
It forces link option -g1 instead og -g3 which allows basic debug.
This is especially useful on Mingw because binaries in debug build are very large:
_pcbnew.kiface: 1.25 Gb, small file option: 65Mb
wxWidgets_CONFIG_OPTIONS can be utilised to explicitly select GTK2 or GTK3. It
must be evaluated when querying the toolkit to avoid a mismatch between the
version actually used and the version KiCad assumes to be used.
Reapplied the original version. The previous patch has been modified
under an invalid assumption of being incompatible with msys2.
wxWidgets_CONFIG_OPTIONS can be utilised to explicitly select GTK2 or GTK3. It
must be evaluated when querying the toolkit to avoid a mismatch between the
version actually used and the version KiCad assumes to be used.
The opencascade patch intrusively checked against libraries but broke
some build scripts. This restores the default cmake OCE behavior that was
changed by 2bab30d9a and makes the OpenCascade search truly secondary.
This is substituted at configuration time, creating an absolute path, which
breaks overriding CMAKE_INSTALL_PREFIX at installation time, breaking the
workflow for installation using GNU stow.
This ensures that GLM objects are still initialized correctly when new
version of this library are used (after 0.9.9-a2).
This also fixes display corruption in 3D-viewer with Raytracer.
Fixes: lp:1762379
* https://bugs.launchpad.net/kicad/+bug/1762379