Commit Graph

160 Commits

Author SHA1 Message Date
rdb 6d54aee0c7 Remove runtime dependency on interrogatedb 2024-10-30 17:46:26 +01:00
rdb c9cddb8d92 CMake: Stop building interrogate from tree
Instead, either build it externally (BUILD_INTERROGATE) or accept INTERROGATE_EXECUTABLE / INTERROGATE_MODULE_EXECUTABLE settings
2024-08-10 16:54:12 +02:00
rdb 92db1840f9 net: Prepare to split these classes out into panda3d.net module
See #1466 - these classes are still part of panda3d.core as of 1.11, but they should really be imported from panda3d.net (they can be imported from either place in 1.11).  A future release will remove them from panda3d.core entirely.
2024-03-02 13:41:23 +01:00
rdb b221b492f7 CMake: pass full module name to interrogate_module 2024-03-02 13:41:23 +01:00
rdb e8f3565af2 CMake: Transfer target_link_options from component libs to metalibs 2022-03-09 16:23:37 +01:00
rdb 264747d213 CMake: Drop support for CMake versions below 3.13
We are already using target_link_options, and while it's possible to keep supporting older versions, it doesn't sound worth it.  I can revert this out if someone gives me a really good reason to.
2022-03-09 16:23:37 +01:00
rdb f8039c0bc8 CMake: Add -DYY_NO_UNISTD_H definition to built flex sources 2021-01-03 00:21:48 +01:00
rdb dfc5b47ec9 CMake: Improve reporting of enabled-but-not-found packages
Fixes #1072 (together with 3786dc2aea)
2020-12-20 18:36:41 +01:00
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 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 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 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 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 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 55cfc6c2b9 CMake: Pass _MSC_VER to Interrogate under MSVC 2019-08-24 18:07:07 -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
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 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
Sam Edwards b3f5c38ef3 CMake: Remove references to "panda3d" from Interrogate 2019-04-14 23:10:49 -06:00
Sam Edwards 6097d34ead CMake: Neatly format everything for readability and consistency 2019-04-14 22:37:18 -06:00
Sam Edwards fbde7c0b62 CMake: Fix invocation of flex
This removes the space between '-o' and the output filename,
which apparently some builds of flex (e.g. on Windows) dislike.
2019-03-18 04:18:20 -06:00
Sam Edwards d961514892 CMake: Use string/list(APPEND foo ...) instead of set(foo ${foo} ...) 2019-01-19 17:01:36 -07:00
Sam Edwards 986377b131 CMake: Make CompositeSources skip sources with SKIP_COMPOSITING property 2019-01-12 15:00:03 -07:00
Sam Edwards 8d94790d3a CMake: Exclude .c files from compositing 2019-01-12 15:00:03 -07:00