Commit Graph

67 Commits

Author SHA1 Message Date
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
Donny Lawrence 7a3ea071a4 CMake: Don't use X11 on Apple. 2019-06-27 17:38:18 -06:00
Sam Edwards 6097d34ead CMake: Neatly format everything for readability and consistency 2019-04-14 22:37:18 -06:00
Sam Edwards 5e82d8e43e CMake: Don't find GLES on macOS; headers known broken 2019-04-14 19:06:33 -06:00
Sam Edwards b4a532f1d0 CMake: Add support for building against FCollada 2019-03-18 01:56:38 -06:00
Sam Edwards 6eb112a13a CMake: Discover FFTW3 by MODULE only, never CONFIG
This stops a CMake crash on some folks' systems.
2019-03-18 01:54:34 -06:00
Sam Edwards 0ff6787c1c CMake: Fix compatibility with CMake 3.0
`x GREATER_EQUAL y` wasn't added until 3.7, so
instead this uses `NOT x LESS y`
2019-01-13 13:00:56 -07:00
Sam Edwards 052004d06b CMake: Detect Opus 2019-01-13 12:04:48 -07:00
Sam Edwards 8a2375a5f1 CMake: Detect Ogg+Vorbis 2019-01-13 11:58:09 -07:00
Sam Edwards 654abdc5eb CMake: Detect when to set OPENCV_VER_23/OPENCV_VER_3 2019-01-06 15:37:14 -07:00
Sam Edwards 1ae736f881 CMake: Detect and build support for Assimp 2018-11-12 15:49:08 -07:00
Sam Edwards c3f9fdf778 CMake: Organize Package.cmake a bit better 2018-11-09 17:46:03 -07:00
Sam Edwards 1a80b69fb1 CMake: Clean out a few old TODOs and comments 2018-11-09 01:57:40 -07:00
Sam Edwards 2b1554a44c CMake: Rename "config_package" function to "package_status"
The latter name is more consistent with what it does:
indicates the status/purpose/options of the package to
the user.
2018-11-08 21:15:00 -07:00
Sam Edwards d43767c617 CMake: Find OpenEXR, support it in pnmimagetypes 2018-11-07 19:56:01 -07:00
Sam Edwards 9222bc6d31 CMake: Detect OpenCV/ARToolKit, build p3vision
For now, p3vision is only built if either OpenCV or
ARToolKit is available. It does contain some generic
webcam access code, so it might be worth building it
when that's available.
2018-11-03 22:51:14 -06:00
Sam Edwards 15a78c55bc CMake: Detect and use HarfBuzz when available 2018-11-02 23:37:26 -06:00
Sam Edwards 5b973ed837 CMake: Add DirectX 9 support 2018-11-01 22:33:01 -06:00
Sam Edwards 7c42b75ac8 CMake: Update FindCg to discover cgD3D9
This also means renaming "CGDX9" to "CGD3D9" for consistency
with what Nvidia calls it.
2018-11-01 16:31:57 -06:00
Sam Edwards 11a75eab99 CMake: Build OpenGL ES (1&2) display modules
Also reorganizes Package.cmake a little, getting more of the
package discovery logic under the PackageConfig.cmake system.
2018-10-22 01:58:24 -06:00
Sam Edwards 8dd46eb736 CMake: Redo ODE find module
This defines an ODE::ODE target; it also automatically selects
the correct `dIDESINGLE`/`dIDEDOUBLE` compile-time definition.
2018-10-18 19:27:47 -06:00
Sam Edwards b3f1b7d40b Merge branch 'cmake' of https://github.com/treamology/panda3d into cmake
# Conflicts:
#	.travis.yml
#	direct/src/showbase/CMakeLists.txt
#	dtool/dtool_config.h.in
#	dtool/src/prc/CMakeLists.txt
#	panda/src/cocoadisplay/CMakeLists.txt
#	panda/src/express/CMakeLists.txt
#	panda/src/osxdisplay/CMakeLists.txt
2018-10-14 02:26:56 -06:00
Sam Edwards 23a55f30eb CMake: Make sure Python version is always correctly reported 2018-10-13 15:23:10 -06:00
Sam Edwards da9bb2aaa2 CMake: Fix PYTHON_INCLUDE_DIRS variable when using CMake 3.12+'s FindPython 2018-10-13 15:07:09 -06:00
Sam Edwards 10b5c9f3e6 CMake: Use CMake 3.12 FindPython, where available 2018-10-07 00:51:26 -06:00
Sam Edwards 0997c6b19c CMake: Don't depend on Python interpreter
This allows building against the Python libraries even when the
Python interpreter/executable is missing. The correct extensions
for the binary modules will be guessed, the tests will fail,
and the bytecode for any pure-Python modules will not be
precompiled.
2018-10-07 00:51:26 -06:00
Sam Edwards 645fe32ca3 CMake: Fix capitalization of OpenSSL components 2018-09-24 14:06:26 -06:00
Sam Edwards cfb32fad84 CMake: Detect OpenGL (and SpeedTree) the proper way 2018-09-22 15:55:03 -06:00
Sam Edwards bd187643f3 CMake: Look for packages by CONFIG first
This requires a macro to override find_package,
as the default behavior in CMake is to fall back
from MODULE onto CONFIG.

Note that Bullet is given a specific override
not to look for a CONFIG, since Bullet tends to
use weird paths in its CONFIG script.
2018-09-21 19:22:59 -06:00
Sam Edwards 968ca123d4 CMake: Use packages by imported target where available
This is preferable because imported targets generally include
all of the relevant information specific to the particular
installation of each package, and without needing to hunt down
a bunch of variables to do it.

To do this, package_option() (which is starting to grow in scope
a little beyond just providing the package option, come to think
of it) is given a new IMPORTED_AS option, which tells the package
configuration system to look for one or more imported targets and
link against them instead.
2018-09-21 16:24:48 -06:00
Sam Edwards 23f46d8a84 CMake: Build p3bullet 2018-09-02 16:14:01 -06:00
Sam Edwards 76378c8990 CMake: Ask Python for preferred binary extension suffix 2018-08-19 23:10:20 -06:00
Sam Edwards d6d6df83ef CMake: Move Python detection to Package.cmake 2018-06-13 21:07:56 -06:00
Donny Lawrence a270b0f292 Merge branch 'cmake' of https://github.com/panda3d/panda3d into cmake 2018-05-29 22:55:21 -05:00
Donny Lawrence 5619c3ed90 Make sure HAVE_OPENAL_FRAMEWORK is set correctly 2018-05-29 21:58:43 -05:00
Sam Edwards 2d5d1400be CMake: Remove references to WxWidgets/FLTK
The plugin once used these; it's since been deprecated,
so we don't be needing GUI toolkits anymore.
2018-05-24 18:33:15 -06:00
Sam Edwards 9e841800ee CMake: Migrate detection for the physics packages 2018-02-21 02:38:54 -07:00
Sam Edwards 196d780820 CMake: Remove commented-out TODOs regarding unsupported rendering backends 2018-02-20 23:38:39 -07:00
Sam Edwards 17d56279f5 CMake: Migrate FreeType package detection 2018-02-20 19:28:32 -07:00
Sam Edwards 590523ac8c CMake: Rename FindSquish to FindLibSquish
CMake already has a "FindSquish" for finding the GUI testing product.
This minimizes the chances of the wrong module being run on accident.
2018-02-20 18:58:52 -07:00
Sam Edwards 2717c24ffc CMake: Migrate detection of the audio libraries 2018-02-20 18:19:45 -07:00
Sam Edwards 3210302caf CMake: Migrate FFmpeg package detection 2018-02-20 17:52:33 -07:00
Sam Edwards 72d668e05a CMake: Migrate zlib package detection 2018-02-20 17:19:21 -07:00
Sam Edwards 0ed64c72ce CMake: Migrate over VRPN detection 2018-02-20 17:02:17 -07:00
Sam Edwards 75366484b0 CMake: Migrate over Nvidia Cg package detection 2018-02-19 00:05:49 -07:00
Sam Edwards a9717cf3ab CMake: Migrate detection of libsquish 2018-02-18 21:41:33 -07:00
Sam Edwards 283db1fb7a CMake: Implement detection for FFTW3 2018-02-17 23:35:43 -07:00
Sam Edwards 5c4ef25bb7 CMake: Use proper target_use_packages definitions for Eigen 2018-02-17 16:56:35 -07:00
Sam Edwards 5c1ff5fdbc CMake: Migrate detection of libtar 2018-02-14 17:38:25 -07:00
Sam Edwards 68cb953479 CMake: Migrate JPEG/PNG/TIFF discovery to Package.cmake 2018-02-14 17:27:50 -07:00