Commit Graph

2889 Commits

Author SHA1 Message Date
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 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 60c1570db8 CMake: Add support for makepanda-style thirdparty directories 2019-08-23 16:09:13 -06:00
rdb 1ec7c5d20e Delete pystub, it is no longer needed or used for anything. 2019-08-23 18:58:53 +02:00
rdb 0e4597fb2e cppparser: fix finding types in explicitly specialized template class 2019-08-23 13:15:36 +02:00
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
rdb a40228202b Merge branch 'release/1.10.x' 2019-08-18 22:34:23 +02: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
rdb df8ccdb7ab Add support for Python 3.8 2019-08-13 17:48:32 +02:00
rdb b141483b22 notify: fix macOS build, don't include <atomic> if we don't have it 2019-08-13 13:48:17 +02:00
rdb bc563c8664 Merge branch 'release/1.10.x' 2019-08-03 11:24:05 +02:00
rdb a86bdcfe3f notify: support setting notify-output after static init time
Previously it was only possible to set this in the default-loaded Config.prc file; now it is possible to set this at any time, though it can only be set once from its default value and not changed after it has already been set to something other than the default value.
2019-08-03 10:36:00 +02:00
rdb 0ce25d0e30 prc: fix a compilation warning in encryptStream.cxx 2019-07-10 14:12:05 +02:00
rdb 99e6a1d9b8 dtoolutil: iostream should use Py_ssize_t instead of int 2019-07-10 14:11:53 +02:00
rdb fa62344452 express: better fix for encrypt_string Python 3 issues
A workaround for the bug described in #684 was made in e080d33e31 but this fix is significantly cleaner.

Unit test was added.
2019-07-10 13:46:42 +02:00
rdb d5788d9422 Merge branch 'release/1.10.x' 2019-07-10 12:22:56 +02:00
rdb e080d33e31 interrogate: temp hack to make encrypt_string return bytes
Fixes #684
2019-07-10 09:54:57 +02: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
rdb 6a0be374c8 prc: fix for compiling without OpenSSL support
[skip ci]
2019-06-08 09:50:42 +02:00
rdb ff12deeba4 Raise version number to 1.10.4 on release/1.10.x branch
[skip ci]
2019-06-07 22:16:41 +02:00
Mitchell Stokes cb7dbfc219 Remove unused files there were referencing ToonTown
Closes #659
2019-06-07 22:11:58 +02:00
rdb 3d6f35827a interrogate: exit with nonzero status when failing to write -oc/od
Fixes #666
2019-06-07 22:10:13 +02: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 f21830d2a8 dtoolutil: Fix UB when musl's dlinfo(RTLD_DI_LINKMAP) fails 2019-05-29 17:27:55 -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