rdb
ebb556a866
CMake: build unit test runner
2026-01-24 20:28:07 +01:00
rdb
4ca495d828
CMake: Add separate BUILD_TOOLS option to build binaries
...
This is separate from BUILD_PANDATOOL, which builds the pandatool tree
2024-08-12 16:39:20 +02:00
rdb
96b2f3a4d5
CMake: Split out Objective-C++ flags on macOS to fix crash
...
This now requires CMake 3.16
This is a similar fix as 987f2f036b but for CMake
2023-05-08 20:00:39 +02: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
1db3bb4ee6
dmodels: Delete dmodels tree, merge into models folder instead
...
Also eliminates need for flt2egg at build time
Fixes #1075
2020-12-29 18:40:49 +01:00
rdb
2461fc0917
CMake: Remove accidental debug message
2020-12-29 16:06:22 +01:00
rdb
4747e6e4df
CMake: Fix CMAKE_CONFIGURATION_TYPES not including Coverage
...
Coverage is added based on the value of CMAKE_CXX_COMPILER_ID, which isn't known until after the project() call.
This fixes a regression in f26f7d2226
2020-12-22 16:48:12 +01:00
rdb
f26f7d2226
CMake: Fix CMAKE_CONFIGURATION_TYPES not being set properly in the cache
2020-12-21 23:31:20 +01:00
rdb
2bb0a0a77c
CMake: Set default value for CMAKE_OSX_DEPLOYMENT_TARGET
...
CMake versions older than 3.19 choose the sysroot based on the deployment target, so this does result in it choosing the 10.9 SDK even when targeting arm64, so we need to work around that.
2020-12-19 00:13:19 +01:00
rdb
aa0a0d6ab4
CMake: better handling of per-config options, esp. in single-config
2020-05-01 19:53:50 +02:00
rdb
f56f06b65c
CMake: fix missing Coverage config in multi-config generators
2020-04-25 10:34:12 +02:00
rdb
565f97b3b9
CMake: properly default build type to Standard
...
This wasn't being set properly because it needs to be set before the project() call
2020-04-13 15:10:20 +02:00
rdb
2cb8f69f61
CMake: enable CMP0091, fixes lack of /MD flag with Ninja+clang-cl
2020-04-13 13:19:12 +02:00
Philip Whitfield
df6c79f1b3
CMake: use CMAKE_CURRENT_SOURCE_DIR
...
Closes #878
2020-03-08 10:41:58 +01:00
Sam Edwards
1204de6e09
CMake: Set CMP0072 (prefer glvnd over direct libGL link)
2020-01-08 17:02:14 -07:00
Sam Edwards
e474350a48
CMake: Add a "Coverage" configuration, when using GCC/Clang
2019-12-05 10:35:25 -07: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
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
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
60c1570db8
CMake: Add support for makepanda-style thirdparty directories
2019-08-23 16:09:13 -06:00
Donny Lawrence
89bc83c48f
CMake: Suppress $(EFFECTIVE_PLATFORM_NAME).
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
f0c9772396
CMake: Move copying of models to build-time.
2019-06-27 17:38:18 -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
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
6097d34ead
CMake: Neatly format everything for readability and consistency
2019-04-14 22:37:18 -06:00
Sam Edwards
ac16852e32
CMake: Generate/install Panda3DConfigVersion.cmake
...
This allows people to do find_package(Panda3D) by version.
2019-03-18 04:18:20 -06:00
Sam Edwards
3a9353c0ca
CMake: Build 'contrib'
2019-03-18 01:56:38 -06:00
Sam Edwards
8c4dfd7a70
CMake: Move compiler flag detection to its own file
2019-01-19 13:22:20 -07:00
Sam Edwards
768a8d62e9
CMake: Use -fvisibility=hidden everywhere supported
2019-01-11 07:50:27 -07:00
Sam Edwards
9ee4f1f4e2
CMake: Test for -f(no-)exceptions support before using it
2019-01-11 07:50:13 -07:00
Sam Edwards
cfa1f043dd
CMake: Parse project version string out of setup.cfg
2019-01-06 15:45:50 -07:00
Sam Edwards
aa9a195665
CMake: Stop CMake from adding -rdynamic by default
2019-01-02 06:02:31 -07:00
Sam Edwards
bddd7c1b4b
CMake: Generate/install exported target sets
2018-12-27 17:39:22 -07:00
Sam Edwards
99fee1a64d
CMake: Assign COMPONENT and EXPORT to all targets
2018-12-06 17:48:44 -07:00
Sam Edwards
368cdc2802
CMake: Move pandac.* generation to be part of direct
2018-12-01 14:43:41 -07:00
Sam Edwards
2c0b079dc9
CMake: Disable C++ exceptions everywhere that doesn't request them
2018-10-15 23:52:36 -06:00
Sam Edwards
86d137d410
CMake: Windows static libraries should be prefixed with "lib"
2018-10-07 00:51:26 -06:00
Sam Edwards
53920e7aee
CMake: Move __init__.py generation to Python.cmake
...
This also allows us to generate a suitable __init__.py for fixing
up PATH and/or __path__ on platforms that need it to properly
import Python extension modules.
2018-09-28 21:24:26 -06:00
Sam Edwards
2e2a8eae98
CMake: Byte-compile all .py files when building Panda
...
This also involves the creation a new include: Python.cmake
This file will contain utility functions for building Python
modules and installing Python packages.
2018-09-28 17:15:56 -06:00
Sam Edwards
2a2a07773b
CMake: Disable clang_cl warnings about /Gm- being unused
2018-09-24 20:35:22 -06:00
Sam Edwards
1520d712d4
CMake: Remove target_use_packages
...
Instead, let's use a PKG::PKGNAME interface library, which simplifies
the linking and also allows us to use imported libraries from
find_package in the future.
2018-09-21 10:17:05 -06:00
Sam Edwards
fa1e1a2e63
CMake: Tidy up installation directory
...
Don't install "object-Configuration/" directories when
using metalibs, and also put .dll files in bin/ on Windows.
2018-09-01 11:07:55 -06:00
Sam Edwards
9c3841177b
CMake: Move dtool_config.h to a configuration-specific dir
2018-08-19 15:39:42 -06:00
Sam Edwards
6b2d417ae4
CMake: Put Windows DLLs in 'bin', not 'lib'
2018-08-16 22:27:10 -06:00
Sam Edwards
0a36a41f93
CMake: Bypass warning about CMP0054
2018-08-16 22:27:10 -06:00
Sam Edwards
4af8a04944
CMake: Set warning levels
2018-08-14 21:59:34 -06:00
Sam Edwards
4c8693f019
CMake: Run pytest as part of CTest
2018-06-13 21:07:56 -06:00
Sam Edwards
f54b4b61dd
CMake: Don't use pzip when not built
2018-06-01 02:56:43 -06:00
Sam Edwards
407589873a
CMake: Update some Windows-specific rules
2018-06-01 02:56:43 -06:00