Browse Source

CMake: Assign COMPONENT and EXPORT to all targets

Sam Edwards 7 years ago
parent
commit
99fee1a64d
100 changed files with 533 additions and 190 deletions
  1. 1 1
      CMakeLists.txt
  2. 10 4
      direct/CMakeLists.txt
  3. 1 1
      direct/src/dcparse/CMakeLists.txt
  4. 6 2
      direct/src/dcparser/CMakeLists.txt
  5. 6 2
      direct/src/deadrec/CMakeLists.txt
  6. 2 1
      direct/src/directbase/CMakeLists.txt
  7. 6 2
      direct/src/distributed/CMakeLists.txt
  8. 6 2
      direct/src/interval/CMakeLists.txt
  9. 6 2
      direct/src/motiontrail/CMakeLists.txt
  10. 14 5
      direct/src/showbase/CMakeLists.txt
  11. 1 0
      dtool/LocalSetup.cmake
  12. 7 1
      dtool/metalibs/dtool/CMakeLists.txt
  13. 8 1
      dtool/metalibs/dtoolconfig/CMakeLists.txt
  14. 1 1
      dtool/src/cppparser/CMakeLists.txt
  15. 2 1
      dtool/src/dconfig/CMakeLists.txt
  16. 6 2
      dtool/src/dtoolbase/CMakeLists.txt
  17. 6 2
      dtool/src/dtoolutil/CMakeLists.txt
  18. 2 2
      dtool/src/interrogate/CMakeLists.txt
  19. 7 3
      dtool/src/interrogatedb/CMakeLists.txt
  20. 6 2
      dtool/src/prc/CMakeLists.txt
  21. 1 1
      dtool/src/pystub/CMakeLists.txt
  22. 5 5
      panda/CMakeLists.txt
  23. 7 1
      panda/metalibs/panda/CMakeLists.txt
  24. 6 1
      panda/metalibs/pandadx9/CMakeLists.txt
  25. 7 1
      panda/metalibs/pandaegg/CMakeLists.txt
  26. 7 1
      panda/metalibs/pandaexpress/CMakeLists.txt
  27. 6 1
      panda/metalibs/pandagl/CMakeLists.txt
  28. 6 1
      panda/metalibs/pandagles/CMakeLists.txt
  29. 6 1
      panda/metalibs/pandagles2/CMakeLists.txt
  30. 7 1
      panda/metalibs/pandaphysics/CMakeLists.txt
  31. 6 2
      panda/src/audio/CMakeLists.txt
  32. 15 3
      panda/src/audiotraits/CMakeLists.txt
  33. 6 2
      panda/src/bullet/CMakeLists.txt
  34. 6 2
      panda/src/chan/CMakeLists.txt
  35. 6 2
      panda/src/char/CMakeLists.txt
  36. 1 1
      panda/src/cocoadisplay/CMakeLists.txt
  37. 6 2
      panda/src/collide/CMakeLists.txt
  38. 1 1
      panda/src/configfiles/CMakeLists.txt
  39. 6 2
      panda/src/cull/CMakeLists.txt
  40. 6 2
      panda/src/device/CMakeLists.txt
  41. 6 2
      panda/src/dgraph/CMakeLists.txt
  42. 6 2
      panda/src/display/CMakeLists.txt
  43. 6 2
      panda/src/downloader/CMakeLists.txt
  44. 3 1
      panda/src/downloadertools/CMakeLists.txt
  45. 6 2
      panda/src/dxgsg9/CMakeLists.txt
  46. 6 2
      panda/src/dxml/CMakeLists.txt
  47. 6 2
      panda/src/egg/CMakeLists.txt
  48. 6 2
      panda/src/egg2pg/CMakeLists.txt
  49. 11 3
      panda/src/egldisplay/CMakeLists.txt
  50. 6 2
      panda/src/event/CMakeLists.txt
  51. 6 2
      panda/src/express/CMakeLists.txt
  52. 6 2
      panda/src/ffmpeg/CMakeLists.txt
  53. 6 2
      panda/src/framework/CMakeLists.txt
  54. 6 2
      panda/src/gles2gsg/CMakeLists.txt
  55. 6 2
      panda/src/glesgsg/CMakeLists.txt
  56. 6 2
      panda/src/glgsg/CMakeLists.txt
  57. 6 2
      panda/src/glstuff/CMakeLists.txt
  58. 1 1
      panda/src/glxdisplay/CMakeLists.txt
  59. 6 2
      panda/src/gobj/CMakeLists.txt
  60. 6 2
      panda/src/grutil/CMakeLists.txt
  61. 6 2
      panda/src/gsgbase/CMakeLists.txt
  62. 6 2
      panda/src/linmath/CMakeLists.txt
  63. 6 2
      panda/src/mathutil/CMakeLists.txt
  64. 6 2
      panda/src/movies/CMakeLists.txt
  65. 6 2
      panda/src/nativenet/CMakeLists.txt
  66. 6 2
      panda/src/net/CMakeLists.txt
  67. 6 2
      panda/src/ode/CMakeLists.txt
  68. 1 1
      panda/src/osxdisplay/CMakeLists.txt
  69. 2 1
      panda/src/pandabase/CMakeLists.txt
  70. 6 2
      panda/src/parametrics/CMakeLists.txt
  71. 6 2
      panda/src/particlesystem/CMakeLists.txt
  72. 6 2
      panda/src/pgraph/CMakeLists.txt
  73. 6 2
      panda/src/pgraphnodes/CMakeLists.txt
  74. 6 2
      panda/src/pgui/CMakeLists.txt
  75. 6 2
      panda/src/physics/CMakeLists.txt
  76. 6 2
      panda/src/pipeline/CMakeLists.txt
  77. 6 2
      panda/src/pnmimage/CMakeLists.txt
  78. 5 1
      panda/src/pnmimagetypes/CMakeLists.txt
  79. 6 2
      panda/src/pnmtext/CMakeLists.txt
  80. 7 3
      panda/src/pstatclient/CMakeLists.txt
  81. 7 3
      panda/src/putil/CMakeLists.txt
  82. 6 2
      panda/src/recorder/CMakeLists.txt
  83. 1 1
      panda/src/testbed/CMakeLists.txt
  84. 6 2
      panda/src/text/CMakeLists.txt
  85. 6 2
      panda/src/tform/CMakeLists.txt
  86. 6 2
      panda/src/vision/CMakeLists.txt
  87. 6 2
      panda/src/vrpn/CMakeLists.txt
  88. 9 0
      panda/src/wgldisplay/CMakeLists.txt
  89. 8 0
      panda/src/windisplay/CMakeLists.txt
  90. 1 1
      panda/src/x11display/CMakeLists.txt
  91. 1 1
      pandatool/src/assimp/CMakeLists.txt
  92. 4 4
      pandatool/src/bam/CMakeLists.txt
  93. 3 3
      pandatool/src/dxfprogs/CMakeLists.txt
  94. 1 1
      pandatool/src/egg-mkfont/CMakeLists.txt
  95. 1 1
      pandatool/src/egg-optchar/CMakeLists.txt
  96. 2 2
      pandatool/src/egg-palettize/CMakeLists.txt
  97. 1 1
      pandatool/src/egg-qtess/CMakeLists.txt
  98. 9 9
      pandatool/src/eggprogs/CMakeLists.txt
  99. 5 5
      pandatool/src/fltprogs/CMakeLists.txt
  100. 1 1
      pandatool/src/gtk-stats/CMakeLists.txt

+ 1 - 1
CMakeLists.txt

@@ -156,7 +156,7 @@ if(BUILD_MODELS)
     *.egg
     *.egg
   )
   )
   install(DIRECTORY "${PROJECT_BINARY_DIR}/models"
   install(DIRECTORY "${PROJECT_BINARY_DIR}/models"
-    DESTINATION share/panda3d)
+    COMPONENT Models DESTINATION share/panda3d)
 endif()
 endif()
 
 
 if(INTERROGATE_PYTHON_INTERFACE)
 if(INTERROGATE_PYTHON_INTERFACE)

+ 10 - 4
direct/CMakeLists.txt

@@ -20,18 +20,24 @@ set(P3DIRECT_COMPONENTS
 if(HAVE_PYTHON)
 if(HAVE_PYTHON)
   list(APPEND P3DIRECT_COMPONENTS p3distributed)
   list(APPEND P3DIRECT_COMPONENTS p3distributed)
 endif()
 endif()
+set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "DirectDevel")
 add_metalib(p3direct INIT init_libdirect direct.h COMPONENTS ${P3DIRECT_COMPONENTS})
 add_metalib(p3direct INIT init_libdirect direct.h COMPONENTS ${P3DIRECT_COMPONENTS})
+unset(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME)
 set_property(TARGET p3direct PROPERTY LINKER_LANGUAGE "CXX")
 set_property(TARGET p3direct PROPERTY LINKER_LANGUAGE "CXX")
 
 
 # Installation:
 # Installation:
-install(TARGETS p3direct DESTINATION lib RUNTIME DESTINATION bin)
+install(TARGETS p3direct
+  EXPORT Direct COMPONENT Direct
+  DESTINATION lib
+  RUNTIME DESTINATION bin
+  ARCHIVE COMPONENT DirectDevel)
 
 
 if(HAVE_PYTHON)
 if(HAVE_PYTHON)
   # Now for the Python side of everything
   # Now for the Python side of everything
 
 
   add_python_module(direct
   add_python_module(direct
     p3dcparser p3deadrec p3distributed p3interval
     p3dcparser p3deadrec p3distributed p3interval
-    p3motiontrail p3showbase LINK p3direct IMPORT panda3d.core)
+    p3motiontrail p3showbase LINK p3direct IMPORT panda3d.core COMPONENT Direct)
 
 
   # Copy Python source files into the build directory
   # Copy Python source files into the build directory
   set(DIRECT_INSTALL_DIRECTORIES
   set(DIRECT_INSTALL_DIRECTORIES
@@ -48,7 +54,7 @@ if(HAVE_PYTHON)
   endforeach()
   endforeach()
 
 
   # Install all files
   # Install all files
-  install_python_package("${PROJECT_BINARY_DIR}/direct" LIB)
+  install_python_package("${PROJECT_BINARY_DIR}/direct" LIB COMPONENT Direct)
 
 
   # This bit is to generate the 'pandac' compatibility shim. It's deprecated now,
   # This bit is to generate the 'pandac' compatibility shim. It's deprecated now,
   # but in older versions of Panda3D, one would use
   # but in older versions of Panda3D, one would use
@@ -72,5 +78,5 @@ except ImportError as err:
   endforeach()
   endforeach()
 
 
   # Now install ourselves:
   # Now install ourselves:
-  install_python_package("${PROJECT_BINARY_DIR}/pandac" LIB)
+  install_python_package("${PROJECT_BINARY_DIR}/pandac" LIB COMPONENT Direct)
 endif()
 endif()

+ 1 - 1
direct/src/dcparse/CMakeLists.txt

@@ -1,3 +1,3 @@
 add_executable(p3dcparse dcparse.cxx)
 add_executable(p3dcparse dcparse.cxx)
 target_link_libraries(p3dcparse p3direct)
 target_link_libraries(p3dcparse p3direct)
-install(TARGETS p3dcparse DESTINATION bin)
+install(TARGETS p3dcparse EXPORT Direct COMPONENT Direct DESTINATION bin)

+ 6 - 2
direct/src/dcparser/CMakeLists.txt

@@ -55,6 +55,10 @@ target_link_libraries(p3dcparser p3directbase panda PKG::PYTHON)
 target_interrogate(p3dcparser ${P3DCPARSER_HEADERS} ${P3DCPARSER_SOURCES})
 target_interrogate(p3dcparser ${P3DCPARSER_HEADERS} ${P3DCPARSER_SOURCES})
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3dcparser DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3dcparser
+    EXPORT Direct COMPONENT Direct
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT DirectDevel)
 endif()
 endif()
-install(FILES ${P3DCPARSER_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3DCPARSER_HEADERS} COMPONENT DirectDevel DESTINATION include/panda3d)

+ 6 - 2
direct/src/deadrec/CMakeLists.txt

@@ -12,6 +12,10 @@ target_link_libraries(p3deadrec p3directbase panda)
 target_interrogate(p3deadrec ALL)
 target_interrogate(p3deadrec ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3deadrec DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3deadrec
+    EXPORT Direct COMPONENT Direct
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT DirectDevel)
 endif()
 endif()
-install(FILES ${P3DEADREC_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3DEADREC_HEADERS} COMPONENT DirectDevel DESTINATION include/panda3d)

+ 2 - 1
direct/src/directbase/CMakeLists.txt

@@ -10,4 +10,5 @@ set(P3DIRECTBASE_HEADERS
 add_library(p3directbase INTERFACE)
 add_library(p3directbase INTERFACE)
 target_link_libraries(p3directbase INTERFACE panda)
 target_link_libraries(p3directbase INTERFACE panda)
 
 
-install(FILES ${P3DIRECTBASE_HEADERS} DESTINATION include/panda3d)
+install(TARGETS p3directbase EXPORT Direct COMPONENT Direct)
+install(FILES ${P3DIRECTBASE_HEADERS} COMPONENT DirectDevel DESTINATION include/panda3d)

+ 6 - 2
direct/src/distributed/CMakeLists.txt

@@ -20,6 +20,10 @@ target_link_libraries(p3distributed p3directbase p3dcparser panda PKG::PYTHON)
 target_interrogate(p3distributed ALL)
 target_interrogate(p3distributed ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3distributed DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3distributed
+    EXPORT Direct COMPONENT Direct
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT DirectDevel)
 endif()
 endif()
-install(FILES ${P3DISTRIBUTED_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3DISTRIBUTED_HEADERS} COMPONENT DirectDevel DESTINATION include/panda3d)

+ 6 - 2
direct/src/interval/CMakeLists.txt

@@ -42,6 +42,10 @@ target_link_libraries(p3interval p3directbase panda)
 target_interrogate(p3interval ALL)
 target_interrogate(p3interval ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3interval DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3interval
+    EXPORT Direct COMPONENT Direct
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT DirectDevel)
 endif()
 endif()
-install(FILES ${P3INTERVAL_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3INTERVAL_HEADERS} COMPONENT DirectDevel DESTINATION include/panda3d)

+ 6 - 2
direct/src/motiontrail/CMakeLists.txt

@@ -12,6 +12,10 @@ target_link_libraries(p3motiontrail p3directbase panda)
 target_interrogate(p3motiontrail ALL)
 target_interrogate(p3motiontrail ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3motiontrail DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3motiontrail
+    EXPORT Direct COMPONENT Direct
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT DirectDevel)
 endif()
 endif()
-install(FILES ${P3MOTIONTRAIL_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3MOTIONTRAIL_HEADERS} COMPONENT DirectDevel DESTINATION include/panda3d)

+ 14 - 5
direct/src/showbase/CMakeLists.txt

@@ -1,13 +1,17 @@
-set(P3SHOWBASE_FILES
-    showBase.cxx
-    showBase.h)
+set(P3SHOWBASE_HEADERS
+  showBase.h
+)
+
+set(P3SHOWBASE_SOURCES
+  showBase.cxx
+)
 
 
 if(APPLE)
 if(APPLE)
   list(APPEND P3SHOWBASE_FILES showBase_assist.mm)
   list(APPEND P3SHOWBASE_FILES showBase_assist.mm)
 endif()
 endif()
 
 
 add_component_library(p3showbase NOINIT SYMBOL BUILDING_DIRECT_SHOWBASE
 add_component_library(p3showbase NOINIT SYMBOL BUILDING_DIRECT_SHOWBASE
-  ${P3SHOWBASE_FILES})
+  ${P3SHOWBASE_HEADERS} ${P3SHOWBASE_SOURCES})
 
 
 if(APPLE)
 if(APPLE)
   set_target_properties(p3showbase PROPERTIES COMPILE_FLAGS "-ObjC++")
   set_target_properties(p3showbase PROPERTIES COMPILE_FLAGS "-ObjC++")
@@ -17,5 +21,10 @@ target_link_libraries(p3showbase p3directbase panda)
 target_interrogate(p3showbase ALL)
 target_interrogate(p3showbase ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3showbase DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3showbase
+    EXPORT Direct COMPONENT Direct
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT DirectDevel)
 endif()
 endif()
+install(FILES ${P3SHOWBASE_HEADERS} COMPONENT DirectDevel DESTINATION include/panda3d)

+ 1 - 0
dtool/LocalSetup.cmake

@@ -190,4 +190,5 @@ endif()
 
 
 configure_file(dtool_config.h.in "${PROJECT_BINARY_DIR}/include/${intdir}/dtool_config.h")
 configure_file(dtool_config.h.in "${PROJECT_BINARY_DIR}/include/${intdir}/dtool_config.h")
 install(FILES "${PROJECT_BINARY_DIR}/include/${intdir}/dtool_config.h"
 install(FILES "${PROJECT_BINARY_DIR}/include/${intdir}/dtool_config.h"
+  COMPONENT CoreDevel
   DESTINATION include/panda3d)
   DESTINATION include/panda3d)

+ 7 - 1
dtool/metalibs/dtool/CMakeLists.txt

@@ -1,3 +1,9 @@
+set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "CoreDevel")
 add_metalib(p3dtool INIT init_libdtool dtool.h COMPONENTS p3dtoolutil p3dtoolbase)
 add_metalib(p3dtool INIT init_libdtool dtool.h COMPONENTS p3dtoolutil p3dtoolbase)
+unset(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME)
 
 
-install(TARGETS p3dtool DESTINATION lib RUNTIME DESTINATION bin)
+install(TARGETS p3dtool
+  EXPORT Core COMPONENT Core
+  DESTINATION lib
+  RUNTIME DESTINATION bin
+  ARCHIVE COMPONENT CoreDevel)

+ 8 - 1
dtool/metalibs/dtoolconfig/CMakeLists.txt

@@ -1,3 +1,10 @@
 set(DTOOLCONFIG_LINK_TARGETS p3prc p3interrogatedb)
 set(DTOOLCONFIG_LINK_TARGETS p3prc p3interrogatedb)
+set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "CoreDevel")
 add_metalib(p3dtoolconfig INIT init_libdtoolconfig dtoolconfig.h COMPONENTS ${DTOOLCONFIG_LINK_TARGETS})
 add_metalib(p3dtoolconfig INIT init_libdtoolconfig dtoolconfig.h COMPONENTS ${DTOOLCONFIG_LINK_TARGETS})
-install(TARGETS p3dtoolconfig DESTINATION lib RUNTIME DESTINATION bin)
+unset(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME)
+
+install(TARGETS p3dtoolconfig
+  EXPORT Core COMPONENT Core
+  DESTINATION lib
+  RUNTIME DESTINATION bin
+  ARCHIVE COMPONENT CoreDevel)

+ 1 - 1
dtool/src/cppparser/CMakeLists.txt

@@ -42,4 +42,4 @@ composite_sources(p3cppParser P3CPPPARSER_SOURCES)
 add_library(p3cppParser STATIC ${P3CPPPARSER_HEADERS} ${P3CPPPARSER_SOURCES})
 add_library(p3cppParser STATIC ${P3CPPPARSER_HEADERS} ${P3CPPPARSER_SOURCES})
 target_link_libraries(p3cppParser p3dtool)
 target_link_libraries(p3cppParser p3dtool)
 
 
-install(TARGETS p3cppParser DESTINATION lib)
+install(TARGETS p3cppParser EXPORT Core COMPONENT CoreDevel DESTINATION lib)

+ 2 - 1
dtool/src/dconfig/CMakeLists.txt

@@ -2,4 +2,5 @@
 # We're only doing this to put the .h file on the path.
 # We're only doing this to put the .h file on the path.
 add_library(p3dconfig INTERFACE)
 add_library(p3dconfig INTERFACE)
 
 
-install(FILES dconfig.h DESTINATION include/panda3d)
+install(FILES dconfig.h COMPONENT CoreDevel DESTINATION include/panda3d)
+install(TARGETS p3dconfig EXPORT Core COMPONENT Core)

+ 6 - 2
dtool/src/dtoolbase/CMakeLists.txt

@@ -95,6 +95,10 @@ target_link_libraries(p3dtoolbase PKG::EIGEN PKG::THREADS)
 target_interrogate(p3dtoolbase ${P3DTOOLBASE_SOURCES} EXTENSIONS ${P3DTOOLBASE_IGATEEXT})
 target_interrogate(p3dtoolbase ${P3DTOOLBASE_SOURCES} EXTENSIONS ${P3DTOOLBASE_IGATEEXT})
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3dtoolbase DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3dtoolbase
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3DTOOLBASE_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3DTOOLBASE_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 6 - 2
dtool/src/dtoolutil/CMakeLists.txt

@@ -81,6 +81,10 @@ if(APPLE)
 endif()
 endif()
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3dtoolutil DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3dtoolutil
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3DTOOLUTIL_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3DTOOLUTIL_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 2 - 2
dtool/src/interrogate/CMakeLists.txt

@@ -91,8 +91,8 @@ if(NOT CMAKE_CROSSCOMPILING)
 endif()
 endif()
 
 
 if(WANT_INTERROGATE)
 if(WANT_INTERROGATE)
-  install(TARGETS interrogate interrogate_module DESTINATION bin)
-  install(FILES ${INTERROGATE_HEADERS} DESTINATION include/panda3d)
+  install(TARGETS interrogate interrogate_module EXPORT Core COMPONENT CoreDevel DESTINATION bin)
+  install(FILES ${INTERROGATE_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)
 else()
 else()
   set_target_properties(interrogate interrogate_module
   set_target_properties(interrogate interrogate_module
     PROPERTIES EXCLUDE_FROM_ALL ON)
     PROPERTIES EXCLUDE_FROM_ALL ON)

+ 7 - 3
dtool/src/interrogatedb/CMakeLists.txt

@@ -40,10 +40,14 @@ add_component_library(p3interrogatedb NOINIT SYMBOL BUILDING_INTERROGATEDB
 target_link_libraries(p3interrogatedb p3prc p3dconfig p3dtool)
 target_link_libraries(p3interrogatedb p3prc p3dconfig p3dtool)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3interrogatedb DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3interrogatedb
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3INTERROGATEDB_HEADERS} DESTINATION include/panda3d)
-install(FILES ${P3IGATERUNTIME_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3INTERROGATEDB_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)
+install(FILES ${P3IGATERUNTIME_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)
 
 
 # ALSO: This has an Interrogate binding! Take care of that if we want it.
 # ALSO: This has an Interrogate binding! Take care of that if we want it.
 # Note we don't use the regular Interrogate macros; this has some custom flags
 # Note we don't use the regular Interrogate macros; this has some custom flags

+ 6 - 2
dtool/src/prc/CMakeLists.txt

@@ -78,6 +78,10 @@ target_link_libraries(p3prc p3dtool PKG::OPENSSL)
 target_interrogate(p3prc ALL EXTENSIONS ${P3PRC_IGATEEXT})
 target_interrogate(p3prc ALL EXTENSIONS ${P3PRC_IGATEEXT})
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3prc DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3prc
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3PRC_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3PRC_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 1 - 1
dtool/src/pystub/CMakeLists.txt

@@ -3,4 +3,4 @@ set(P3PYSTUB_SOURCES pystub.cxx)
 
 
 add_library(p3pystub STATIC ${P3PYSTUB_HEADERS} ${P3PYSTUB_SOURCES})
 add_library(p3pystub STATIC ${P3PYSTUB_HEADERS} ${P3PYSTUB_SOURCES})
 target_link_libraries(p3pystub p3dtool)
 target_link_libraries(p3pystub p3dtool)
-install(FILES ${P3PYSTUB_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3PYSTUB_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 5 - 5
panda/CMakeLists.txt

@@ -98,24 +98,24 @@ if(HAVE_PYTHON)
   add_python_module(core ${CORE_MODULE_COMPONENTS} LINK panda)
   add_python_module(core ${CORE_MODULE_COMPONENTS} LINK panda)
 
 
   if(HAVE_BULLET)
   if(HAVE_BULLET)
-    add_python_module(bullet p3bullet IMPORT panda3d.core)
+    add_python_module(bullet p3bullet IMPORT panda3d.core COMPONENT BulletPython)
   endif()
   endif()
 
 
   if(HAVE_EGG)
   if(HAVE_EGG)
-    add_python_module(egg p3egg p3egg2pg LINK pandaegg IMPORT panda3d.core)
+    add_python_module(egg p3egg p3egg2pg LINK pandaegg IMPORT panda3d.core COMPONENT EggPython)
   endif()
   endif()
 
 
   add_python_module(physics p3physics p3particlesystem LINK pandaphysics IMPORT panda3d.core)
   add_python_module(physics p3physics p3particlesystem LINK pandaphysics IMPORT panda3d.core)
 
 
   if(HAVE_ODE)
   if(HAVE_ODE)
-    add_python_module(ode p3ode IMPORT panda3d.core)
+    add_python_module(ode p3ode IMPORT panda3d.core COMPONENT ODEPython)
   endif()
   endif()
 
 
   if(HAVE_OPENCV OR HAVE_ARTOOLKIT)
   if(HAVE_OPENCV OR HAVE_ARTOOLKIT)
-    add_python_module(vision p3vision IMPORT panda3d.core)
+    add_python_module(vision p3vision IMPORT panda3d.core COMPONENT VisionPython)
   endif()
   endif()
 
 
   if(HAVE_VRPN)
   if(HAVE_VRPN)
-    add_python_module(vrpn p3vrpn IMPORT panda3d.core)
+    add_python_module(vrpn p3vrpn IMPORT panda3d.core COMPONENT VRPNPython)
   endif()
   endif()
 endif()
 endif()

+ 7 - 1
panda/metalibs/panda/CMakeLists.txt

@@ -11,6 +11,12 @@ if(HAVE_FREETYPE)
   list(APPEND PANDA_LINK_TARGETS p3pnmtext)
   list(APPEND PANDA_LINK_TARGETS p3pnmtext)
 endif()
 endif()
 
 
+set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "CoreDevel")
 add_metalib(panda INIT init_libpanda panda.h COMPONENTS ${PANDA_LINK_TARGETS})
 add_metalib(panda INIT init_libpanda panda.h COMPONENTS ${PANDA_LINK_TARGETS})
+unset(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME)
 
 
-install(TARGETS panda DESTINATION lib RUNTIME DESTINATION bin)
+install(TARGETS panda
+  EXPORT Core COMPONENT Core
+  DESTINATION lib
+  RUNTIME DESTINATION bin
+  ARCHIVE COMPONENT CoreDevel)

+ 6 - 1
panda/metalibs/pandadx9/CMakeLists.txt

@@ -2,10 +2,15 @@ if(NOT HAVE_DX9)
   return()
   return()
 endif()
 endif()
 
 
+set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "DX9Devel")
 add_metalib(pandadx9 ${MODULE_TYPE}
 add_metalib(pandadx9 ${MODULE_TYPE}
   INCLUDE wdxGraphicsPipe9.h
   INCLUDE wdxGraphicsPipe9.h
   INIT init_libpandadx9 pandadx9.h
   INIT init_libpandadx9 pandadx9.h
   EXPORT int get_pipe_type_pandadx9 "wdxGraphicsPipe9::get_class_type().get_index()"
   EXPORT int get_pipe_type_pandadx9 "wdxGraphicsPipe9::get_class_type().get_index()"
   COMPONENTS p3dxgsg9 p3windisplay)
   COMPONENTS p3dxgsg9 p3windisplay)
+unset(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME)
 
 
-install(TARGETS pandadx9 DESTINATION ${MODULE_DESTINATION})
+install(TARGETS pandadx9
+  EXPORT DX9 COMPONENT DX9
+  DESTINATION ${MODULE_DESTINATION}
+  ARCHIVE COMPONENT DX9Devel)

+ 7 - 1
panda/metalibs/pandaegg/CMakeLists.txt

@@ -2,9 +2,15 @@ if(NOT HAVE_EGG)
   return()
   return()
 endif()
 endif()
 
 
+set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "EggDevel")
 add_metalib(pandaegg
 add_metalib(pandaegg
   INIT init_libpandaegg pandaegg.h
   INIT init_libpandaegg pandaegg.h
   COMPONENTS p3egg p3egg2pg)
   COMPONENTS p3egg p3egg2pg)
+unset(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME)
 target_link_libraries(pandaegg panda)
 target_link_libraries(pandaegg panda)
 
 
-install(TARGETS pandaegg DESTINATION lib RUNTIME DESTINATION bin)
+install(TARGETS pandaegg
+  EXPORT Egg COMPONENT Egg
+  DESTINATION lib
+  RUNTIME DESTINATION bin
+  ARCHIVE COMPONENT EggDevel)

+ 7 - 1
panda/metalibs/pandaexpress/CMakeLists.txt

@@ -1,5 +1,11 @@
+set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "CoreDevel")
 add_metalib(pandaexpress
 add_metalib(pandaexpress
   INIT init_libpandaexpress pandaexpress.h
   INIT init_libpandaexpress pandaexpress.h
   COMPONENTS p3downloader p3express)
   COMPONENTS p3downloader p3express)
+unset(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME)
 
 
-install(TARGETS pandaexpress DESTINATION lib RUNTIME DESTINATION bin)
+install(TARGETS pandaexpress
+  EXPORT Core COMPONENT Core
+  DESTINATION lib
+  RUNTIME DESTINATION bin
+  ARCHIVE COMPONENT CoreDevel)

+ 6 - 1
panda/metalibs/pandagl/CMakeLists.txt

@@ -28,10 +28,15 @@ if(NOT PANDAGL_PIPE_INCLUDE)
   set(PANDAGL_PIPE_INCLUDE "${PANDAGL_PIPE_TYPE}.h")
   set(PANDAGL_PIPE_INCLUDE "${PANDAGL_PIPE_TYPE}.h")
 endif()
 endif()
 
 
+set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "OpenGLDevel")
 add_metalib(pandagl ${MODULE_TYPE}
 add_metalib(pandagl ${MODULE_TYPE}
   INCLUDE "${PANDAGL_PIPE_INCLUDE}"
   INCLUDE "${PANDAGL_PIPE_INCLUDE}"
   INIT init_libpandagl pandagl.h
   INIT init_libpandagl pandagl.h
   EXPORT int get_pipe_type_pandagl "${PANDAGL_PIPE_TYPE}::get_class_type().get_index()"
   EXPORT int get_pipe_type_pandagl "${PANDAGL_PIPE_TYPE}::get_class_type().get_index()"
   COMPONENTS ${PANDAGL_LINK_TARGETS})
   COMPONENTS ${PANDAGL_LINK_TARGETS})
+unset(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME)
 
 
-install(TARGETS pandagl DESTINATION ${MODULE_DESTINATION})
+install(TARGETS pandagl
+  EXPORT OpenGL COMPONENT OpenGL
+  DESTINATION ${MODULE_DESTINATION}
+  ARCHIVE COMPONENT OpenGLDevel)

+ 6 - 1
panda/metalibs/pandagles/CMakeLists.txt

@@ -10,10 +10,15 @@ else()
   set(GLES1_PIPE_INCLUDE "eglGraphicsPipe.h")
   set(GLES1_PIPE_INCLUDE "eglGraphicsPipe.h")
 endif()
 endif()
 
 
+set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "GLESDevel")
 add_metalib(pandagles ${MODULE_TYPE}
 add_metalib(pandagles ${MODULE_TYPE}
   INCLUDE "${GLES1_PIPE_INCLUDE}"
   INCLUDE "${GLES1_PIPE_INCLUDE}"
   INIT init_libpandagles pandagles.h
   INIT init_libpandagles pandagles.h
   EXPORT int get_pipe_type_pandagles "${GLES1_PIPE_TYPE}::get_class_type().get_index()"
   EXPORT int get_pipe_type_pandagles "${GLES1_PIPE_TYPE}::get_class_type().get_index()"
   COMPONENTS p3egldisplay_gles1 p3glesgsg p3glstuff p3x11display)
   COMPONENTS p3egldisplay_gles1 p3glesgsg p3glstuff p3x11display)
+unset(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME)
 
 
-install(TARGETS pandagles DESTINATION ${MODULE_DESTINATION})
+install(TARGETS pandagles
+  EXPORT GLES COMPONENT GLES
+  DESTINATION ${MODULE_DESTINATION}
+  ARCHIVE COMPONENT GLESDevel)

+ 6 - 1
panda/metalibs/pandagles2/CMakeLists.txt

@@ -2,10 +2,15 @@ if(NOT HAVE_GLES2 OR NOT HAVE_EGL)
   return()
   return()
 endif()
 endif()
 
 
+set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "GLESDevel")
 add_metalib(pandagles2 ${MODULE_TYPE}
 add_metalib(pandagles2 ${MODULE_TYPE}
   INCLUDE eglGraphicsPipe.h
   INCLUDE eglGraphicsPipe.h
   INIT init_libpandagles2 pandagles2.h
   INIT init_libpandagles2 pandagles2.h
   EXPORT int get_pipe_type_pandagles2 "eglGraphicsPipe::get_class_type().get_index()"
   EXPORT int get_pipe_type_pandagles2 "eglGraphicsPipe::get_class_type().get_index()"
   COMPONENTS p3egldisplay_gles2 p3gles2gsg p3glstuff p3x11display)
   COMPONENTS p3egldisplay_gles2 p3gles2gsg p3glstuff p3x11display)
+unset(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME)
 
 
-install(TARGETS pandagles2 DESTINATION ${MODULE_DESTINATION})
+install(TARGETS pandagles2
+  EXPORT GLES COMPONENT GLES
+  DESTINATION ${MODULE_DESTINATION}
+  ARCHIVE COMPONENT GLESDevel)

+ 7 - 1
panda/metalibs/pandaphysics/CMakeLists.txt

@@ -1,5 +1,11 @@
+set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "CoreDevel")
 add_metalib(pandaphysics
 add_metalib(pandaphysics
   INIT init_libpandaphysics pandaphysics.h
   INIT init_libpandaphysics pandaphysics.h
   COMPONENTS p3physics p3particlesystem)
   COMPONENTS p3physics p3particlesystem)
+unset(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME)
 
 
-install(TARGETS pandaphysics DESTINATION lib RUNTIME DESTINATION bin)
+install(TARGETS pandaphysics
+  EXPORT Core COMPONENT Core
+  DESTINATION lib
+  RUNTIME DESTINATION bin
+  ARCHIVE COMPONENT CoreDevel)

+ 6 - 2
panda/src/audio/CMakeLists.txt

@@ -27,6 +27,10 @@ target_link_libraries(p3audio p3putil p3event p3movies p3linmath)
 target_interrogate(p3audio ALL)
 target_interrogate(p3audio ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3audio DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3audio
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3AUDIO_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3AUDIO_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 15 - 3
panda/src/audiotraits/CMakeLists.txt

@@ -25,7 +25,11 @@ if(HAVE_RAD_MSS)
   set_target_properties(p3miles_audio PROPERTIES DEFINE_SYMBOL BUILDING_MILES_AUDIO)
   set_target_properties(p3miles_audio PROPERTIES DEFINE_SYMBOL BUILDING_MILES_AUDIO)
   target_link_libraries(p3miles_audio panda PKG::MILES)
   target_link_libraries(p3miles_audio panda PKG::MILES)
 
 
-  install(TARGETS p3miles_audio DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3miles_audio
+    EXPORT Miles COMPONENT Miles
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT MilesDevel)
 endif()
 endif()
 
 
 if(HAVE_FMODEX)
 if(HAVE_FMODEX)
@@ -42,7 +46,11 @@ if(HAVE_FMODEX)
   set_target_properties(p3fmod_audio PROPERTIES DEFINE_SYMBOL BUILDING_FMOD_AUDIO)
   set_target_properties(p3fmod_audio PROPERTIES DEFINE_SYMBOL BUILDING_FMOD_AUDIO)
   target_link_libraries(p3fmod_audio panda PKG::FMODEX)
   target_link_libraries(p3fmod_audio panda PKG::FMODEX)
 
 
-  install(TARGETS p3fmod_audio DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3fmod_audio
+    EXPORT FMOD COMPONENT FMOD
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT FMODDevel)
 endif()
 endif()
 
 
 if(HAVE_OPENAL)
 if(HAVE_OPENAL)
@@ -60,5 +68,9 @@ if(HAVE_OPENAL)
   set_target_properties(p3openal_audio PROPERTIES DEFINE_SYMBOL BUILDING_OPENAL_AUDIO)
   set_target_properties(p3openal_audio PROPERTIES DEFINE_SYMBOL BUILDING_OPENAL_AUDIO)
   target_link_libraries(p3openal_audio panda PKG::OPENAL)
   target_link_libraries(p3openal_audio panda PKG::OPENAL)
 
 
-  install(TARGETS p3openal_audio DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3openal_audio
+    EXPORT OpenAL COMPONENT OpenAL
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT OpenALDevel)
 endif()
 endif()

+ 6 - 2
panda/src/bullet/CMakeLists.txt

@@ -112,5 +112,9 @@ set_target_properties(p3bullet PROPERTIES DEFINE_SYMBOL BUILDING_PANDABULLET)
 target_link_libraries(p3bullet panda PKG::BULLET)
 target_link_libraries(p3bullet panda PKG::BULLET)
 target_interrogate(p3bullet ALL)
 target_interrogate(p3bullet ALL)
 
 
-install(TARGETS p3bullet DESTINATION lib RUNTIME DESTINATION bin)
-install(FILES ${P3BULLET_HEADERS} DESTINATION include/panda3d)
+install(TARGETS p3bullet
+  EXPORT Bullet COMPONENT Bullet
+  DESTINATION lib
+  RUNTIME DESTINATION bin
+  ARCHIVE COMPONENT BulletDevel)
+install(FILES ${P3BULLET_HEADERS} COMPONENT BulletDevel DESTINATION include/panda3d)

+ 6 - 2
panda/src/chan/CMakeLists.txt

@@ -59,6 +59,10 @@ target_link_libraries(p3chan p3pgraph)
 target_interrogate(p3chan ALL)
 target_interrogate(p3chan ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3chan DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3chan
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3CHAN_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3CHAN_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 6 - 2
panda/src/char/CMakeLists.txt

@@ -25,6 +25,10 @@ target_link_libraries(p3char p3chan)
 target_interrogate(p3char ALL)
 target_interrogate(p3char ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3char DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3char
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3CHAR_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3CHAR_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 1 - 1
panda/src/cocoadisplay/CMakeLists.txt

@@ -40,5 +40,5 @@ target_link_libraries(p3cocoadisplay
   ${APPLICATIONSERVICES_LIBRARY} ${APPKIT_LIBRARY} ${CARBON_LIBRARY})
   ${APPLICATIONSERVICES_LIBRARY} ${APPKIT_LIBRARY} ${CARBON_LIBRARY})
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3cocoadisplay DESTINATION lib)
+  install(TARGETS p3cocoadisplay EXPORT Panda COMPONENT Panda DESTINATION lib)
 endif()
 endif()

+ 6 - 2
panda/src/collide/CMakeLists.txt

@@ -70,9 +70,13 @@ target_link_libraries(p3collide p3tform)
 target_interrogate(p3collide ALL)
 target_interrogate(p3collide ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3collide DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3collide
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3COLLIDE_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3COLLIDE_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)
 
 
 #begin test_bin_target
 #begin test_bin_target
   #define TARGET test_collide
   #define TARGET test_collide

+ 1 - 1
panda/src/configfiles/CMakeLists.txt

@@ -28,4 +28,4 @@ endif()
 
 
 configure_file(panda.prc.in "${CMAKE_BINARY_DIR}/etc/20_panda.prc")
 configure_file(panda.prc.in "${CMAKE_BINARY_DIR}/etc/20_panda.prc")
 
 
-install(FILES "${CMAKE_BINARY_DIR}/etc/20_panda.prc" DESTINATION etc)
+install(FILES "${CMAKE_BINARY_DIR}/etc/20_panda.prc" COMPONENT Core DESTINATION etc)

+ 6 - 2
panda/src/cull/CMakeLists.txt

@@ -27,6 +27,10 @@ target_link_libraries(p3cull p3pgraph)
 target_interrogate(p3cull ALL)
 target_interrogate(p3cull ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3cull DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3cull
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3CULL_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3CULL_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 6 - 2
panda/src/device/CMakeLists.txt

@@ -33,6 +33,10 @@ target_link_libraries(p3device p3dgraph p3display)
 target_interrogate(p3device ALL)
 target_interrogate(p3device ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3device DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3device
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3DEVICE_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3DEVICE_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 6 - 2
panda/src/dgraph/CMakeLists.txt

@@ -18,6 +18,10 @@ target_link_libraries(p3dgraph p3pgraph)
 target_interrogate(p3dgraph ALL)
 target_interrogate(p3dgraph ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3dgraph DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3dgraph
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3DGRAPH_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3DGRAPH_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 6 - 2
panda/src/display/CMakeLists.txt

@@ -96,9 +96,13 @@ target_link_libraries(p3display p3cull p3pgraphnodes
 target_interrogate(p3display ALL EXTENSIONS ${P3DISPLAY_IGATEEXT})
 target_interrogate(p3display ALL EXTENSIONS ${P3DISPLAY_IGATEEXT})
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3display DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3display
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3DISPLAY_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3DISPLAY_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)
 
 
 if(OSX_PLATFORM AND HAVE_P3D_PLUGIN)
 if(OSX_PLATFORM AND HAVE_P3D_PLUGIN)
   # We build a static library of just these files, so the plugin can
   # We build a static library of just these files, so the plugin can

+ 6 - 2
panda/src/downloader/CMakeLists.txt

@@ -74,6 +74,10 @@ target_link_libraries(p3downloader p3express)
 target_interrogate(p3downloader ALL EXTENSIONS ${P3DOWNLOADER_IGATEEXT})
 target_interrogate(p3downloader ALL EXTENSIONS ${P3DOWNLOADER_IGATEEXT})
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3downloader DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3downloader
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3DOWNLOADER_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3DOWNLOADER_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 3 - 1
panda/src/downloadertools/CMakeLists.txt

@@ -13,6 +13,7 @@ if(HAVE_OPENSSL)
   target_link_libraries(pdecrypt panda)
   target_link_libraries(pdecrypt panda)
 
 
   install(TARGETS apply_patch build_patch show_ddb check_md5 pencrypt pdecrypt
   install(TARGETS apply_patch build_patch show_ddb check_md5 pencrypt pdecrypt
+          EXPORT Tools COMPONENT Tools
           DESTINATION bin)
           DESTINATION bin)
 endif()
 endif()
 
 
@@ -27,9 +28,10 @@ if(HAVE_ZLIB)
   target_link_libraries(punzip panda)
   target_link_libraries(punzip panda)
 
 
   install(TARGETS check_adler check_crc pzip punzip
   install(TARGETS check_adler check_crc pzip punzip
+          EXPORT Tools COMPONENT Tools
           DESTINATION bin)
           DESTINATION bin)
 endif()
 endif()
 
 
 add_executable(multify multify.cxx)
 add_executable(multify multify.cxx)
 target_link_libraries(multify panda)
 target_link_libraries(multify panda)
-install(TARGETS multify DESTINATION bin)
+install(TARGETS multify EXPORT Tools COMPONENT Tools DESTINATION bin)

+ 6 - 2
panda/src/dxgsg9/CMakeLists.txt

@@ -43,6 +43,10 @@ target_link_libraries(p3dxgsg9 p3windisplay panda
 target_compile_definitions(p3dxgsg9 PUBLIC USE_GENERIC_DXERR_LIBRARY) # FIXME
 target_compile_definitions(p3dxgsg9 PUBLIC USE_GENERIC_DXERR_LIBRARY) # FIXME
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3dxgsg9 DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3dxgsg9
+    EXPORT DX9 COMPONENT DX9
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT DX9Devel)
 endif()
 endif()
-install(FILES ${P3DXGSG9_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3DXGSG9_HEADERS} COMPONENT DX9Devel DESTINATION include/panda3d)

+ 6 - 2
panda/src/dxml/CMakeLists.txt

@@ -18,6 +18,10 @@ target_link_libraries(p3dxml pandaexpress)
 target_interrogate(p3dxml ALL)
 target_interrogate(p3dxml ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3dxml DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3dxml
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3DXML_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3DXML_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 6 - 2
panda/src/egg/CMakeLists.txt

@@ -108,6 +108,10 @@ target_link_libraries(p3egg panda)
 target_interrogate(p3egg ${P3EGG_HEADERS} ${P3EGG_SOURCES} EXTENSIONS ${P3EGG_IGATEEXT})
 target_interrogate(p3egg ${P3EGG_HEADERS} ${P3EGG_SOURCES} EXTENSIONS ${P3EGG_IGATEEXT})
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3egg DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3egg
+    EXPORT Egg COMPONENT Egg
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT EggDevel)
 endif()
 endif()
-install(FILES ${P3EGG_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3EGG_HEADERS} COMPONENT EggDevel DESTINATION include/panda3d)

+ 6 - 2
panda/src/egg2pg/CMakeLists.txt

@@ -39,6 +39,10 @@ target_link_libraries(p3egg2pg panda p3egg)
 target_interrogate(p3egg2pg ALL)
 target_interrogate(p3egg2pg ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3egg2pg DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3egg2pg
+    EXPORT Egg COMPONENT Egg
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT EggDevel)
 endif()
 endif()
-install(FILES ${P3EGG2PG_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3EGG2PG_HEADERS} COMPONENT EggDevel DESTINATION include/panda3d)

+ 11 - 3
panda/src/egldisplay/CMakeLists.txt

@@ -36,7 +36,11 @@ if(HAVE_GLES1)
     PKG::EGL PKG::GLES1)
     PKG::EGL PKG::GLES1)
 
 
   if(NOT BUILD_METALIBS)
   if(NOT BUILD_METALIBS)
-    install(TARGETS p3egldisplay_gles1 DESTINATION lib)
+    install(TARGETS p3egldisplay_gles1
+      EXPORT GLES COMPONENT GLES
+      DESTINATION lib
+      RUNTIME DESTINATION bin
+      ARCHIVE COMPONENT GLESDevel)
   endif()
   endif()
 endif()
 endif()
 
 
@@ -49,8 +53,12 @@ if(HAVE_GLES2)
     PKG::EGL PKG::GLES2)
     PKG::EGL PKG::GLES2)
 
 
   if(NOT BUILD_METALIBS)
   if(NOT BUILD_METALIBS)
-    install(TARGETS p3egldisplay_gles2 DESTINATION lib)
+    install(TARGETS p3egldisplay_gles2
+      EXPORT GLES COMPONENT GLES
+      DESTINATION lib
+      RUNTIME DESTINATION bin
+      ARCHIVE COMPONENT GLESDevel)
   endif()
   endif()
 endif()
 endif()
 
 
-install(FILES ${P3EGLDISPLAY_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3EGLDISPLAY_HEADERS} COMPONENT GLESDevel DESTINATION include/panda3d)

+ 6 - 2
panda/src/event/CMakeLists.txt

@@ -51,9 +51,13 @@ target_link_libraries(p3event p3linmath p3pstatclient)
 target_interrogate(p3event ALL EXTENSIONS ${P3EVENT_IGATEEXT})
 target_interrogate(p3event ALL EXTENSIONS ${P3EVENT_IGATEEXT})
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3event DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3event
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3EVENT_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3EVENT_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)
 
 
 #begin test_bin_target
 #begin test_bin_target
   #define TARGET test_task
   #define TARGET test_task

+ 6 - 2
panda/src/express/CMakeLists.txt

@@ -146,9 +146,13 @@ if(WIN32)
 endif()
 endif()
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3express DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3express
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3EXPRESS_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3EXPRESS_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)
 
 
 #add_executable(p3expressTestTypes test_types.cxx)
 #add_executable(p3expressTestTypes test_types.cxx)
 #target_link_libraries(p3expressTestTypes p3express p3dtoolutil p3dtool p3prc p3dtoolconfig p3pystub)
 #target_link_libraries(p3expressTestTypes p3express p3dtoolutil p3dtool p3prc p3dtoolconfig p3pystub)

+ 6 - 2
panda/src/ffmpeg/CMakeLists.txt

@@ -25,5 +25,9 @@ set_target_properties(p3ffmpeg PROPERTIES DEFINE_SYMBOL BUILDING_FFMPEG)
 target_link_libraries(p3ffmpeg panda
 target_link_libraries(p3ffmpeg panda
   PKG::FFMPEG PKG::SWSCALE PKG::SWRESAMPLE)
   PKG::FFMPEG PKG::SWSCALE PKG::SWRESAMPLE)
 
 
-install(TARGETS p3ffmpeg DESTINATION lib RUNTIME DESTINATION bin)
-install(FILES ${P3FFMPEG_HEADERS} DESTINATION include/panda3d)
+install(TARGETS p3ffmpeg
+  EXPORT FFmpeg COMPONENT FFmpeg
+  DESTINATION lib
+  RUNTIME DESTINATION bin
+  ARCHIVE COMPONENT FFmpegDevel)
+install(FILES ${P3FFMPEG_HEADERS} COMPONENT FFmpegDevel DESTINATION include/panda3d)

+ 6 - 2
panda/src/framework/CMakeLists.txt

@@ -51,5 +51,9 @@ add_library(p3framework ${P3FRAMEWORK_HEADERS} ${P3FRAMEWORK_SOURCES})
 set_target_properties(p3framework PROPERTIES DEFINE_SYMBOL BUILDING_FRAMEWORK)
 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 DESTINATION lib RUNTIME DESTINATION bin)
-install(FILES ${P3FRAMEWORK_HEADERS} DESTINATION include/panda3d)
+install(TARGETS p3framework
+  EXPORT Core COMPONENT Core
+  DESTINATION lib
+  RUNTIME DESTINATION bin
+  ARCHIVE COMPONENT CoreDevel)
+install(FILES ${P3FRAMEWORK_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 6 - 2
panda/src/gles2gsg/CMakeLists.txt

@@ -17,6 +17,10 @@ target_link_libraries(p3gles2gsg p3glstuff panda
   PKG::GLES2)
   PKG::GLES2)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3gles2gsg DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3gles2gsg
+    EXPORT GLES COMPONENT GLES
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT GLESDevel)
 endif()
 endif()
-install(FILES ${P3GLES2GSG_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3GLES2GSG_HEADERS} COMPONENT GLESDevel DESTINATION include/panda3d)

+ 6 - 2
panda/src/glesgsg/CMakeLists.txt

@@ -17,6 +17,10 @@ target_link_libraries(p3glesgsg p3glstuff panda
   PKG::GLES1)
   PKG::GLES1)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3glesgsg DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3glesgsg
+    EXPORT GLES COMPONENT GLES
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT GLESDevel)
 endif()
 endif()
-install(FILES ${P3GLESGSG_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3GLESGSG_HEADERS} COMPONENT GLESDevel DESTINATION include/panda3d)

+ 6 - 2
panda/src/glgsg/CMakeLists.txt

@@ -18,6 +18,10 @@ target_link_libraries(p3glgsg p3glstuff panda
   PKG::CG PKG::GL)
   PKG::CG PKG::GL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3glgsg DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3glgsg
+    EXPORT OpenGL COMPONENT OpenGL
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT OpenGLDevel)
 endif()
 endif()
-install(FILES ${P3GLGSG_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3GLGSG_HEADERS} COMPONENT OpenGLDevel DESTINATION include/panda3d)

+ 6 - 2
panda/src/glstuff/CMakeLists.txt

@@ -38,6 +38,10 @@ add_component_library(p3glstuff NOINIT ${P3GLSTUFF_HEADERS} ${P3GLSTUFF_SOURCES}
 target_link_libraries(p3glstuff panda)
 target_link_libraries(p3glstuff panda)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3glstuff DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3glstuff
+    EXPORT OpenGL COMPONENT OpenGL
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT OpenGLDevel)
 endif()
 endif()
-install(FILES ${P3GLSTUFF_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3GLSTUFF_HEADERS} COMPONENT OpenGLDevel DESTINATION include/panda3d)

+ 1 - 1
panda/src/glxdisplay/CMakeLists.txt

@@ -29,5 +29,5 @@ add_component_library(p3glxdisplay SYMBOL BUILDING_PANDA_GLXDISPLAY
 target_link_libraries(p3glxdisplay p3glgsg p3x11display)
 target_link_libraries(p3glxdisplay p3glgsg p3x11display)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3glxdisplay DESTINATION lib)
+  install(TARGETS p3glxdisplay EXPORT Panda COMPONENT Panda DESTINATION lib)
 endif()
 endif()

+ 6 - 2
panda/src/gobj/CMakeLists.txt

@@ -177,9 +177,13 @@ target_link_libraries(p3gobj p3gsgbase p3pnmimage
 target_interrogate(p3gobj ALL EXTENSIONS ${P3GOBJ_IGATEEXT})
 target_interrogate(p3gobj ALL EXTENSIONS ${P3GOBJ_IGATEEXT})
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3gobj DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3gobj
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3GOBJ_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3GOBJ_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)
 
 
 #begin test_bin_target
 #begin test_bin_target
   #define TARGET test_gobj
   #define TARGET test_gobj

+ 6 - 2
panda/src/grutil/CMakeLists.txt

@@ -47,6 +47,10 @@ endif()
 target_interrogate(p3grutil ALL)
 target_interrogate(p3grutil ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3grutil DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3grutil
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3GRUTIL_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3GRUTIL_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 6 - 2
panda/src/gsgbase/CMakeLists.txt

@@ -17,9 +17,13 @@ target_link_libraries(p3gsgbase p3putil p3linmath)
 target_interrogate(p3gsgbase ALL)
 target_interrogate(p3gsgbase ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3gsgbase DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3gsgbase
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3GSGBASE_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3GSGBASE_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)
 
 
 #begin test_bin_target
 #begin test_bin_target
   #define TARGET test_gsgbase
   #define TARGET test_gsgbase

+ 6 - 2
panda/src/linmath/CMakeLists.txt

@@ -53,9 +53,13 @@ target_link_libraries(p3linmath p3pandabase pandaexpress PKG::EIGEN)
 target_interrogate(p3linmath ALL)
 target_interrogate(p3linmath ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3linmath DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3linmath
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3LINMATH_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3LINMATH_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)
 
 
 #begin test_bin_target
 #begin test_bin_target
   #define TARGET test_math
   #define TARGET test_math

+ 6 - 2
panda/src/mathutil/CMakeLists.txt

@@ -67,9 +67,13 @@ target_link_libraries(p3mathutil p3event PKG::FFTW)
 target_interrogate(p3mathutil ALL)
 target_interrogate(p3mathutil ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3mathutil DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3mathutil
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3MATHUTIL_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3MATHUTIL_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)
 
 
 #begin test_bin_target
 #begin test_bin_target
   #define TARGET test_mathutil
   #define TARGET test_mathutil

+ 6 - 2
panda/src/movies/CMakeLists.txt

@@ -49,6 +49,10 @@ target_link_libraries(p3movies p3pstatclient p3gobj p3pandabase pandaexpress)
 target_interrogate(p3movies ALL)
 target_interrogate(p3movies ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3movies DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3movies
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3MOVIES_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3MOVIES_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 6 - 2
panda/src/nativenet/CMakeLists.txt

@@ -36,6 +36,10 @@ target_link_libraries(p3nativenet p3pandabase pandaexpress)
 target_interrogate(p3nativenet ALL)
 target_interrogate(p3nativenet ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3nativenet DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3nativenet
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3NATIVENET_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3NATIVENET_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 6 - 2
panda/src/net/CMakeLists.txt

@@ -39,6 +39,10 @@ if(WIN32)
 endif()
 endif()
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3net DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3net
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3NET_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3NET_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 6 - 2
panda/src/ode/CMakeLists.txt

@@ -92,5 +92,9 @@ target_link_libraries(p3ode panda
   PKG::ODE)
   PKG::ODE)
 target_interrogate(p3ode ${P3ODE_IGATE_SOURCES} EXTENSIONS ${P3ODE_IGATEEXT})
 target_interrogate(p3ode ${P3ODE_IGATE_SOURCES} EXTENSIONS ${P3ODE_IGATEEXT})
 
 
-install(TARGETS p3ode DESTINATION lib RUNTIME DESTINATION bin)
-install(FILES ${P3ODE_HEADERS} DESTINATION include/panda3d)
+install(TARGETS p3ode
+  EXPORT ODE COMPONENT ODE
+  DESTINATION lib
+  RUNTIME DESTINATION bin
+  ARCHIVE COMPONENT ODEDevel)
+install(FILES ${P3ODE_HEADERS} COMPONENT ODEDevel DESTINATION include/panda3d)

+ 1 - 1
panda/src/osxdisplay/CMakeLists.txt

@@ -31,5 +31,5 @@ target_link_libraries(p3osxdisplay
   ${CORESERVICES_LIBRARY} ${COCOA_LIBRARY})
   ${CORESERVICES_LIBRARY} ${COCOA_LIBRARY})
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3osxdisplay DESTINATION lib)
+  install(TARGETS p3osxdisplay EXPORT Panda COMPONENT Panda DESTINATION lib)
 endif()
 endif()

+ 2 - 1
panda/src/pandabase/CMakeLists.txt

@@ -10,4 +10,5 @@ set(P3PANDABASE_SOURCES
 add_library(p3pandabase INTERFACE)
 add_library(p3pandabase INTERFACE)
 target_link_libraries(p3pandabase INTERFACE p3dtool)
 target_link_libraries(p3pandabase INTERFACE p3dtool)
 
 
-install(FILES ${P3PANDABASE_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3PANDABASE_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)
+install(TARGETS p3pandabase EXPORT Core COMPONENT Core)

+ 6 - 2
panda/src/parametrics/CMakeLists.txt

@@ -40,9 +40,13 @@ target_link_libraries(p3parametrics p3pgraph)
 target_interrogate(p3parametrics ALL)
 target_interrogate(p3parametrics ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3parametrics DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3parametrics
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3PARAMETRICS_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3PARAMETRICS_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)
 
 
 #begin test_bin_target
 #begin test_bin_target
   #define TARGET test_parametrics
   #define TARGET test_parametrics

+ 6 - 2
panda/src/particlesystem/CMakeLists.txt

@@ -51,6 +51,10 @@ target_link_libraries(p3particlesystem p3physics panda)
 target_interrogate(p3particlesystem ${P3PARTICLESYSTEM_IGATE_SOURCES})
 target_interrogate(p3particlesystem ${P3PARTICLESYSTEM_IGATE_SOURCES})
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3particlesystem DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3particlesystem
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3PARTICLESYSTEM_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3PARTICLESYSTEM_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 6 - 2
panda/src/pgraph/CMakeLists.txt

@@ -224,9 +224,13 @@ target_link_libraries(p3pgraph p3gobj p3event p3gsgbase p3putil p3linmath pandae
 target_interrogate(p3pgraph ALL EXTENSIONS ${P3PGRAPH_IGATEEXT})
 target_interrogate(p3pgraph ALL EXTENSIONS ${P3PGRAPH_IGATEEXT})
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3pgraph DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3pgraph
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3PGRAPH_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3PGRAPH_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)
 
 
 
 
 #begin test_bin_target
 #begin test_bin_target

+ 6 - 2
panda/src/pgraphnodes/CMakeLists.txt

@@ -51,6 +51,10 @@ target_link_libraries(p3pgraphnodes p3pgraph)
 target_interrogate(p3pgraphnodes ALL)
 target_interrogate(p3pgraphnodes ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3pgraphnodes DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3pgraphnodes
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3PGRAPHNODES_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3PGRAPHNODES_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 6 - 2
panda/src/pgui/CMakeLists.txt

@@ -46,9 +46,13 @@ target_link_libraries(p3pgui p3tform)
 target_interrogate(p3pgui ALL)
 target_interrogate(p3pgui ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3pgui DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3pgui
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3PGUI_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3PGUI_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)
 
 
 #begin test_bin_target
 #begin test_bin_target
   #define TARGET test_pgentry
   #define TARGET test_pgentry

+ 6 - 2
panda/src/physics/CMakeLists.txt

@@ -43,6 +43,10 @@ target_link_libraries(p3physics panda)
 target_interrogate(p3physics ALL)
 target_interrogate(p3physics ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3physics DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3physics
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3PHYSICS_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3PHYSICS_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 6 - 2
panda/src/pipeline/CMakeLists.txt

@@ -132,6 +132,10 @@ target_link_libraries(p3pipeline pandaexpress
 target_interrogate(p3pipeline ALL EXTENSIONS ${P3PIPELINE_IGATEEXT})
 target_interrogate(p3pipeline ALL EXTENSIONS ${P3PIPELINE_IGATEEXT})
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3pipeline DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3pipeline
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3PIPELINE_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3PIPELINE_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 6 - 2
panda/src/pnmimage/CMakeLists.txt

@@ -42,6 +42,10 @@ target_link_libraries(p3pnmimage p3mathutil)
 target_interrogate(p3pnmimage ALL EXTENSIONS ${P3PNMIMAGE_IGATEEXT})
 target_interrogate(p3pnmimage ALL EXTENSIONS ${P3PNMIMAGE_IGATEEXT})
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3pnmimage DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3pnmimage
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3PNMIMAGE_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3PNMIMAGE_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 5 - 1
panda/src/pnmimagetypes/CMakeLists.txt

@@ -40,5 +40,9 @@ target_link_libraries(p3pnmimagetypes p3pnmimage
 set_target_properties(p3pnmimagetypes PROPERTIES CXX_EXCEPTIONS ON)
 set_target_properties(p3pnmimagetypes PROPERTIES CXX_EXCEPTIONS ON)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3pnmimagetypes DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3pnmimagetypes
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()

+ 6 - 2
panda/src/pnmtext/CMakeLists.txt

@@ -24,6 +24,10 @@ target_link_libraries(p3pnmtext p3parametrics p3pnmimage PKG::FREETYPE)
 target_interrogate(p3pnmtext ALL)
 target_interrogate(p3pnmtext ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3pnmtext DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3pnmtext
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3PNMTEXT_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3PNMTEXT_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 7 - 3
panda/src/pstatclient/CMakeLists.txt

@@ -27,7 +27,11 @@ target_link_libraries(p3pstatclient p3net p3putil pandaexpress)
 target_interrogate(p3pstatclient ALL)
 target_interrogate(p3pstatclient ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3pstatclient DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3pstatclient
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3PSTATCLIENT_HEADERS} DESTINATION include/panda3d)
-install(FILES config_pstats.h DESTINATION include/panda3d)
+install(FILES ${P3PSTATCLIENT_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)
+install(FILES config_pstats.h COMPONENT CoreDevel DESTINATION include/panda3d)

+ 7 - 3
panda/src/putil/CMakeLists.txt

@@ -135,10 +135,14 @@ target_link_libraries(p3putil p3linmath p3pipeline)
 target_interrogate(p3putil ALL EXTENSIONS ${P3PUTIL_IGATEEXT})
 target_interrogate(p3putil ALL EXTENSIONS ${P3PUTIL_IGATEEXT})
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3putil DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3putil
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3PUTIL_HEADERS} DESTINATION include/panda3d)
-install(FILES config_util.h DESTINATION include/panda3d)
+install(FILES ${P3PUTIL_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)
+install(FILES config_util.h COMPONENT CoreDevel DESTINATION include/panda3d)
 
 
 #begin test_bin_target
 #begin test_bin_target
   #define TARGET test_bamRead
   #define TARGET test_bamRead

+ 6 - 2
panda/src/recorder/CMakeLists.txt

@@ -23,6 +23,10 @@ target_link_libraries(p3recorder p3dgraph pandaexpress)
 target_interrogate(p3recorder ALL)
 target_interrogate(p3recorder ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3recorder DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3recorder
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3RECORDER_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3RECORDER_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 1 - 1
panda/src/testbed/CMakeLists.txt

@@ -1,6 +1,6 @@
 add_executable(pview pview.cxx)
 add_executable(pview pview.cxx)
 target_link_libraries(pview p3framework p3pystub)
 target_link_libraries(pview p3framework p3pystub)
-install(TARGETS pview DESTINATION bin)
+install(TARGETS pview EXPORT Tools COMPONENT Tools DESTINATION bin)
 
 
 #begin test_bin_target
 #begin test_bin_target
   #define TARGET pgrid
   #define TARGET pgrid

+ 6 - 2
panda/src/text/CMakeLists.txt

@@ -44,6 +44,10 @@ endif()
 target_interrogate(p3text ALL)
 target_interrogate(p3text ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3text DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3text
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3TEXT_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3TEXT_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 6 - 2
panda/src/tform/CMakeLists.txt

@@ -34,6 +34,10 @@ target_link_libraries(p3tform p3device p3grutil)
 target_interrogate(p3tform ALL)
 target_interrogate(p3tform ALL)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3tform DESTINATION lib RUNTIME DESTINATION bin)
+  install(TARGETS p3tform
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
 endif()
 endif()
-install(FILES ${P3TFORM_HEADERS} DESTINATION include/panda3d)
+install(FILES ${P3TFORM_HEADERS} COMPONENT CoreDevel DESTINATION include/panda3d)

+ 6 - 2
panda/src/vision/CMakeLists.txt

@@ -33,5 +33,9 @@ target_link_libraries(p3vision panda
 set_target_properties(p3vision PROPERTIES CXX_EXCEPTIONS ON)
 set_target_properties(p3vision PROPERTIES CXX_EXCEPTIONS ON)
 target_interrogate(p3vision ALL)
 target_interrogate(p3vision ALL)
 
 
-install(TARGETS p3vision DESTINATION lib RUNTIME DESTINATION bin)
-install(FILES ${P3VISION_HEADERS} DESTINATION include/panda3d)
+install(TARGETS p3vision
+  EXPORT Vision COMPONENT Vision
+  DESTINATION lib
+  RUNTIME DESTINATION bin
+  ARCHIVE COMPONENT VisionDevel)
+install(FILES ${P3VISION_HEADERS} COMPONENT VisionDevel DESTINATION include/panda3d)

+ 6 - 2
panda/src/vrpn/CMakeLists.txt

@@ -35,5 +35,9 @@ set_target_properties(p3vrpn PROPERTIES DEFINE_SYMBOL BUILDING_VRPN)
 target_link_libraries(p3vrpn panda PKG::VRPN)
 target_link_libraries(p3vrpn panda PKG::VRPN)
 target_interrogate(p3vrpn ALL)
 target_interrogate(p3vrpn ALL)
 
 
-install(TARGETS p3vrpn DESTINATION lib RUNTIME DESTINATION bin)
-install(FILES ${P3VRPN_HEADERS} DESTINATION include/panda3d)
+install(TARGETS p3vrpn
+  EXPORT VRPN COMPONENT VRPN
+  DESTINATION lib
+  RUNTIME DESTINATION bin
+  ARCHIVE COMPONENT VRPNDevel)
+install(FILES ${P3VRPN_HEADERS} COMPONENT VRPNDevel DESTINATION include/panda3d)

+ 9 - 0
panda/src/wgldisplay/CMakeLists.txt

@@ -22,3 +22,12 @@ composite_sources(p3wgldisplay P3WGLDISPLAY_SOURCES)
 add_component_library(p3wgldisplay SYMBOL BUILDING_PANDA_WGLDISPLAY
 add_component_library(p3wgldisplay SYMBOL BUILDING_PANDA_WGLDISPLAY
   ${P3WGLDISPLAY_HEADERS} ${P3WGLDISPLAY_SOURCES})
   ${P3WGLDISPLAY_HEADERS} ${P3WGLDISPLAY_SOURCES})
 target_link_libraries(p3wgldisplay p3glgsg p3windisplay)
 target_link_libraries(p3wgldisplay p3glgsg p3windisplay)
+
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3wgldisplay
+    EXPORT OpenGL COMPONENT OpenGL
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT OpenGLDevel)
+endif()
+install(FILES ${P3WGLDISPLAY_HEADERS} COMPONENT OpenGLDevel DESTINATION include/panda3d)

+ 8 - 0
panda/src/windisplay/CMakeLists.txt

@@ -17,3 +17,11 @@ composite_sources(p3windisplay P3WINDISPLAY_SOURCES)
 add_component_library(p3windisplay SYMBOL BUILDING_PANDAWIN
 add_component_library(p3windisplay SYMBOL BUILDING_PANDAWIN
   ${P3WINDISPLAY_HEADERS} ${P3WINDISPLAY_SOURCES})
   ${P3WINDISPLAY_HEADERS} ${P3WINDISPLAY_SOURCES})
 target_link_libraries(p3windisplay panda User32.lib Imm32.lib)
 target_link_libraries(p3windisplay panda User32.lib Imm32.lib)
+
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3windisplay
+    EXPORT Core COMPONENT Core
+    DESTINATION lib
+    RUNTIME DESTINATION bin
+    ARCHIVE COMPONENT CoreDevel)
+endif()

+ 1 - 1
panda/src/x11display/CMakeLists.txt

@@ -17,5 +17,5 @@ add_component_library(p3x11display SYMBOL BUILDING_PANDAX11
 target_link_libraries(p3x11display panda PKG::X11)
 target_link_libraries(p3x11display panda PKG::X11)
 
 
 if(NOT BUILD_METALIBS)
 if(NOT BUILD_METALIBS)
-  install(TARGETS p3x11display DESTINATION lib)
+  install(TARGETS p3x11display EXPORT Panda COMPONENT Panda DESTINATION lib)
 endif()
 endif()

+ 1 - 1
pandatool/src/assimp/CMakeLists.txt

@@ -26,4 +26,4 @@ set_target_properties(p3assimp PROPERTIES DEFINE_SYMBOL BUILDING_ASSIMP)
 target_link_libraries(p3assimp PRIVATE p3pandatoolbase)
 target_link_libraries(p3assimp PRIVATE p3pandatoolbase)
 target_link_libraries(p3assimp PUBLIC PKG::ASSIMP)
 target_link_libraries(p3assimp PUBLIC PKG::ASSIMP)
 
 
-install(TARGETS p3assimp DESTINATION ${MODULE_DESTINATION})
+install(TARGETS p3assimp EXPORT Tools COMPONENT Tools DESTINATION ${MODULE_DESTINATION})

+ 4 - 4
pandatool/src/bam/CMakeLists.txt

@@ -1,15 +1,15 @@
 add_executable(bam-info bamInfo.cxx bamInfo.h)
 add_executable(bam-info bamInfo.cxx bamInfo.h)
 target_link_libraries(bam-info p3progbase panda)
 target_link_libraries(bam-info p3progbase panda)
-install(TARGETS bam-info DESTINATION bin)
+install(TARGETS bam-info EXPORT Tools COMPONENT Tools DESTINATION bin)
 
 
 add_executable(egg2bam eggToBam.cxx eggToBam.h)
 add_executable(egg2bam eggToBam.cxx eggToBam.h)
 target_link_libraries(egg2bam p3eggbase p3progbase panda)
 target_link_libraries(egg2bam p3eggbase p3progbase panda)
-install(TARGETS egg2bam DESTINATION bin)
+install(TARGETS egg2bam EXPORT Tools COMPONENT Tools DESTINATION bin)
 
 
 add_executable(bam2egg bamToEgg.cxx bamToEgg.h)
 add_executable(bam2egg bamToEgg.cxx bamToEgg.h)
 target_link_libraries(bam2egg p3converter p3eggbase p3progbase panda)
 target_link_libraries(bam2egg p3converter p3eggbase p3progbase panda)
-install(TARGETS bam2egg DESTINATION bin)
+install(TARGETS bam2egg EXPORT Tools COMPONENT Tools DESTINATION bin)
 
 
 add_executable(pts2bam ptsToBam.cxx ptsToBam.h)
 add_executable(pts2bam ptsToBam.cxx ptsToBam.h)
 target_link_libraries(pts2bam p3progbase pandaegg panda)
 target_link_libraries(pts2bam p3progbase pandaegg panda)
-install(TARGETS pts2bam DESTINATION bin)
+install(TARGETS pts2bam EXPORT Tools COMPONENT Tools DESTINATION bin)

+ 3 - 3
pandatool/src/dxfprogs/CMakeLists.txt

@@ -1,11 +1,11 @@
 add_executable(dxf-points dxfPoints.cxx dxfPoints.h)
 add_executable(dxf-points dxfPoints.cxx dxfPoints.h)
 target_link_libraries(dxf-points p3progbase p3dxf)
 target_link_libraries(dxf-points p3progbase p3dxf)
-install(TARGETS dxf-points DESTINATION bin)
+install(TARGETS dxf-points EXPORT Tools COMPONENT Tools DESTINATION bin)
 
 
 add_executable(egg2dxf eggToDXF.cxx eggToDXF.h eggToDXFLayer.cxx eggToDXFLayer.h)
 add_executable(egg2dxf eggToDXF.cxx eggToDXF.h eggToDXFLayer.cxx eggToDXFLayer.h)
 target_link_libraries(egg2dxf p3dxfegg p3eggbase p3progbase)
 target_link_libraries(egg2dxf p3dxfegg p3eggbase p3progbase)
-install(TARGETS egg2dxf DESTINATION bin)
+install(TARGETS egg2dxf EXPORT Tools COMPONENT Tools DESTINATION bin)
 
 
 add_executable(dxf2egg dxfToEgg.cxx dxfToEgg.h)
 add_executable(dxf2egg dxfToEgg.cxx dxfToEgg.h)
 target_link_libraries(dxf2egg p3dxfegg p3eggbase p3progbase)
 target_link_libraries(dxf2egg p3dxfegg p3eggbase p3progbase)
-install(TARGETS dxf2egg DESTINATION bin)
+install(TARGETS dxf2egg EXPORT Tools COMPONENT Tools DESTINATION bin)

+ 1 - 1
pandatool/src/egg-mkfont/CMakeLists.txt

@@ -14,4 +14,4 @@ composite_sources(egg-mkfont P3EGG_MKFONT_SOURCES)
 add_executable(egg-mkfont ${P3EGG_MKFONT_HEADERS} ${P3EGG_MKFONT_SOURCES})
 add_executable(egg-mkfont ${P3EGG_MKFONT_HEADERS} ${P3EGG_MKFONT_SOURCES})
 target_link_libraries(egg-mkfont p3palettizer p3eggbase p3pandatoolbase)
 target_link_libraries(egg-mkfont p3palettizer p3eggbase p3pandatoolbase)
 
 
-install(TARGETS egg-mkfont DESTINATION bin)
+install(TARGETS egg-mkfont EXPORT Tools COMPONENT Tools DESTINATION bin)

+ 1 - 1
pandatool/src/egg-optchar/CMakeLists.txt

@@ -16,4 +16,4 @@ composite_sources(egg-optchar P3EGG_OPTCHAR_SOURCES)
 add_executable(egg-optchar ${P3EGG_OPTCHAR_HEADERS} ${P3EGG_OPTCHAR_SOURCES})
 add_executable(egg-optchar ${P3EGG_OPTCHAR_HEADERS} ${P3EGG_OPTCHAR_SOURCES})
 target_link_libraries(egg-optchar p3eggcharbase)
 target_link_libraries(egg-optchar p3eggcharbase)
 
 
-install(TARGETS egg-optchar DESTINATION bin)
+install(TARGETS egg-optchar EXPORT Tools COMPONENT Tools DESTINATION bin)

+ 2 - 2
pandatool/src/egg-palettize/CMakeLists.txt

@@ -1,8 +1,8 @@
 add_executable(egg-palettize eggPalettize.cxx eggPalettize.h)
 add_executable(egg-palettize eggPalettize.cxx eggPalettize.h)
 target_link_libraries(egg-palettize p3palettizer p3eggbase p3progbase)
 target_link_libraries(egg-palettize p3palettizer p3eggbase p3progbase)
-install(TARGETS egg-palettize DESTINATION bin)
+install(TARGETS egg-palettize EXPORT Tools COMPONENT Tools DESTINATION bin)
 
 
 add_library(p3txafile txaFileFilter.cxx txaFileFilter.h txaFileFilter.I)
 add_library(p3txafile txaFileFilter.cxx txaFileFilter.h txaFileFilter.I)
 set_target_properties(p3txafile PROPERTIES DEFINE_SYMBOL BUILDING_MISC)
 set_target_properties(p3txafile PROPERTIES DEFINE_SYMBOL BUILDING_MISC)
 target_link_libraries(p3txafile PRIVATE p3palettizer)
 target_link_libraries(p3txafile PRIVATE p3palettizer)
-install(TARGETS p3txafile DESTINATION lib RUNTIME DESTINATION bin)
+install(TARGETS p3txafile EXPORT Tools COMPONENT Tools DESTINATION lib RUNTIME DESTINATION bin)

+ 1 - 1
pandatool/src/egg-qtess/CMakeLists.txt

@@ -24,4 +24,4 @@ composite_sources(egg-qtess P3EGG_QTESS_SOURCES)
 add_executable(egg-qtess ${P3EGG_QTESS_HEADERS} ${P3EGG_QTESS_SOURCES})
 add_executable(egg-qtess ${P3EGG_QTESS_HEADERS} ${P3EGG_QTESS_SOURCES})
 target_link_libraries(egg-qtess p3eggbase)
 target_link_libraries(egg-qtess p3eggbase)
 
 
-install(TARGETS egg-qtess DESTINATION bin)
+install(TARGETS egg-qtess EXPORT Tools COMPONENT Tools DESTINATION bin)

+ 9 - 9
pandatool/src/eggprogs/CMakeLists.txt

@@ -1,35 +1,35 @@
 add_executable(egg-crop eggCrop.cxx eggCrop.h)
 add_executable(egg-crop eggCrop.cxx eggCrop.h)
 target_link_libraries(egg-crop p3eggbase)
 target_link_libraries(egg-crop p3eggbase)
-install(TARGETS egg-crop DESTINATION bin)
+install(TARGETS egg-crop EXPORT Tools COMPONENT Tools DESTINATION bin)
 
 
 add_executable(egg-list-textures eggListTextures.cxx eggListTextures.h)
 add_executable(egg-list-textures eggListTextures.cxx eggListTextures.h)
 target_link_libraries(egg-list-textures p3eggbase)
 target_link_libraries(egg-list-textures p3eggbase)
-install(TARGETS egg-list-textures DESTINATION bin)
+install(TARGETS egg-list-textures EXPORT Tools COMPONENT Tools DESTINATION bin)
 
 
 add_executable(egg-make-tube eggMakeTube.cxx eggMakeTube.h)
 add_executable(egg-make-tube eggMakeTube.cxx eggMakeTube.h)
 target_link_libraries(egg-make-tube p3eggbase)
 target_link_libraries(egg-make-tube p3eggbase)
-install(TARGETS egg-make-tube DESTINATION bin)
+install(TARGETS egg-make-tube EXPORT Tools COMPONENT Tools DESTINATION bin)
 
 
 add_executable(egg-rename eggRename.cxx eggRename.h)
 add_executable(egg-rename eggRename.cxx eggRename.h)
 target_link_libraries(egg-rename p3eggbase)
 target_link_libraries(egg-rename p3eggbase)
-install(TARGETS egg-rename DESTINATION bin)
+install(TARGETS egg-rename EXPORT Tools COMPONENT Tools DESTINATION bin)
 
 
 add_executable(egg-retarget-anim eggRetargetAnim.cxx eggRetargetAnim.h)
 add_executable(egg-retarget-anim eggRetargetAnim.cxx eggRetargetAnim.h)
 target_link_libraries(egg-retarget-anim p3eggcharbase)
 target_link_libraries(egg-retarget-anim p3eggcharbase)
-install(TARGETS egg-retarget-anim DESTINATION bin)
+install(TARGETS egg-retarget-anim EXPORT Tools COMPONENT Tools DESTINATION bin)
 
 
 add_executable(egg-texture-cards eggTextureCards.cxx eggTextureCards.h)
 add_executable(egg-texture-cards eggTextureCards.cxx eggTextureCards.h)
 target_link_libraries(egg-texture-cards p3eggbase)
 target_link_libraries(egg-texture-cards p3eggbase)
-install(TARGETS egg-texture-cards DESTINATION bin)
+install(TARGETS egg-texture-cards EXPORT Tools COMPONENT Tools DESTINATION bin)
 
 
 add_executable(egg2c eggToC.cxx eggToC.h)
 add_executable(egg2c eggToC.cxx eggToC.h)
 target_link_libraries(egg2c p3eggbase)
 target_link_libraries(egg2c p3eggbase)
-install(TARGETS egg2c DESTINATION bin)
+install(TARGETS egg2c EXPORT Tools COMPONENT Tools DESTINATION bin)
 
 
 add_executable(egg-topstrip eggTopstrip.cxx eggTopstrip.h)
 add_executable(egg-topstrip eggTopstrip.cxx eggTopstrip.h)
 target_link_libraries(egg-topstrip p3eggcharbase)
 target_link_libraries(egg-topstrip p3eggcharbase)
-install(TARGETS egg-topstrip DESTINATION bin)
+install(TARGETS egg-topstrip EXPORT Tools COMPONENT Tools DESTINATION bin)
 
 
 add_executable(egg-trans eggTrans.cxx eggTrans.h)
 add_executable(egg-trans eggTrans.cxx eggTrans.h)
 target_link_libraries(egg-trans p3eggbase)
 target_link_libraries(egg-trans p3eggbase)
-install(TARGETS egg-trans DESTINATION bin)
+install(TARGETS egg-trans EXPORT Tools COMPONENT Tools DESTINATION bin)

+ 5 - 5
pandatool/src/fltprogs/CMakeLists.txt

@@ -1,19 +1,19 @@
 add_executable(flt-info fltInfo.cxx fltInfo.h)
 add_executable(flt-info fltInfo.cxx fltInfo.h)
 target_link_libraries(flt-info p3progbase p3flt)
 target_link_libraries(flt-info p3progbase p3flt)
-install(TARGETS flt-info DESTINATION bin)
+install(TARGETS flt-info EXPORT Tools COMPONENT Tools DESTINATION bin)
 
 
 add_executable(flt-trans fltTrans.cxx fltTrans.h)
 add_executable(flt-trans fltTrans.cxx fltTrans.h)
 target_link_libraries(flt-trans p3progbase p3flt)
 target_link_libraries(flt-trans p3progbase p3flt)
-install(TARGETS flt-trans DESTINATION bin)
+install(TARGETS flt-trans EXPORT Tools COMPONENT Tools DESTINATION bin)
 
 
 add_executable(fltcopy fltCopy.cxx fltCopy.h)
 add_executable(fltcopy fltCopy.cxx fltCopy.h)
 target_link_libraries(fltcopy p3progbase p3cvscopy p3flt)
 target_link_libraries(fltcopy p3progbase p3cvscopy p3flt)
-install(TARGETS fltcopy DESTINATION bin)
+install(TARGETS fltcopy EXPORT Tools COMPONENT Tools DESTINATION bin)
 
 
 add_executable(egg2flt eggToFlt.cxx eggToFlt.h)
 add_executable(egg2flt eggToFlt.cxx eggToFlt.h)
 target_link_libraries(egg2flt p3fltegg p3eggbase p3progbase)
 target_link_libraries(egg2flt p3fltegg p3eggbase p3progbase)
-install(TARGETS egg2flt DESTINATION bin)
+install(TARGETS egg2flt EXPORT Tools COMPONENT Tools DESTINATION bin)
 
 
 add_executable(flt2egg fltToEgg.cxx fltToEgg.h)
 add_executable(flt2egg fltToEgg.cxx fltToEgg.h)
 target_link_libraries(flt2egg p3fltegg p3eggbase p3progbase)
 target_link_libraries(flt2egg p3fltegg p3eggbase p3progbase)
-install(TARGETS flt2egg DESTINATION bin)
+install(TARGETS flt2egg EXPORT Tools COMPONENT Tools DESTINATION bin)

+ 1 - 1
pandatool/src/gtk-stats/CMakeLists.txt

@@ -38,4 +38,4 @@ else()
   set_target_properties(gtkstats PROPERTIES OUTPUT_NAME "pstats")
   set_target_properties(gtkstats PROPERTIES OUTPUT_NAME "pstats")
 endif()
 endif()
 
 
-install(TARGETS gtkstats DESTINATION bin)
+install(TARGETS gtkstats EXPORT Tools COMPONENT Tools DESTINATION bin)

Some files were not shown because too many files changed in this diff