Commit Graph

61 Commits

Author SHA1 Message Date
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
Sam Edwards 4cec331722 CMake: Add support for building metalibs as metalibs 2018-04-18 14:42:56 -06:00
Sam Edwards 2f6c79b9e6 CMake: Build libraries with VERSION/SOVERSION
This takes advantage of SONAME and versioning on platforms that support it.
2018-04-02 15:49:05 -06:00
Sam Edwards aed544bf5f CMake: Have CMake itself track versions 2018-04-02 15:47:53 -06:00
Sam Edwards 1d666a9841 CMake: Build the models, makepanda-style 2018-02-07 18:59:44 -07:00
Sam Edwards bed9c40283 CMake: Restructure output directory to mimic makepanda 2018-02-07 18:59:44 -07:00
Sam Edwards d66f5fa8e2 CMake: Kill support for <2.8.12
The rationale for this is in a comment at the top of the main
CMakeLists.txt file. It was getting harder to maintain support for a
version this old, and pretty much no current system has CMake <3.

Good riddance.
2018-02-06 14:47:12 -07:00
Sam Edwards de03c2f7ff CMake: Use gnu++* instead of c++*
This is for consistency with the CMake 3.1+ behavior and allows the use of
GNU extensions.

Thanks @rdb!
2017-02-15 04:00:37 -07:00
Sam Edwards 19b448e09e CMake: Update master CMakeLists to compile for C++11 2017-02-15 03:46:14 -07:00
Sam Edwards 0e45b3288e CMake: Disable in-source builds. 2016-12-26 18:10:43 -07:00
Sam Edwards 1f5a53619e cmake: Fix PandaModules generation. 2016-12-03 17:10:54 -08:00
Sam Edwards 7f9e25fb84 CMake: Move pandac compatibility-shim generation to a more sensible place. 2015-11-09 16:42:03 -08:00
Sam Edwards 8524676032 cmake: Begin work on building pandatool. 2014-04-17 02:56:56 -06:00
Sam Edwards 493dde680a Merge branch 'cmake' into cmake-cfs-install
Conflicts:
	direct/src/autorestart/CMakeLists.txt
	dtool/src/interrogate/CMakeLists.txt
	dtool/src/interrogatedb/CMakeLists.txt
	panda/CMakeLists.txt
	panda/src/express/CMakeLists.txt
2014-02-18 08:13:40 -07:00
Sam Edwards 87cae490cd CMake: Only build 'direct' if BUILD_DIRECT is on. 2014-02-08 17:51:05 -07:00
Sam Edwards 6e0dc789b6 CMake: Rearrange root CMakeLists; some includes may depend on dtool config. 2014-02-06 16:32:37 -07:00
Sam Edwards 918e2eed66 CMake: Begin work on direct, get autorestart to compile. 2014-02-04 11:28:42 -07:00
Sam Edwards 82854ac1e8 Under CMake, generate dtool_config.h into build/include/ instead of build/ and use build/include/ as the global include directory. 2014-01-29 10:41:01 -07:00
Sam Edwards 84aad872ec Define add_flex_target CMake macro. 2014-01-27 10:10:27 -07:00
kestred 58d54eb4fe Add commented test to panda/src/express/CMakeLists, emulating Sources.pp 2014-01-19 00:17:44 -07:00
kestred 8cdc819344 cmake: config: Move new package macros to cmake/macros, use new package macros in Package.cmake, begin removing redundant package/config options from Package.cmake (theses are being moved to Config.cmake). 2013-12-21 19:30:53 -07:00