CMake 3.15+ provides the former, which extension modules should link
against in order to ensure the ABI-appropriate linkage for the
platform.
For older versions of CMake, try to hack up the correct linkage for
the platform. If the platform isn't recognized, tell the user to
upgrade CMake.
This also tweaks p3pystub just a bit, since now it's actually relied
upon to resolve runtime link issues when p3dcparse pulls in direct,
as p3dcparse doesn't link against Python at all.
It doesn't contain any source files anymore (see last commit),
so for non-metalib builds, this is necessary for CMake to
understand how to invoke the linker/archiver.
This code is so heavily dependent on Python (and makepanda
doesn't even build it into libp3direct) that we shouldn't
even try to put it in the libp3direct library ourselves.
It describes more accurately what it does, which is attach the MouseWatcher to it. Though it was intended to help with GUI navigation, it can also be used for eg. polling button states.
This allows using mutices in with-blocks and wraps up the functionality of acquire() and try_acquire() into a single acquire(blocking=True).
Furthermore, the GIL is no longer released in cases of no contention.
Really, though, don't use this function. It does not consider new-style classes, is not consistent in its return values and it seems to do nothing that repr(type(x)) doesn't do.
Destroying DirectScrolledFrames currently crashes the game, because they are destroyed twice. This commit makes sure to destroy the scrolls only once.
Closes#574
Since in Python 3 `str == bytes` no longer holds true, I modified
the source to write a text file, which it actually is, instead of a
binary file.
Closes#553Fixes#543
* In C++ reference, only pick up classes defined in .h file
* Add a few excludes to C++ reference that aren't public API
* On class index pages, reduce number of columns
* Add @since for some methods/classes that are new in 1.10.0
* Fix/improve a few docstrings here and there