23746 Commits

Author SHA1 Message Date
Sam Edwards
31c9a88dcf CMake: Ugh, just give p3distributed a dummy .cxx instead
Windows won't even create the .lib unless there's at least one
source file. Whatever, this is easy to do.
2019-08-15 16:47:55 -06:00
Sam Edwards
d008037244 CMake: Use Python::Module, not Python::Python, for extension linkage
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.
2019-08-15 16:47:53 -06:00
Sam Edwards
82d14d98d4 travis: Fix Python version detection under newer CMake 2019-08-12 19:09:32 -06:00
Sam Edwards
1bd15dad60 CMake: Manually set p3distributed's linker language
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.
2019-07-10 15:39:46 -06:00
Sam Edwards
e3cd658642 CMake: C++ code in direct.distributed should be an extension
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.
2019-07-07 16:09:52 -06:00
Donny Lawrence
3160c77bc3 CMake: MODULEs should use .dylib, not .so 2019-06-27 17:38:18 -06:00
Donny Lawrence
603e240788 CMake: Allow for config-specific dtool-config vars
This makes it so some options can be toggled on a per-configuration
basis (for multi-config generators), as long as they don't affect what
targets are actually being generated.
2019-06-27 17:38:18 -06:00
Donny Lawrence
7a3ea071a4 CMake: Don't use X11 on Apple. 2019-06-27 17:38:18 -06:00
Donny Lawrence
10abe6e216 CMake: Remove usages of string(APPEND ...) 2019-06-27 17:38:18 -06:00
Donny Lawrence
89bc83c48f CMake: Suppress $(EFFECTIVE_PLATFORM_NAME). 2019-06-27 17:38:18 -06:00
Donny Lawrence
f0b4d7637b CMake: Separate composite files by extension. 2019-06-27 17:38:18 -06:00
Donny Lawrence
20db4115b8 CMake: Add temporary solution for generating dtool_config.h
Eventually, we'll want to customize dtool_config.h based on the
configuration being used, but this should be good enough for now.
2019-06-27 17:38:18 -06:00
Donny Lawrence
3eb1895811 CMake: Use a generator expression to mitigate make's warning spam on the Xcode generator. 2019-06-27 17:38:18 -06:00
Donny Lawrence
27fd87983a CMake: Only use a default CMAKE_BUILD_TYPE if using a single-config generator.
Create a variable that can be used to tell if a generator is multiconfig or not. Since this variable is only available on CMake 3.9 or higher, we'll try to make an educated guess on a lower CMake version.
2019-06-27 17:38:18 -06:00
Donny Lawrence
cb0def4eb3 CMake: Defer pzip's directory creation to build-time. 2019-06-27 17:38:18 -06:00
Donny Lawrence
f0c9772396 CMake: Move copying of models to build-time. 2019-06-27 17:38:18 -06:00
Donny Lawrence
aed55d4e7e CMake: Don't compile PRC's encryptStream unless we have OpenSSL. 2019-06-27 17:38:18 -06:00
Sam Edwards
24ba0d0e72 CMake: Fix Interrogate macro not working on CMake 3.0.2 2019-06-25 03:34:51 -06:00
Sam Edwards
d3ef7bf12d CMake: Avoid using continue()
This is, sadly, not added until CMake 3.4.

This commit avoids continue() by restructuring the loops so
that the conditions previously being used for continue() are
no longer needed. The alternative would've been to encase the
loop bodies massive ifs, but I find that to be a poor choice
for readability.
2019-06-25 03:34:51 -06:00
Sam Edwards
1a237670e3 CMake: Make Interrogate macro ensure output directories exist
This was causing problems on the Xcode generator under macOS,
which wasn't automatically creating the output directories
for us.
2019-06-05 02:27:48 -06:00
Sam Edwards
449a514f5f CMake: Fix typo causing bad paths in installed target files 2019-06-05 02:27:47 -06:00
Sam Edwards
d7a093a455 CMake: Define LIBP3DTOOL_FILENAMES for p3dtoolutil 2019-06-04 00:07:11 -06:00
Sam Edwards
088949e2a1 CMake: Update for upstream changes 2019-06-04 00:00:09 -06:00
Sam Edwards
039f5af34e Merge branch 'master' into cmake 2019-06-03 23:12:23 -06:00
Sam Edwards
81f0fb78f2 CMake: Fix Interrogate macro not working on Windows
This was broken by 2d5bdb351557ed1ee51e4026aac26e251045c2a0,
which wrote -D flags as -D'symbol' -- this choked Windows,
so this commit turns it off in that case.

It's a shame there's no generator expression to escape quotes,
otherwise this hack wouldn't even be needed.
2019-06-03 22:02:54 -06:00
Sam Edwards
668ad6e559 CMake: Don't build convert_srgb_sse2.cxx separately on AMD64
This is unnecessary on AMD64, where SSE2 is builtin and the
file in question can be composited just like everything else.
2019-06-02 02:07:14 -06:00
Sam Edwards
2d5bdb3515 CMake: Fix Interrogate macro's -D flag generator
This wraps everything in 'single-quotes' so that defines that
contain spaces and/or double-quotes work properly.
2019-06-02 01:37:48 -06:00
Sam Edwards
26e60fe106 CMake: Fix the ConcatenateToCXX script leaving off a null byte
This also adds a _size symbol. Who knows, maybe something will
find that useful.
2019-06-02 01:37:43 -06:00
Sam Edwards
2f97b76b42 dtoolutil: Overhaul ExecutionEnvironment's dtool path hunting code
The main change here is it uses an array of expected filenames,
which optionally itself feeds off of a compiler definition, rather
than hardcoding the expected filenames straight into the search
code.

The other change is this code is omitted when building statically.
2019-06-02 01:34:54 -06:00
Sam Edwards
83c10d1a0b dtoolutil: Fix UB when musl's dlinfo(RTLD_DI_LINKMAP) fails 2019-05-29 17:27:16 -06:00
Sam Edwards
d058cb16fd CMake: Don't export(PACKAGE) when cross-compiling
When cross-compiling, the build directory won't contain
anything useful to the host system. Therefore, we shouldn't
register the build directory in CMake's package registry.
2019-05-29 16:59:22 -06:00
rdb
2e9395b766 Merge branch 'release/1.10.x' 2019-05-14 14:41:43 +02:00
rdb
adaf9ee4aa readme: update links to point to 1.10.3 v1.10.3 2019-05-13 14:31:19 +02:00
rdb
65491fdc0f doc: add release notes for 1.10.3 2019-05-13 14:25:40 +02:00
rdb
7b77888e5a FilterManager: allow specifying custom fbprops in renderQuadInto
Corollary to ea0210640cebe63db93333d13ead2e33ddaff188 (see #599)
2019-05-13 14:25:22 +02:00
rdb
291f3825f4 ffmpeg: fix rare "bad src image pointers" after seek
Fixes #391
2019-05-13 13:53:34 +02:00
rdb
f183d901cb bullet: sync rigid body transform when node is reparented
Reparenting a node will change its net transform, so it should cause a transform sync.

Fixes #629
2019-05-13 13:53:33 +02:00
rdb
e8fc76747a showbase: rename attachInputDevice gui=True arg to watch=True
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.
2019-05-13 13:53:33 +02:00
rdb
3f312eccd9 Merge branch 'release/1.10.x' 2019-05-12 21:03:14 +02:00
rdb
c4a01ac564 pipeline: give Mutex and ReMutex more Pythonic semantics
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.
2019-05-12 20:58:13 +02:00
rdb
2e9bd0f241 prc: fix compilation issue on MSVC 2019-05-12 20:58:13 +02:00
rdb
750afbb188 device: Linux fixes for Trust GXT 24 and a few other cheap gamepads
Fixes #576
2019-05-12 20:34:19 +02:00
rdb
c1c74e2cd3 mathutil: add some more assertion checks to PerlinNoise2 2019-05-12 19:22:26 +02:00
rdb
73200e0912 Add Max Voss to BACKERS.md
[skip ci]
2019-05-12 19:16:46 +02:00
rdb
ece56eb0a7 Update .gitignore
[skip ci]
2019-05-12 16:22:05 +02:00
rdb
a7c743fd5e Allow seek of IDecryptStream to begin (for looping encrypted audio) 2019-05-12 15:51:35 +02:00
rdb
60922fabc1 Give istream/ostream a friendlier file-like interface for Python 2019-05-12 15:46:14 +02:00
rdb
15cdd1da0a makepanda: also use -undefined dynamic_lookup for VRPN for now 2019-05-12 15:36:25 +02:00
rdb
b8b6f2f2dc showbase: fix BufferViewer error when opening window right away 2019-05-09 19:18:25 +02:00
rdb
11808862f2 showbase: fix BufferViewer when main window is opened later
Fixes #648
2019-05-09 18:45:38 +02:00