rdb
ac089658f3
CMake: Fix error flood if OpenSSL is not present
...
Fixes #1013
2020-11-17 22:26:14 +01:00
rdb
aa0a0d6ab4
CMake: better handling of per-config options, esp. in single-config
2020-05-01 19:53:50 +02:00
rdb
6ad9eeb5a1
CMake: generate panda3d.dist-info directory
...
This makes pip recognise that Panda3D has been installed and setuptools recognise the build_apps and bdist_apps commands.
2020-04-30 21:37:35 +02:00
rdb
8cb213ce8a
CMake: fix broken pzip files on Windows
...
It seems piping isn't working properly for binary data
2020-04-13 15:10:28 +02:00
Philip Whitfield
11eae3f1f5
Update CompositeSources.cmake
...
this allows panda to be checked out as a subproject
2020-03-05 22:03:08 +01:00
Leandro (Cerberus1746) Benedet Garcia
5f7809469c
general: removed all WIN32, WIN32_VC and friends
2020-02-05 22:45:03 -07:00
Sam Edwards
1046b122a3
CMake: Fix Interrogate macro sometimes passing -D''
2020-01-22 02:36:41 -07:00
Sam Edwards
d0b6e2275d
CMake: Remove IS(_NOT)_MINSIZE_BUILD
2020-01-21 18:15:28 -07:00
Sam Edwards
ed771e3c8e
doc: Update CMake's README
2020-01-12 12:13:23 -07:00
Sam Edwards
28b85d2f58
CMake: Work around CMake issue 20206
2020-01-10 16:48:59 -07:00
Sam Edwards
3104bf3710
CMake: Fix issue with HAVE_X safety checks falsely failing
2020-01-08 20:13:34 -07:00
Sam Edwards
fd94a33c56
CMake: When compiling Python to .pyc, optimize with -O
...
Distros seem to prefer having opt-1 Python modules and don't care
as much about the opt-2.
2020-01-07 11:34:34 -07:00
Sam Edwards
69ff54a3d4
CMake: Break up "GLES" component into OpenGLES1/OpenGLES2
2020-01-07 11:34:34 -07:00
Sam Edwards
e08896deb7
CMake: Update panda3d/__init__.py
...
- Python 2.7 EOL warning is now past tense
- Use os.add_dll_directory() when available (instead of hacking up PATH)
2020-01-06 17:12:37 -07:00
Sam Edwards
b739919fe4
CMake: Update FindFFMPEG to locate static ffmpeg dependencies too
2020-01-06 17:12:10 -07:00
Sam Edwards
f92b88f35b
CMake: Omit Interrogate-generated sources from unity builds
...
This fixes an include path error when building under a
multi-configuration generator and with CMake 3.16+
2020-01-06 17:12:00 -07:00
Sam Edwards
bff568798f
CMake: Make FindAssimp pull in libIrrXML as well, if found
2020-01-06 17:11:31 -07:00
Sam Edwards
15c7e6fbe5
CMake: Rename COMPOSITE_* to CMAKE_UNITY_BUILD* where appropriate
...
This allows us to use 3.16+ unity build support when available,
falling back to our own stuff when not.
2019-12-31 06:48:07 -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
bc152f665c
CMake: Escape $<LINK_ONLY> in exported packages file
2019-12-05 10:34:47 -07:00
Sam Edwards
9512b2274b
CMake: Remove libtar, unneeded downloadertools progs
2019-09-06 04:07:42 -06:00
Sam Edwards
5654e64645
CMake: First batch of improvements per review
...
Addressing feedback per @rdb in GitHub #717
2019-09-06 01:11:50 -06:00
Sam Edwards
13a19109d4
CMake: Remove redundant -DNDEBUG
...
This reverts a42f1a49a4 , which should
have been reverted by faced9aa49 .
2019-08-31 15:07:03 -06:00
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
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
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
55cfc6c2b9
CMake: Pass _MSC_VER to Interrogate under MSVC
2019-08-24 18:07:07 -06:00
Sam Edwards
fc54251f61
CMake: Fix PandaModules.py not copying
2019-08-23 20:35:50 -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
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
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
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
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
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
81f0fb78f2
CMake: Fix Interrogate macro not working on Windows
...
This was broken by 2d5bdb3515 ,
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
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
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
Sam Edwards
49865c103a
CMake: Modify install_python_package() so it keeps the build-dir copy up-to-date too
2019-05-01 23:44:47 -06:00
Sam Edwards
f744951d25
CMake: Make Interrogate invocation friendly to multi-config generators
2019-04-27 22:45:51 -06:00
Sam Edwards
cfa4878955
CMake: Use the same host_ prefix for pzip as we do for interrogate
...
This is for better cross-compilation friendliness, so the pzip
binary used during the build doesn't have to be the same as the
pzip binary produced during the build.
2019-04-27 22:45:51 -06:00