Browse Source

CMake: Move "framework" to its own component

It can depend on graphics backends, so it can't go in Core.
Sam Edwards 6 years ago
parent
commit
7097f5b0e1
2 changed files with 51 additions and 44 deletions
  1. 46 41
      cmake/install/Panda3DConfig.cmake
  2. 5 3
      panda/src/framework/CMakeLists.txt

+ 46 - 41
cmake/install/Panda3DConfig.cmake

@@ -12,89 +12,94 @@
 #
 #
 # The following components are available for importing:
 # 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)
 if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 3.0)
    message(FATAL_ERROR "CMake >= 3.0.2 required")
    message(FATAL_ERROR "CMake >= 3.0.2 required")
@@ -106,7 +111,7 @@ include("${_panda_config_prefix}/Panda3DPackages.cmake")
 
 
 set(_panda_components
 set(_panda_components
   Core Python Tools
   Core Python Tools
-  Direct Egg
+  Direct Framework Egg
   Bullet ODE
   Bullet ODE
   FFmpeg
   FFmpeg
   OpenAL FMOD
   OpenAL FMOD

+ 5 - 3
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})
 target_link_libraries(p3framework ${P3FRAMEWORK_LINK_TARGETS})
 
 
 install(TARGETS p3framework
 install(TARGETS p3framework
-  EXPORT Core COMPONENT Core
+  EXPORT Framework COMPONENT Framework
   DESTINATION lib
   DESTINATION lib
   RUNTIME DESTINATION bin
   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)