This allows a const BITMAP_BASE to expose const image
data. This is currently done with const_casts, which is
"OK", only as long as the source image is not declared
const, in which case it's undefined behaviour.
Also immediately dereference the pointer to a reference
if it's not checked to make the non-null requirements
explicit at the point of access.
Both versions of EDA_DRAW_FRAME::isBusy have a useless const_cast.
GetScreen() const returns a non-const SCH_SCREEN already, it doesn't
need to be cast, and it's stored in const SCH_SCREEN anyway.
The Boost::boost style library dependencies don't work
on some CMake versions (couldn't find library -lBoost::boost)
Use ${Boost_INCLUDE_DIRS} in the target_include_dirs() instead.
This is useful when working on code paths that rely on KiWay
communications, since you can run and debug the kicad application
without needing to run an install task first.
Provides a place to record work that is pending due to
library, compiler or language restrictions.
Because some of this work will be pending for several years
until supported distros support the relevant versions, having
this centrally documented prevents it being forgotten.
Also includes current distro versions for extant "LTS"
distros that are likely to be the distros holding back
library versions.
Only includes things we currently actually do work around
in the code, or things that are direct C++ replacements
(e.g. Boost libraries being adopted to C++).
This is as opposed to more opinion-based "we should
do it this way, it's better" things, which should be
proposed for discussion first.
In OpenSSL 1.1.0 and newer, the locking callback macros do nothing.
This causes unused warnings for the static function lock_callback.
Ignore this function on newer OpenSSL builds, but keep
the infrastructure for now.
When OpenSSL's min version is 1.1 or greater, all the locking
infrastructure can be removed.
In the failure case, the "makeType" is uninitialised. In a non-debug
build, wxFAIL will compile out and the uninitialised behaviour will
happen silently. In a debug build, it'll assert, and then do the
uninitialised behaviour anyway.
Continue explicity to avoid this.
This allows CI tools to get machine-readable test reports.
By default, this is off - when you test normally, you probably
want the regular console spew.
Boost tests use the in-built Boost test command line options.
The Python tests take an --xml parameter and output the tests
there.
If neither OCC or OCE is available, the kicad2step_lib
target is not created, so the unit tests also cannot
be built. Detect missing libs and abort the test
target creation in that case.
Reverts (and fixes): 3a8ffd66c