The resetting of `CMAKE_SWIG_FLAGS` to the empty string in the bindings'
CMakeLists.txt files was clearing away the definitions for things like
`USE_IMAGEMAGICK` and `USE_BLACKMAGIC`, causing the bindings to be built
_without_ those classes even if they're available in the library.
* Remove a SWIG pragma from Frame.h (gcc warns on it)
* Place the equivalent %warnfilter in the openshot.i files
* Set openshot.i PROPERTY GENERATED_COMPILE_OPTIONS with flags to
disable warning spew in generated SWIG code, if -Wall is used
(Also, remove 'using namespace std' from Frame.h, and add std::
prefixes to necessary variables.)
I somehow missed that `if(POLICY CMPxxxx)` exists to wrap `cmp_policy()`
calls so only CMake versions that understand that policy attempt to set
it. Which is way smarter than the version-based logic I was using.
I snuck `src/bindings/*/CMakeLists.txt~` files into one of my
recent commits somehow. This commit removes them, and adds an
explicit `*~` to `.gitignore` to help prevent a repeat occurrence.
When Ruby attempts to load the FFmpeg header files, it'll complain that
RSHIFT is redefined if the Ruby definition is still in place. So, we
define RB_RSHIFT to contain the Ruby definition, undef RSHIFT, load the
FFmpeg headers, move its RSHIFT into FF_RSHIFT if necessary, and then
restore Ruby's RSHIFT from RB_RSHIFT.