3303 Commits

Author SHA1 Message Date
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
Sam Edwards
0e0b2186c7 CMake: Add #line directives to interrogate_preamble_python_native 2019-11-04 16:43:12 -07:00
Sam Edwards
cf59d3d983 CMake: Remove p3dtoolconfig from build
It's just p3prc now, so instead we install some symlinks
2019-11-04 14:02:06 -07:00
Sam Edwards
5b4ea0e277 CMake: Proper Standard compiler flags for MSVC 2019-11-04 13:41:20 -07:00
rdb
a72be90f17 Merge branch 'release/1.10.x' 2019-10-29 23:13:22 +01:00
rdb
4098f55d70 dtoolutil: record stdlib (libc++ vs libstdc++) in PandaSystem
This is particularly relevant on macOS, for finding out which stdlib Panda was compiled with.
2019-10-25 10:21:30 +02:00
Sam Edwards
12c16eb9ff Merge branch 'master' into cmake 2019-10-15 23:43:25 -06:00
Sam Edwards
9ecaa0056b CMake: Break out p3interrogatedb as a first-class library 2019-10-15 23:27:03 -06:00
rdb
247f3c415a Merge branch 'release/1.10.x' 2019-10-08 19:50:48 +02:00
rdb
c6990b9f9b prc: fix possible stack overflow in StreamReader
Fixes #754
2019-10-08 19:44:23 +02:00
rdb
3c9591cfbf interrogate: envelop function calls in parentheses
This reduces the risk of calling a preprocessor macro instead of a method.
2019-10-08 19:43:34 +02:00
rdb
fb5440bd07 cppparser: hack fix for method defs in parentheses 2019-10-08 19:43:34 +02:00
rdb
657af0edb5 cppparser: don't expand function-style macro if not followed by ( 2019-10-07 18:38:21 +02:00
Sam Edwards
5961cc2ee0 Merge branch 'master' into cmake 2019-10-05 15:00:49 -06:00
Sam Edwards
aadcb179d6 CMake: Change default build type to Standard 2019-09-21 02:45:46 -06:00
Sam Edwards
9bb59b03b9 CMake: Add several essential flags
See GH #717 for relevant discussion
2019-09-19 22:33:11 -06:00
Sam Edwards
bd1605907e CMake: Rename 'Distribution' config to 'Standard'
This is the configuration shipped to Python developers
in the form of the public SDK.
2019-09-19 22:18:28 -06:00
Sam Edwards
8429f50d3a CMake: Use -fno-rtti on most build configurations 2019-09-19 04:44:46 -06:00
rdb
5242b6a8b4 interrogate: remove apparently-unused definition 2019-09-16 21:22:16 +02:00
rdb
9d14117ad3 Merge branch 'release/1.10.x' 2019-09-16 21:20:20 +02:00
rdb
343c808fc4 dtoolbase: fix repeated calls to TypeRegistry::ptr() in register_type 2019-09-16 21:09:15 +02:00
rdb
f4926bff20 Fix a variety of ABI compatibility issues
We need third-party extensions that link with the Panda3D libraries to continue to work when shipping them with the optimized libraries that deploy-ng uses.  To do this, we need the optimized build not to omit symbols that these extensions might depend on.
2019-09-16 03:33:09 +02:00
rdb
5a23821ac1 notify: work around GCC 4.7 compilation issue with constexpr
This can be reverted on master if we can verify that it does work with GCC 4.8.
2019-09-16 03:27:22 +02:00
rdb
d7681b23d3 notify: fix ABI incompatibility with NDEBUG on Windows
On MSVC (not with GCC/clang), adding `static` changes the mangled symbol name, so we shouldn't add that when building with NDEBUG.  On GCC/clang, it doesn't, but adding `const` does, and C++11 rules make `constexpr` methods implicitly `const`, so I've removed the `constexpr` variants from NotifyCategoryProxy for now.  Hopefully the compiler is still smart enough to compile out any references when compiling with NDEBUG.
2019-09-15 20:24:58 +02:00
Mitchell Stokes
660249a5cc Remove p3d/AppRunner/plugin system
Co-authored-by: rdb <git@rdb.name>

Closes #734
2019-09-10 16:49:57 +02:00
rdb
2c42cfcc1a Merge branch 'release/1.10.x' 2019-09-10 16:34:11 +02:00