From 7097f5b0e1d6769c81508f332872074ad11b5eee Mon Sep 17 00:00:00 2001 From: Sam Edwards Date: Sat, 23 Feb 2019 01:28:26 -0700 Subject: [PATCH] CMake: Move "framework" to its own component It can depend on graphics backends, so it can't go in Core. --- cmake/install/Panda3DConfig.cmake | 87 ++++++++++++++++-------------- panda/src/framework/CMakeLists.txt | 8 +-- 2 files changed, 51 insertions(+), 44 deletions(-) diff --git a/cmake/install/Panda3DConfig.cmake b/cmake/install/Panda3DConfig.cmake index 6320da8fdf..ceff49f55a 100644 --- a/cmake/install/Panda3DConfig.cmake +++ b/cmake/install/Panda3DConfig.cmake @@ -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 diff --git a/panda/src/framework/CMakeLists.txt b/panda/src/framework/CMakeLists.txt index b07fc8623a..68bf38152c 100644 --- a/panda/src/framework/CMakeLists.txt +++ b/panda/src/framework/CMakeLists.txt @@ -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)