Commit Graph

2952 Commits

Author SHA1 Message Date
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
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
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
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
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
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
rdb 72b1814331 interrogate: fix comment in C bindings for default arguments
Fixes #732
2019-09-10 09:37:25 +02:00