Commit Graph

2978 Commits

Author SHA1 Message Date
rdb 565f97b3b9 CMake: properly default build type to Standard
This wasn't being set properly because it needs to be set before the project() call
2020-04-13 15:10:20 +02:00
rdb ffed048c3e CMake: NOTIFY_DEBUG should be turned on in Standard build 2020-04-13 13:17:51 +02:00
rdb 00b81f381a prc: give StreamWrapperBase virtual destructor (fixes compile error)
The compile error was observed with VS 2019 + clang-cl + Ninja + CMake in a Standard build on Windows 10.
2020-04-13 13:15:58 +02:00
rdb d403b16249 dtoolutil: fix compile warnings on Windows 2020-04-13 12:33:02 +02:00
rdb 9d8c523dfa putil: Assorted improvements to BitArray, SparseArray, *BitMask*:
* Support converting BitMask types to int
* BitArray constructor accepts a Python long of arbitrary size
* DoubleBitMask (and QuadBitMask, by extension) supports Python long in constructor
* Support for pickling (except DoubleBitMask)
* All of them now properly define __bool__()
* More unit tests

Fixes #886
2020-04-01 20:31:16 +02:00
rdb a203ff11fc interrogate: support __getstate__ and __setstate__
The latter in particular will be called instead of __init__, so must construct the object.
2020-04-01 18:59:44 +02:00
rdb a34867ae4f interrogate: support __int__ -> nb_int slot mapping 2020-04-01 18:59:44 +02:00
rdb fd5ec07a47 notify: make Notify::config_initialized() static
This may be slightly more efficient.
2020-03-08 10:48:50 +01:00
rdb c9520c8daf Merge branch 'release/1.10.x' 2020-03-06 10:15:25 +01:00
rdb 0b87673747 dtoolbase: fix compilation error with musl
Fixes #875
2020-03-01 15:14:15 +01:00
rdb c59b91f503 Merge branch 'release/1.10.x' 2020-02-23 14:53:16 +01:00
kamgha c2866ea4ed Fix includes for Windows on case-sensitive filesystems
Closes #866
2020-02-22 12:55:45 +01:00
rdb 4ef8e5228e interrogate: fix ability to return ReferenceCount-like classes
Classes with virtual ref(), unref() and get_ref_count() methods, like RecorderBase, could not be returned by PT() from methods because they didn't inherit from ReferenceCount.  However, classes do not need to inherit ReferenceCount to be able to be tracked by a PointerTo, and defining an abstract base class with pure virtual ref()/unref()/get_ref_count() is a way to avoid dual inheritance of ReferenceCount.
2020-02-22 12:10:55 +01:00
Leandro (Cerberus1746) Benedet Garcia 5f7809469c general: removed all WIN32, WIN32_VC and friends 2020-02-05 22:45:03 -07:00
rdb b272af8bbf Merge branch 'cmake' 2020-01-22 11:20:51 +01:00
Sam Edwards d0b6e2275d CMake: Remove IS(_NOT)_MINSIZE_BUILD 2020-01-21 18:15:28 -07:00
Sam Edwards 36e06236a9 CMake: Remove IS(_NOT)_DEBUG_BUILD 2020-01-21 17:42:17 -07:00
Sam Edwards 68f1083dbf CMake: Make HAVE_VIDEO4LINUX dependent on Linux 2020-01-21 17:07:04 -07:00
rdb 601fc8f46a dtool: remove obsolete PandaVersion.pp
This file was used by ppremake and is no longer used by makepanda.
The version number should instead be obtained from the setup.cfg file in the root.
2020-01-13 15:14:21 +01:00
rdb 1bb4a032aa Drop support for Windows XP 2020-01-13 15:06:44 +01:00
rdb 2960ae60e2 Bump version number on release/1.10.x branch to 1.10.6
[skip ci]
2020-01-13 15:05:39 +01:00
Sam Edwards 572019bd50 CMake: Remove reference to PhysX 2020-01-12 13:53:26 -07:00
Sam Edwards 151d51ef09 CMake: Autodetect THIRDPARTY_DIRECTORY when in source root 2020-01-12 12:02:22 -07:00
Sam Edwards a1d43f7b88 CMake: Fix WANT_PYTHON_VERSION not always being respected 2020-01-08 21:03:52 -07:00
Sam Edwards ce6caa8d3e CMake: `/etc/*.prc` -> `/etc/panda3d/*.prc` 2020-01-07 17:04:30 -07:00
Sam Edwards 0aa599feeb CMake: Take away the HAVE_TINYDISPLAY option
This is at least until we can support building it, so that
other components in Panda don't assume TINYDISPLAY is present.
2020-01-07 13:16:51 -07:00
Sam Edwards b00d7b23bc CMake: Use `CMAKE_FIND_PACKAGE_PREFER_CONFIG` to control `find_package` override 2019-12-31 06:48:06 -07:00
Sam Edwards 74e9c610d3 CMake: Don't assume <PackageName>_FOUND will always be caps
This is more consistent with the new find_package() behavior,
especially when CONFIG mode is involved.
2019-12-31 06:47:34 -07:00
rdb b78b7be326 Merge branch 'release/1.10.x' 2019-12-30 01:50:54 +01:00
rdb ac85b05400 py_compat: fix _PyObject_CallNoArg in Python 3.5 2019-12-25 16:32:19 +01:00
Sam Edwards cdc16291dd CMake: `SKIP_COMPOSITING` -> `SKIP_UNITY_BUILD_INCLUSION`
The latter is what CMake (3.16+) itself uses; we should start using
CMake's own unity build capabilities if available.
2019-12-24 17:20:43 -07:00
Sam Edwards 10760d5f7a CMake: Properly redetect Python if WANT_PYTHON_VERSION changes 2019-12-24 16:16:31 -07:00
pmp-p 8615e25a12 interrogate: use fully qualified module name in PyModule_Create
This is helpful when static linking and explicitly initializing the modules.

Closes #308
2019-12-11 16:49:42 +01:00
rdb 9565d99fab Merge branch 'release/1.10.x' 2019-12-08 15:18:51 +01:00
rdb 97a19c278b parser-inc: define __SIZE_TYPE__ and __PTRDIFF_TYPE__
This fixes an Interrogate parse error in termux when /usr/include gets added as -S argument
2019-12-08 10:28:50 +01:00
Sam Edwards e474350a48 CMake: Add a "Coverage" configuration, when using GCC/Clang 2019-12-05 10:35:25 -07:00
Sam Edwards 6bde9423df CMake: Don't pass GNU-like -f options to clang-cl 2019-12-05 10:34:47 -07:00
Sam Edwards 5c98b793a2 CMake: Make sure C++11 is marked as the required standard 2019-12-05 10:34:47 -07:00
Sam Edwards cfedd71093 CMake: Disable searching macOS frameworks when using THIRDPARTY_DIRECTORY 2019-12-05 10:34:47 -07:00
Leandro Benedet Garcia 71dfc51f8a general: Changed macros and definitions for the engine to compile with MinGW (#793) 2019-12-02 09:21:01 -07:00
Leandro Benedet Garcia ae33d62978 general: Update EXPCL declarations to be MinGW-friendly (#792) 2019-11-27 11:25:24 -07:00
Sam Edwards 4556059c90 CMake: Use find_program to detect host tools when cross-compiling
In the future, we should also try to do find_package(Panda3D) to use
the host tools even if Panda3D isn't in a system path.
2019-11-13 15:30:26 -07:00
Sam Edwards f377bdfb29 CMake: Copy thirdparty/**/*.dll to bin/ directory 2019-11-13 15:30:23 -07:00
Sam Edwards ae59bd031f CMake: Fix typo 2019-11-11 20:16:00 -07:00
Sam Edwards 0b342d0f9f CMake: Don't use PythonInterp/PythonLibs when FindPython available 2019-11-11 00:48:14 -07:00
Sam Edwards 1c866dff78 CMake: Don't override Python_ROOT 2019-11-11 00:48:11 -07:00
rdb 1b863ead55 cppparser: fix finding types in explicitly specialized template class 2019-11-09 20:26:33 +01:00
Sam Edwards 9b7bcf2564 Merge branch 'master' into cmake 2019-11-07 21:21:04 -07:00
rdb d2bd4181e0 interrogate: set tp_base to DTOOL_SUPER_BASE and tp_basicsize to 0
The tp_basicsize field, as well as a few others, seem to be inherited from whatever is set in tp_base.  In absence of a tp_base, Python will set it to PyBaseObject_Type, which is not at all correct for Panda types.
2019-11-06 10:49:53 +01:00
Sam Edwards 856754a3de general: Don't abuse PyErr_Restore
The intended purpose of this function is to restore an exception
that has already been raised and saved with PyErr_Fetch. It should
not be used to raise new exceptions nor should it be used to clear
the current exception.

The especially egregious example is
`PyErr_Restore(exc_type, nullptr, nullptr);`
as the null value may not be handled correctly.
2019-11-05 18:44:20 -07:00