Commit Graph

2867 Commits

Author SHA1 Message Date
Sam Edwards c62d5fbe35 CMake: Fix incorrect comment 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
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
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 aed55d4e7e CMake: Don't compile PRC's encryptStream unless we have OpenSSL. 2019-06-27 17:38:18 -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 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
rdb 2e9bd0f241 prc: fix compilation issue on MSVC 2019-05-12 20:58:13 +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 0ac36185a9 Merge branch 'release/1.10.x' 2019-05-02 21:34:25 +02:00
Sam Edwards 059c78bade CMake: Restructure multi-configuration binary directory layout
This changes the structure to use paths like `build/Release/lib`
instead of `build/lib/Release`, so that the `build/Release` directory
more closely mimics the structure of `build` when in single-configuration
mode.
2019-05-01 23:44:47 -06:00
rdb 204cbe4464 interrogate: support unicode characters in Python 3 for 'char' arg
Fixes #626
2019-05-01 17:05:12 +02:00
rdb 5d6b4f4a77 dtool: add StreamReader/StreamWriter move ctor and assignment ops 2019-04-29 18:17:54 +02:00
Sam Edwards 873c6b48d6 CMake: Generate interrogate_preamble_python_native.cxx at build time
This also makes sure the file is only rebuilt if the inputs
change, saving on unnecessary rebuilds.
2019-04-16 19:44:03 -06:00
Sam Edwards b8f3c7eb63 CMake: Move some symbols from dtool_config.h to -D flags
The symbols moved aren't used in any headers, so they don't
have to be in the installed dtool_config.h. Removing them
keeps the recompiling to a minimum when an optional feature
is toggled.
2019-04-15 22:16:05 -06:00
Sam Edwards 865d824313 CMake: Remove some unused #cmakedefine directives 2019-04-15 22:15:27 -06:00
Sam Edwards 12036c7ed0 CMake: Remove remaining references to HAVE_CARBON 2019-04-14 22:38:25 -06:00
Sam Edwards 6097d34ead CMake: Neatly format everything for readability and consistency 2019-04-14 22:37:18 -06:00
Sam Edwards 5e82d8e43e CMake: Don't find GLES on macOS; headers known broken 2019-04-14 19:06:33 -06:00
rdb daa57733cb Merge branch 'release/1.10.x' 2019-04-14 23:11:03 +02:00
rdb 3ca3dfd13a interrogate: fix in-place or (|=) operators (see #588) 2019-04-14 17:10:52 +02:00
Sam Edwards b4a532f1d0 CMake: Add support for building against FCollada 2019-03-18 01:56:38 -06:00
Sam Edwards 6eb112a13a CMake: Discover FFTW3 by MODULE only, never CONFIG
This stops a CMake crash on some folks' systems.
2019-03-18 01:54:34 -06:00
rdb d44b090ecd CMake: update for latest Android NDK; fix missing Android sources 2019-03-17 21:16:08 +01:00
rdb a8ceac919a Raise version number to 1.10.3 on release/1.10.x branch 2019-03-12 18:08:19 +01:00
Sam Edwards f8161cc529 Merge branch 'master' into cmake 2019-03-12 02:03:16 -06:00
rdb 8d1bdf0118 Merge branch 'release/1.10.x' 2019-03-10 20:49:52 +01:00
rdb a634e729c8 interrogate: fix uninitialized var, fixes sporadic nb_true_divide
This was a regression introduced by fa6c066b2f (which in turn fixed #529)
2019-03-08 11:53:45 +01:00
rdb 148134284d Merge branch 'release/1.10.x' 2019-03-07 19:04:27 +01:00
rdb 12eeff0dec py_panda: fix memory leak accessing map/seq properties 2019-03-07 17:33:21 +01:00
rdb ba256a8b07 interrogate: fix regression in 2c91fdda1b 2019-03-04 22:51:20 +01:00
rdb 0f5da1c155 dtoolbase: fix warning when compiling on Windows 2019-03-04 16:58:18 +01:00
rdb cbb3c182a5 Merge branch 'release/1.10.x' 2019-03-04 16:57:52 +01:00
rdb 8e4add0326 interrogate: fix refcount trouble assigning PyObject* properties
In particular, this fixes accessing PythonTask.__dict__
2019-03-04 16:46:28 +01:00
rdb fa6c066b2f interrogate: enable true division in Python 2 as well
This allows using "from __future__ import division" and get the expected result for divisions in Python 2.

Fixes #529
2019-03-03 10:29:39 +01:00
rdb 2c91fdda1b interrogate: support in-place ops on properties (eg. light.color *= 2) 2019-02-19 13:46:38 +01:00