CMake: Move "framework" to its own component

It can depend on graphics backends, so it can't go in Core.
This commit is contained in:
Sam Edwards 2019-02-23 01:28:26 -07:00
parent d961514892
commit 7097f5b0e1
2 changed files with 51 additions and 44 deletions

View File

@ -12,89 +12,94 @@
#
# The following components are available for importing:
#
# Core - The core Panda3D libraries; this component is always included.
# Core - The core Panda3D libraries; this component is always included.
#
# Panda3D::Core::panda
# Panda3D::Core::pandaexpress
# etc.
# Panda3D::Core::panda
# Panda3D::Core::pandaexpress
# etc.
#
#
# Python - Python targets, which can be used for linking against the Python
# extension modules directly. Note that this also imports the
# Python bindings for other requested components that have them.
# Python - Python targets, which can be used for linking against the Python
# extension modules directly. Note that this also imports the
# Python bindings for other requested components that have them.
#
# Panda3D::Python::panda3d.core
# Panda3D::Python::panda3d.physics
# etc.
# Panda3D::Python::panda3d.core
# Panda3D::Python::panda3d.physics
# etc.
#
#
# Tools - Various tools used in asset manipulation and debugging.
# Tools - Various tools used in asset manipulation and debugging.
#
# Panda3D::Tools::egg2bam
# Panda3D::Tools::egg-optchar
# Panda3D::Tools::pview
# etc.
# Panda3D::Tools::egg2bam
# Panda3D::Tools::egg-optchar
# Panda3D::Tools::pview
# etc.
#
#
# Direct - Panda's "direct" Python framework; C++ support library.
# Direct - Panda's "direct" Python framework; C++ support library.
#
# Panda3D::Direct::p3direct
# Panda3D::Direct::p3direct
#
#
# Egg - Support for the Egg file format.
# Framework - Panda's "p3framework" C++ framework.
#
# Panda3D::Egg::pandaegg
# Panda3D::Framework::p3framework
#
#
# Bullet - Support for Bullet physics.
# Egg - Support for the Egg file format.
#
# Panda3D::Bullet::p3bullet
# Panda3D::Egg::pandaegg
#
#
# ODE - Support for the ODE physics engine.
# Bullet - Support for Bullet physics.
#
# Panda3D::ODE::p3ode
# Panda3D::Bullet::p3bullet
#
#
# FFmpeg - Support for FFmpeg media format loading.
# ODE - Support for the ODE physics engine.
#
# Panda3D::FFmpeg::p3ffmpeg
# Panda3D::ODE::p3ode
#
#
# OpenAL - Support for OpenAL audio output.
# FFmpeg - Support for FFmpeg media format loading.
#
# Panda3D::OpenAL::p3openal_audio
# Panda3D::FFmpeg::p3ffmpeg
#
#
# FMOD - Support for FMOD audio output.
# OpenAL - Support for OpenAL audio output.
#
# Panda3D::OpenAL::p3fmod_audio
# Panda3D::OpenAL::p3openal_audio
#
#
# OpenGL - Support for OpenGL rendering.
# FMOD - Support for FMOD audio output.
#
# Panda3D::OpenGL::pandagl
# Panda3D::OpenAL::p3fmod_audio
#
#
# DX9 - Support for Direct3D 9 rendering.
# OpenGL - Support for OpenGL rendering.
#
# Panda3D::DX9::pandadx9
# Panda3D::OpenGL::pandagl
#
#
# GLES - Support for OpenGL ES rendering.
# DX9 - Support for Direct3D 9 rendering.
#
# Panda3D::GLES::pandagles
# Panda3D::GLES::pandagles2
# Panda3D::DX9::pandadx9
#
#
# Vision - Support for vision processing.
# GLES - Support for OpenGL ES rendering.
#
# Panda3D::Vision::p3vision
# Panda3D::GLES::pandagles
# Panda3D::GLES::pandagles2
#
#
# VRPN - Support for connecting to a VRPN virtual reality server.
# Vision - Support for vision processing.
#
# Panda3D::VRPN::p3vrpn
# Panda3D::Vision::p3vision
#
#
# VRPN - Support for connecting to a VRPN virtual reality server.
#
# Panda3D::VRPN::p3vrpn
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 3.0)
message(FATAL_ERROR "CMake >= 3.0.2 required")
@ -106,7 +111,7 @@ include("${_panda_config_prefix}/Panda3DPackages.cmake")
set(_panda_components
Core Python Tools
Direct Egg
Direct Framework Egg
Bullet ODE
FFmpeg
OpenAL FMOD

View File

@ -52,8 +52,10 @@ set_target_properties(p3framework PROPERTIES DEFINE_SYMBOL BUILDING_FRAMEWORK)
target_link_libraries(p3framework ${P3FRAMEWORK_LINK_TARGETS})
install(TARGETS p3framework
EXPORT Core COMPONENT Core
EXPORT Framework COMPONENT Framework
DESTINATION lib
RUNTIME DESTINATION bin
ARCHIVE COMPONENT CoreDevel)
install(FILES ${P3FRAMEWORK_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)
ARCHIVE COMPONENT FrameworkDevel)
install(FILES ${P3FRAMEWORK_HEADERS} COMPONENT FrameworkDevel DESTINATION include/panda3d)
export_targets(Framework COMPONENT FrameworkDevel)