23892 Commits

Author SHA1 Message Date
Sam Edwards
5fa4af9189 CMake: Rely on GNUInstallDirs to specify install paths
This makes multiarch OSes happy as they can dictate that
64-bit libraries go into 'lib64'
2019-08-31 00:48:42 -06:00
Sam Edwards
1a654cba04 CMake: Record the location that headers are installed
This populates INTERFACE_INCLUDE_DIRECTORIES on the targets
after they're installed.
2019-08-30 22:58:18 -06:00
Sam Edwards
faced9aa49 CMake: Grab all CMAKE_CXX_FLAGS(_<CONFIG>) -Ddefines for Interrogate 2019-08-30 16:53:45 -06:00
Sam Edwards
a42f1a49a4 CMake: Interrogate needs -DNDEBUG when -DNDEBUG is passed as a flag
Some buildsystems (Gentoo's Portage, to be specific) are very
roughshod about how they use CMake, and might bypass the
"configuration types" system altogether, passing their own release
flags instead. This change detects that and ensures that Interrogate
picks up the NDEBUG flag when it's specified manually.
2019-08-29 23:09:28 -06:00
Sam Edwards
cde25670d6 CMake: Remove some uses of CFG_INTDIR
It's not install() friendly, so we use $<CONFIG> instead in
some cases. Unfortunately, $<CONFIG> isn't friendly with
add_custom_command's OUTPUT options while CMAKE_CFG_INTDIR
explicitly is, so we use a hybrid approach until CMake gets
its act together.
2019-08-28 17:12:01 -06:00
Sam Edwards
08b4793d9a travis: Also set WANT_PYTHON_VERSION on macOS 2019-08-25 23:42:31 -06:00
Sam Edwards
e88f28e9c7 travis: Force CMake to use ccache 2019-08-25 21:00:23 -06:00
Sam Edwards
8588ddc3dc CMake: When building on MSVC, add /bigobj to compiler where necessary 2019-08-25 15:54:02 -06:00
Sam Edwards
855d217f35 CMake: Update for upstream changes
- Miles is gone; remove all references
- pystub is gone; remove all references
- dcparser uses Interrogate extensions properly; don't depend on Python
- stringStream* moved to express from downloader
2019-08-24 18:07:22 -06:00
Sam Edwards
19ed9f6b47 Merge branch 'master' into cmake 2019-08-24 18:07:12 -06:00
Sam Edwards
55cfc6c2b9 CMake: Pass _MSC_VER to Interrogate under MSVC 2019-08-24 18:07:07 -06:00
Sam Edwards
abc941245e general: Fix missing includes (and one forward declaration) 2019-08-24 18:05:28 -06:00
Sam Edwards
9ec66e3e28 travis: Let's see what happens if we use ccache 2019-08-23 20:35:50 -06:00
Sam Edwards
fc54251f61 CMake: Fix PandaModules.py not copying 2019-08-23 20:35:50 -06:00
Sam Edwards
60c1570db8 CMake: Add support for makepanda-style thirdparty directories 2019-08-23 16:09:13 -06:00
Sam Edwards
afe7ffb964 CMake: Fix several modules' search behavior
This makes these modules behave better when encountering
the makepanda thirdparty/ directory.
2019-08-23 16:09:13 -06:00
rdb
5e7e64179b cleanup: fix a host of unprotected debug/spam messages 2019-08-23 18:58:57 +02:00
rdb
1ec7c5d20e Delete pystub, it is no longer needed or used for anything. 2019-08-23 18:58:53 +02:00
Sam Edwards
6c3013a29c dcparser: move Python-specific code to extension files
We can now build dcparser without linking to Python and dcparse.exe's dependency on pystub is removed.

Co-authored-by: rdb <git@rdb.name>
2019-08-23 18:58:19 +02:00
Sam Edwards
36df3bdf0b dcparser: Delete dcPython.h
py_panda.h has the same purpose; we also don't want
Python.h brought in from the headers (only from the
.cxx files) so that including the headers won't require
linkage against Python.
2019-08-23 13:15:36 +02:00
rdb
0e4597fb2e cppparser: fix finding types in explicitly specialized template class 2019-08-23 13:15:36 +02:00
rdb
8c40ff39d7 bullet: fix contact added callback behavior
The API seems to imply that the callback is per-world, when it is actually a global setting.  This fixes it to truly behave per-world.  This also fixes a crash on shutdown caused by the callback destructing when the Python interpreter is already shutting down.

Fixes #712
2019-08-23 12:18:47 +02:00
rdb
665d2fc56b Merge branch 'release/1.10.x' into incoming 2019-08-23 10:53:09 +02:00
rdb
806496d191 ffmpeg: proper fallback when compiling without libswscale
Compiling with libswscale isn't really optional if you want to play most video files, but if you know what you are doing and all your videos already have a supported pixel formats, it is now possible.

Fixes #711
2019-08-23 10:51:52 +02:00
Sam Edwards
c62d5fbe35 CMake: Fix incorrect comment 2019-08-22 14:58:43 -06:00
Sam Edwards
6cb62d1d18 CMake: When zlib isn't available, run_pzip() should copy at build-time
This prevents copying to configurations that the user isn't going
to build, and also plays nice with multi-configuration generators
where the configuration isn't known until build-time.
2019-08-22 14:58:43 -06:00
Sam Edwards
9ca4f19b90 CMake: Make sure we define flags variables for Distribution
This fixes a CMake error with the MSVC generator, but it's also
generally good to have around.
2019-08-22 14:58:43 -06:00
Sam Edwards
896a8dbca5 CMake: Some more changes to p3pystub
- Don't build it at all on Win32 where it isn't needed
- Don't link it into interrogate_module (oops, missed that)
2019-08-22 14:58:43 -06:00
rdb
88f8071dfc tests: add unit tests for direct.showbase.Loader.Loader class 2019-08-22 10:45:36 +02:00
rdb
2575c01261 Loader: fix passing a tuple to loader.loadModel 2019-08-22 10:44:34 +02:00
rdb
f0ba25e11d tests: work around Python 2.7 tempfile case bug on Windows 2019-08-20 14:40:15 +02:00
rdb
7d34526c33 tests: fix OS-specific filename issue on Windows with loader tests 2019-08-20 14:00:15 +02:00
rdb
b23561d863 tests: add unit tests for Python loader file types 2019-08-20 13:23:11 +02:00
rdb
f63b3a86b9 loader: add LoaderFileTypeRegistry.unregister_type() 2019-08-20 13:23:11 +02:00
rdb
c2f49f4c4a loader: a few additional checks for Python loader plug-ins 2019-08-20 13:23:11 +02:00
rdb
d5a576f3cb Bump version number on release/1.10.x branch to 1.10.5 2019-08-20 13:23:11 +02:00
rdb
64982f8b14 makepanda: makepackage/makewheel take default version from setup.cfg
dtool/PandaVersion.pp is obsolete and will be removed soon.
2019-08-20 13:23:11 +02:00
rdb
0265ee8ef8 readme: update version number in links to 1.10.4.1
(Though, it doesn't matter much for the thirdparty packages, as the contents are identical to 1.10.4)
2019-08-20 13:13:55 +02:00
Sam Edwards
c16092fe8a CMake: Workaround for some export errors when doing a static build
This refuses to export/install the p3assimp/p3ptloader/p3txafile
libraries when building statically, because they depend on libraries
that are never installed, and static linkage would require all of the
dependencies to be available.

A more proper fix would involve installing these base libraries, but
only when doing a static build. I suspect nobody will ask for that,
so I haven't done it.
2019-08-19 18:50:53 -06:00
Sam Edwards
b9e50da3ce CMake: p3distort is NOT a component; it's its own pandafx library 2019-08-19 18:50:53 -06:00
rdb
1e6be1b2ee Merge branch 'release/1.10.x' into incoming 2019-08-20 01:26:32 +02:00
rdb
1318fd80d7 tests: add unit test for track-gui-items setting in DirectGUI v1.10.4.1 2019-08-20 01:08:56 +02:00
rdb
062460cbe0 dgui: store guiItems on ShowBase class dict instead of module 2019-08-20 01:07:39 +02:00
rdb
b19abf1480 doc: add release note for 1.10.4.1
[skip ci]
2019-08-19 23:35:35 +02:00
rdb
edbdf43f07 makepanda: PANDA_VERSION_STR should contain the full version number 2019-08-19 22:57:51 +02:00
rdb
6364485b49 ffmpeg: fix an unprotected debug print 2019-08-19 21:58:08 +02:00
rdb
2b0a2ea6df makepanda: allow passing in more than 3 digits in version number 2019-08-19 21:57:49 +02:00
rdb
d028bebb52 makepanda: change getversion.py to take version from setup.cfg
[skip ci]
2019-08-19 21:37:50 +02:00
rdb
e69c412c2b Bump version to 1.10.4.1 2019-08-19 21:30:46 +02:00
rdb
a0aa7de291 dgui: fix critical regression introduced by 43a5719 2019-08-19 21:26:35 +02:00