Browse Source

CMake: Tidy up installation directory

Don't install "object-Configuration/" directories when
using metalibs, and also put .dll files in bin/ on Windows.
Sam Edwards 7 years ago
parent
commit
fa1e1a2e63
65 changed files with 174 additions and 66 deletions
  1. 4 0
      CMakeLists.txt
  2. 1 1
      direct/CMakeLists.txt
  3. 3 1
      direct/src/dcparser/CMakeLists.txt
  4. 3 1
      direct/src/deadrec/CMakeLists.txt
  5. 3 1
      direct/src/distributed/CMakeLists.txt
  6. 3 1
      direct/src/interval/CMakeLists.txt
  7. 3 1
      direct/src/motiontrail/CMakeLists.txt
  8. 3 1
      direct/src/showbase/CMakeLists.txt
  9. 1 1
      dtool/metalibs/dtool/CMakeLists.txt
  10. 1 1
      dtool/metalibs/dtoolconfig/CMakeLists.txt
  11. 3 1
      dtool/src/dconfig/CMakeLists.txt
  12. 3 1
      dtool/src/dtoolbase/CMakeLists.txt
  13. 3 1
      dtool/src/dtoolutil/CMakeLists.txt
  14. 3 1
      dtool/src/interrogatedb/CMakeLists.txt
  15. 3 1
      dtool/src/prc/CMakeLists.txt
  16. 1 1
      panda/metalibs/panda/CMakeLists.txt
  17. 1 1
      panda/metalibs/pandaegg/CMakeLists.txt
  18. 1 1
      panda/metalibs/pandaexpress/CMakeLists.txt
  19. 1 1
      panda/metalibs/pandagl/CMakeLists.txt
  20. 1 1
      panda/metalibs/pandaphysics/CMakeLists.txt
  21. 3 1
      panda/src/audio/CMakeLists.txt
  22. 3 3
      panda/src/audiotraits/CMakeLists.txt
  23. 3 1
      panda/src/chan/CMakeLists.txt
  24. 3 1
      panda/src/char/CMakeLists.txt
  25. 3 1
      panda/src/collide/CMakeLists.txt
  26. 3 1
      panda/src/cull/CMakeLists.txt
  27. 3 1
      panda/src/device/CMakeLists.txt
  28. 3 1
      panda/src/dgraph/CMakeLists.txt
  29. 3 1
      panda/src/display/CMakeLists.txt
  30. 3 1
      panda/src/downloader/CMakeLists.txt
  31. 3 1
      panda/src/dxml/CMakeLists.txt
  32. 3 1
      panda/src/egg/CMakeLists.txt
  33. 3 1
      panda/src/egg2pg/CMakeLists.txt
  34. 3 1
      panda/src/event/CMakeLists.txt
  35. 3 1
      panda/src/express/CMakeLists.txt
  36. 1 1
      panda/src/ffmpeg/CMakeLists.txt
  37. 1 1
      panda/src/framework/CMakeLists.txt
  38. 3 1
      panda/src/glgsg/CMakeLists.txt
  39. 3 1
      panda/src/glstuff/CMakeLists.txt
  40. 3 1
      panda/src/glxdisplay/CMakeLists.txt
  41. 3 1
      panda/src/gobj/CMakeLists.txt
  42. 3 1
      panda/src/grutil/CMakeLists.txt
  43. 3 1
      panda/src/gsgbase/CMakeLists.txt
  44. 3 1
      panda/src/linmath/CMakeLists.txt
  45. 3 1
      panda/src/mathutil/CMakeLists.txt
  46. 3 1
      panda/src/movies/CMakeLists.txt
  47. 3 1
      panda/src/nativenet/CMakeLists.txt
  48. 3 1
      panda/src/net/CMakeLists.txt
  49. 1 1
      panda/src/ode/CMakeLists.txt
  50. 3 1
      panda/src/parametrics/CMakeLists.txt
  51. 3 1
      panda/src/particlesystem/CMakeLists.txt
  52. 3 1
      panda/src/pgraph/CMakeLists.txt
  53. 3 1
      panda/src/pgraphnodes/CMakeLists.txt
  54. 3 1
      panda/src/pgui/CMakeLists.txt
  55. 3 1
      panda/src/physics/CMakeLists.txt
  56. 3 1
      panda/src/pipeline/CMakeLists.txt
  57. 3 1
      panda/src/pnmimage/CMakeLists.txt
  58. 3 1
      panda/src/pnmimagetypes/CMakeLists.txt
  59. 3 1
      panda/src/pnmtext/CMakeLists.txt
  60. 3 1
      panda/src/pstatclient/CMakeLists.txt
  61. 3 1
      panda/src/putil/CMakeLists.txt
  62. 3 1
      panda/src/recorder/CMakeLists.txt
  63. 3 1
      panda/src/text/CMakeLists.txt
  64. 3 1
      panda/src/tform/CMakeLists.txt
  65. 3 1
      panda/src/x11display/CMakeLists.txt

+ 4 - 0
CMakeLists.txt

@@ -32,6 +32,7 @@ set(CMAKE_BINARY_DIR "${CMAKE_BINARY_DIR}/cmake")
 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")
 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")
 set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
 set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
+set(MODULE_DESTINATION "lib")
 
 
 # Runtime code assumes that dynamic modules have a "lib" prefix; Windows
 # Runtime code assumes that dynamic modules have a "lib" prefix; Windows
 # assumes that debug libraries have a _d suffix.
 # assumes that debug libraries have a _d suffix.
@@ -41,6 +42,9 @@ if(WIN32)
 
 
   # On Windows, modules (DLLs) are located in bin; lib is just for .lib files
   # On Windows, modules (DLLs) are located in bin; lib is just for .lib files
   set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")
   set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")
+  if(BUILD_SHARED_LIBS)
+    set(MODULE_DESTINATION "bin")
+  endif()
 endif()
 endif()
 
 
 # Set warning levels
 # Set warning levels

+ 1 - 1
direct/CMakeLists.txt

@@ -24,7 +24,7 @@ add_metalib(p3direct INIT init_libdirect direct.h COMPONENTS ${P3DIRECT_COMPONEN
 set_property(TARGET p3direct PROPERTY LINKER_LANGUAGE "CXX")
 set_property(TARGET p3direct PROPERTY LINKER_LANGUAGE "CXX")
 
 
 # Installation:
 # Installation:
-install(TARGETS p3direct DESTINATION lib)
+install(TARGETS p3direct DESTINATION lib RUNTIME DESTINATION bin)
 
 
 if(HAVE_PYTHON)
 if(HAVE_PYTHON)
   # Now for the Python side of everything
   # Now for the Python side of everything

+ 3 - 1
direct/src/dcparser/CMakeLists.txt

@@ -53,5 +53,7 @@ target_link_libraries(p3dcparser p3directbase panda)
 target_use_packages(p3dcparser PYTHON)
 target_use_packages(p3dcparser PYTHON)
 target_interrogate(p3dcparser ${P3DCPARSER_HEADERS} ${P3DCPARSER_SOURCES})
 target_interrogate(p3dcparser ${P3DCPARSER_HEADERS} ${P3DCPARSER_SOURCES})
 
 
-install(TARGETS p3dcparser DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3dcparser DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3DCPARSER_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3DCPARSER_HEADERS} DESTINATION include/panda3d)

+ 3 - 1
direct/src/deadrec/CMakeLists.txt

@@ -11,5 +11,7 @@ add_component_library(p3deadrec SYMBOL BUILDING_DIRECT_DEADREC
 target_link_libraries(p3deadrec p3directbase panda)
 target_link_libraries(p3deadrec p3directbase panda)
 target_interrogate(p3deadrec ALL)
 target_interrogate(p3deadrec ALL)
 
 
-install(TARGETS p3deadrec DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3deadrec DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3DEADREC_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3DEADREC_HEADERS} DESTINATION include/panda3d)

+ 3 - 1
direct/src/distributed/CMakeLists.txt

@@ -21,5 +21,7 @@ target_link_libraries(p3distributed p3directbase p3dcparser panda)
 target_use_packages(p3distributed PYTHON)
 target_use_packages(p3distributed PYTHON)
 target_interrogate(p3distributed ALL)
 target_interrogate(p3distributed ALL)
 
 
-install(TARGETS p3distributed DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3distributed DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3DISTRIBUTED_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3DISTRIBUTED_HEADERS} DESTINATION include/panda3d)

+ 3 - 1
direct/src/interval/CMakeLists.txt

@@ -41,5 +41,7 @@ add_component_library(p3interval SYMBOL BUILDING_DIRECT_INTERVAL
 target_link_libraries(p3interval p3directbase panda)
 target_link_libraries(p3interval p3directbase panda)
 target_interrogate(p3interval ALL)
 target_interrogate(p3interval ALL)
 
 
-install(TARGETS p3interval DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3interval DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3INTERVAL_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3INTERVAL_HEADERS} DESTINATION include/panda3d)

+ 3 - 1
direct/src/motiontrail/CMakeLists.txt

@@ -11,5 +11,7 @@ add_component_library(p3motiontrail SYMBOL BUILDING_DIRECT_MOTIONTRAIL
 target_link_libraries(p3motiontrail p3directbase panda)
 target_link_libraries(p3motiontrail p3directbase panda)
 target_interrogate(p3motiontrail ALL)
 target_interrogate(p3motiontrail ALL)
 
 
-install(TARGETS p3motiontrail DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3motiontrail DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3MOTIONTRAIL_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3MOTIONTRAIL_HEADERS} DESTINATION include/panda3d)

+ 3 - 1
direct/src/showbase/CMakeLists.txt

@@ -3,4 +3,6 @@ add_component_library(p3showbase NOINIT SYMBOL BUILDING_DIRECT_SHOWBASE
 target_link_libraries(p3showbase p3directbase panda)
 target_link_libraries(p3showbase p3directbase panda)
 target_interrogate(p3showbase ALL)
 target_interrogate(p3showbase ALL)
 
 
-install(TARGETS p3showbase DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3showbase DESTINATION lib RUNTIME DESTINATION bin)
+endif()

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

@@ -1,3 +1,3 @@
 add_metalib(p3dtool INIT init_libdtool dtool.h COMPONENTS p3dtoolutil p3dtoolbase)
 add_metalib(p3dtool INIT init_libdtool dtool.h COMPONENTS p3dtoolutil p3dtoolbase)
 
 
-install(TARGETS p3dtool DESTINATION lib)
+install(TARGETS p3dtool DESTINATION lib RUNTIME DESTINATION bin)

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

@@ -1,3 +1,3 @@
 set(DTOOLCONFIG_LINK_TARGETS p3prc p3dconfig p3interrogatedb)
 set(DTOOLCONFIG_LINK_TARGETS p3prc p3dconfig p3interrogatedb)
 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)
+install(TARGETS p3dtoolconfig DESTINATION lib RUNTIME DESTINATION bin)

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

@@ -10,5 +10,7 @@ add_component_library(p3dconfig NOINIT SYMBOL BUILDING_DTOOL_DCONFIG
   ${P3DCONFIG_HEADERS} ${P3DCONFIG_SOURCES})
   ${P3DCONFIG_HEADERS} ${P3DCONFIG_SOURCES})
 target_link_libraries(p3dconfig p3prc)
 target_link_libraries(p3dconfig p3prc)
 
 
-install(TARGETS p3dconfig DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3dconfig DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3DCONFIG_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3DCONFIG_HEADERS} DESTINATION include/panda3d)

+ 3 - 1
dtool/src/dtoolbase/CMakeLists.txt

@@ -93,5 +93,7 @@ target_include_directories(p3dtoolbase PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
 target_use_packages(p3dtoolbase THREADS EIGEN)
 target_use_packages(p3dtoolbase THREADS EIGEN)
 target_interrogate(p3dtoolbase ${P3DTOOLBASE_SOURCES} EXTENSIONS ${P3DTOOLBASE_IGATEEXT})
 target_interrogate(p3dtoolbase ${P3DTOOLBASE_SOURCES} EXTENSIONS ${P3DTOOLBASE_IGATEEXT})
 
 
-install(TARGETS p3dtoolbase DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3dtoolbase DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3DTOOLBASE_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3DTOOLBASE_HEADERS} DESTINATION include/panda3d)

+ 3 - 1
dtool/src/dtoolutil/CMakeLists.txt

@@ -78,5 +78,7 @@ if(APPLE)
   target_link_libraries(p3dtoolutil ${FOUNDATION_LIBRARY} ${APPKIT_LIBRARY})
   target_link_libraries(p3dtoolutil ${FOUNDATION_LIBRARY} ${APPKIT_LIBRARY})
 endif()
 endif()
 
 
-install(TARGETS p3dtoolutil DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3dtoolutil DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3DTOOLUTIL_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3DTOOLUTIL_HEADERS} DESTINATION include/panda3d)

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

@@ -39,7 +39,9 @@ add_component_library(p3interrogatedb NOINIT SYMBOL BUILDING_INTERROGATEDB
 target_link_libraries(p3interrogatedb p3dconfig)
 target_link_libraries(p3interrogatedb p3dconfig)
 target_use_packages(p3interrogatedb PYTHON)
 target_use_packages(p3interrogatedb PYTHON)
 
 
-install(TARGETS p3interrogatedb DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3interrogatedb DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3INTERROGATEDB_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3INTERROGATEDB_HEADERS} 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.

+ 3 - 1
dtool/src/prc/CMakeLists.txt

@@ -80,5 +80,7 @@ target_link_libraries(p3prc p3dtool)
 target_use_packages(p3prc OPENSSL)
 target_use_packages(p3prc OPENSSL)
 target_interrogate(p3prc ALL EXTENSIONS ${P3PRC_IGATEEXT})
 target_interrogate(p3prc ALL EXTENSIONS ${P3PRC_IGATEEXT})
 
 
-install(TARGETS p3prc DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3prc DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3PRC_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3PRC_HEADERS} DESTINATION include/panda3d)

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

@@ -13,4 +13,4 @@ endif()
 
 
 add_metalib(panda INIT init_libpanda panda.h COMPONENTS ${PANDA_LINK_TARGETS})
 add_metalib(panda INIT init_libpanda panda.h COMPONENTS ${PANDA_LINK_TARGETS})
 
 
-install(TARGETS panda DESTINATION lib)
+install(TARGETS panda DESTINATION lib RUNTIME DESTINATION bin)

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

@@ -7,4 +7,4 @@ add_metalib(pandaegg
   COMPONENTS p3egg p3egg2pg)
   COMPONENTS p3egg p3egg2pg)
 target_link_libraries(pandaegg panda)
 target_link_libraries(pandaegg panda)
 
 
-install(TARGETS pandaegg DESTINATION lib)
+install(TARGETS pandaegg DESTINATION lib RUNTIME DESTINATION bin)

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

@@ -2,4 +2,4 @@ add_metalib(pandaexpress
   INIT init_libpandaexpress pandaexpress.h
   INIT init_libpandaexpress pandaexpress.h
   COMPONENTS p3downloader p3express)
   COMPONENTS p3downloader p3express)
 
 
-install(TARGETS pandaexpress DESTINATION lib)
+install(TARGETS pandaexpress DESTINATION lib RUNTIME DESTINATION bin)

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

@@ -28,5 +28,5 @@ if(HAVE_GL)
   add_metalib(pandagl ${MODULE_TYPE} pandagl.cxx COMPONENTS ${PANDAGL_LINK_TARGETS})
   add_metalib(pandagl ${MODULE_TYPE} pandagl.cxx COMPONENTS ${PANDAGL_LINK_TARGETS})
   set_target_properties(pandagl PROPERTIES DEFINE_SYMBOL BUILDING_PANDAGL)
   set_target_properties(pandagl PROPERTIES DEFINE_SYMBOL BUILDING_PANDAGL)
 
 
-  install(TARGETS pandagl DESTINATION lib)
+  install(TARGETS pandagl DESTINATION ${MODULE_DESTINATION})
 endif()
 endif()

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

@@ -2,4 +2,4 @@ add_metalib(pandaphysics
   INIT init_libpandaphysics pandaphysics.h
   INIT init_libpandaphysics pandaphysics.h
   COMPONENTS p3physics p3particlesystem)
   COMPONENTS p3physics p3particlesystem)
 
 
-install(TARGETS pandaphysics DESTINATION lib)
+install(TARGETS pandaphysics DESTINATION lib RUNTIME DESTINATION bin)

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

@@ -26,5 +26,7 @@ add_component_library(p3audio NOINIT SYMBOL BUILDING_PANDA_AUDIO
 target_link_libraries(p3audio p3putil p3event p3movies p3linmath)
 target_link_libraries(p3audio p3putil p3event p3movies p3linmath)
 target_interrogate(p3audio ALL)
 target_interrogate(p3audio ALL)
 
 
-install(TARGETS p3audio DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3audio DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3AUDIO_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3AUDIO_HEADERS} DESTINATION include/panda3d)

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

@@ -27,7 +27,7 @@ if(HAVE_RAD_MSS)
   target_link_libraries(p3miles_audio panda)
   target_link_libraries(p3miles_audio panda)
   target_use_packages(p3miles_audio MILES)
   target_use_packages(p3miles_audio MILES)
 
 
-  install(TARGETS p3miles_audio DESTINATION lib)
+  install(TARGETS p3miles_audio DESTINATION lib RUNTIME DESTINATION bin)
 endif()
 endif()
 
 
 if(HAVE_FMODEX)
 if(HAVE_FMODEX)
@@ -46,7 +46,7 @@ if(HAVE_FMODEX)
   target_link_libraries(p3fmod_audio panda)
   target_link_libraries(p3fmod_audio panda)
   target_use_packages(p3fmod_audio FMODEX)
   target_use_packages(p3fmod_audio FMODEX)
 
 
-  install(TARGETS p3fmod_audio DESTINATION lib)
+  install(TARGETS p3fmod_audio DESTINATION lib RUNTIME DESTINATION bin)
 endif()
 endif()
 
 
 if(HAVE_OPENAL)
 if(HAVE_OPENAL)
@@ -66,5 +66,5 @@ if(HAVE_OPENAL)
   target_link_libraries(p3openal_audio panda)
   target_link_libraries(p3openal_audio panda)
   target_use_packages(p3openal_audio OPENAL)
   target_use_packages(p3openal_audio OPENAL)
 
 
-  install(TARGETS p3openal_audio DESTINATION lib)
+  install(TARGETS p3openal_audio DESTINATION lib RUNTIME DESTINATION bin)
 endif()
 endif()

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

@@ -58,5 +58,7 @@ add_component_library(p3chan NOINIT SYMBOL BUILDING_PANDA_CHAN
 target_link_libraries(p3chan p3pgraph)
 target_link_libraries(p3chan p3pgraph)
 target_interrogate(p3chan ALL)
 target_interrogate(p3chan ALL)
 
 
-install(TARGETS p3chan DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3chan DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3CHAN_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3CHAN_HEADERS} DESTINATION include/panda3d)

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

@@ -24,5 +24,7 @@ add_component_library(p3char SYMBOL BUILDING_PANDA_CHAR
 target_link_libraries(p3char p3chan)
 target_link_libraries(p3char p3chan)
 target_interrogate(p3char ALL)
 target_interrogate(p3char ALL)
 
 
-install(TARGETS p3char DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3char DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3CHAR_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3CHAR_HEADERS} DESTINATION include/panda3d)

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

@@ -68,7 +68,9 @@ add_component_library(p3collide SYMBOL BUILDING_PANDA_COLLIDE
 target_link_libraries(p3collide p3tform)
 target_link_libraries(p3collide p3tform)
 target_interrogate(p3collide ALL)
 target_interrogate(p3collide ALL)
 
 
-install(TARGETS p3collide DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3collide DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3COLLIDE_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3COLLIDE_HEADERS} DESTINATION include/panda3d)
 
 
 #begin test_bin_target
 #begin test_bin_target

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

@@ -26,5 +26,7 @@ add_component_library(p3cull SYMBOL BUILDING_PANDA_CULL
 target_link_libraries(p3cull p3pgraph)
 target_link_libraries(p3cull p3pgraph)
 target_interrogate(p3cull ALL)
 target_interrogate(p3cull ALL)
 
 
-install(TARGETS p3cull DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3cull DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3CULL_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3CULL_HEADERS} DESTINATION include/panda3d)

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

@@ -32,5 +32,7 @@ add_component_library(p3device SYMBOL BUILDING_PANDA_DEVICE
 target_link_libraries(p3device p3dgraph p3display)
 target_link_libraries(p3device p3dgraph p3display)
 target_interrogate(p3device ALL)
 target_interrogate(p3device ALL)
 
 
-install(TARGETS p3device DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3device DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3DEVICE_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3DEVICE_HEADERS} DESTINATION include/panda3d)

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

@@ -17,5 +17,7 @@ add_component_library(p3dgraph NOINIT SYMBOL BUILDING_PANDA_DGRAPH
 target_link_libraries(p3dgraph p3pgraph)
 target_link_libraries(p3dgraph p3pgraph)
 target_interrogate(p3dgraph ALL)
 target_interrogate(p3dgraph ALL)
 
 
-install(TARGETS p3dgraph DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3dgraph DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3DGRAPH_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3DGRAPH_HEADERS} DESTINATION include/panda3d)

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

@@ -92,7 +92,9 @@ add_component_library(p3display SYMBOL BUILDING_PANDA_DISPLAY
 target_link_libraries(p3display p3cull p3pgraphnodes)
 target_link_libraries(p3display p3cull p3pgraphnodes)
 target_interrogate(p3display ALL EXTENSIONS ${P3DISPLAY_IGATEEXT})
 target_interrogate(p3display ALL EXTENSIONS ${P3DISPLAY_IGATEEXT})
 
 
-install(TARGETS p3display DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3display DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3DISPLAY_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3DISPLAY_HEADERS} DESTINATION include/panda3d)
 
 
 if(OSX_PLATFORM AND HAVE_P3D_PLUGIN)
 if(OSX_PLATFORM AND HAVE_P3D_PLUGIN)

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

@@ -73,5 +73,7 @@ add_component_library(p3downloader SYMBOL BUILDING_PANDA_DOWNLOADER
 target_link_libraries(p3downloader p3express)
 target_link_libraries(p3downloader p3express)
 target_interrogate(p3downloader ALL EXTENSIONS ${P3DOWNLOADER_IGATEEXT})
 target_interrogate(p3downloader ALL EXTENSIONS ${P3DOWNLOADER_IGATEEXT})
 
 
-install(TARGETS p3downloader DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3downloader DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3DOWNLOADER_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3DOWNLOADER_HEADERS} DESTINATION include/panda3d)

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

@@ -17,5 +17,7 @@ add_component_library(p3dxml SYMBOL BUILDING_PANDA_DXML
 target_link_libraries(p3dxml pandaexpress)
 target_link_libraries(p3dxml pandaexpress)
 target_interrogate(p3dxml ALL)
 target_interrogate(p3dxml ALL)
 
 
-install(TARGETS p3dxml DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3dxml DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3DXML_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3DXML_HEADERS} DESTINATION include/panda3d)

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

@@ -107,5 +107,7 @@ add_component_library(p3egg SYMBOL BUILDING_PANDA_EGG
 target_link_libraries(p3egg panda)
 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})
 
 
-install(TARGETS p3egg DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3egg DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3EGG_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3EGG_HEADERS} DESTINATION include/panda3d)

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

@@ -38,5 +38,7 @@ add_component_library(p3egg2pg SYMBOL BUILDING_PANDA_EGG2PG
 target_link_libraries(p3egg2pg panda p3egg)
 target_link_libraries(p3egg2pg panda p3egg)
 target_interrogate(p3egg2pg ALL)
 target_interrogate(p3egg2pg ALL)
 
 
-install(TARGETS p3egg2pg DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3egg2pg DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3EGG2PG_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3EGG2PG_HEADERS} DESTINATION include/panda3d)

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

@@ -50,7 +50,9 @@ add_component_library(p3event NOINIT SYMBOL BUILDING_PANDA_EVENT
 target_link_libraries(p3event p3linmath p3pstatclient)
 target_link_libraries(p3event p3linmath p3pstatclient)
 target_interrogate(p3event ALL EXTENSIONS ${P3EVENT_IGATEEXT})
 target_interrogate(p3event ALL EXTENSIONS ${P3EVENT_IGATEEXT})
 
 
-install(TARGETS p3event DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3event DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3EVENT_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3EVENT_HEADERS} DESTINATION include/panda3d)
 
 
 #begin test_bin_target
 #begin test_bin_target

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

@@ -157,7 +157,9 @@ if(WIN32)
   target_link_libraries(p3express advapi32.lib ws2_32.lib)
   target_link_libraries(p3express advapi32.lib ws2_32.lib)
 endif()
 endif()
 
 
-install(TARGETS p3express DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3express DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3EXPRESS_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3EXPRESS_HEADERS} DESTINATION include/panda3d)
 
 
 #add_executable(p3expressTestTypes test_types.cxx)
 #add_executable(p3expressTestTypes test_types.cxx)

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

@@ -25,5 +25,5 @@ set_target_properties(p3ffmpeg PROPERTIES DEFINE_SYMBOL BUILDING_FFMPEG)
 target_link_libraries(p3ffmpeg panda)
 target_link_libraries(p3ffmpeg panda)
 target_use_packages(p3ffmpeg FFMPEG SWSCALE SWRESAMPLE)
 target_use_packages(p3ffmpeg FFMPEG SWSCALE SWRESAMPLE)
 
 
-install(TARGETS p3ffmpeg DESTINATION lib)
+install(TARGETS p3ffmpeg DESTINATION lib RUNTIME DESTINATION bin)
 install(FILES ${P3FFMPEG_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3FFMPEG_HEADERS} DESTINATION include/panda3d)

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

@@ -51,5 +51,5 @@ 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)
+install(TARGETS p3framework DESTINATION lib RUNTIME DESTINATION bin)
 install(FILES ${P3FRAMEWORK_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3FRAMEWORK_HEADERS} DESTINATION include/panda3d)

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

@@ -18,5 +18,7 @@ target_link_libraries(p3glgsg p3glstuff panda
   ${OPENGL_LIBRARIES})
   ${OPENGL_LIBRARIES})
 target_use_packages(p3glgsg CG)
 target_use_packages(p3glgsg CG)
 
 
-install(TARGETS p3glgsg DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3glgsg DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3GLGSG_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3GLGSG_HEADERS} DESTINATION include/panda3d)

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

@@ -37,5 +37,7 @@ composite_sources(p3glstuff P3GLSTUFF_SOURCES)
 add_component_library(p3glstuff ${P3GLSTUFF_HEADERS} ${P3GLSTUFF_SOURCES})
 add_component_library(p3glstuff ${P3GLSTUFF_HEADERS} ${P3GLSTUFF_SOURCES})
 target_link_libraries(p3glstuff panda)
 target_link_libraries(p3glstuff panda)
 
 
-install(TARGETS p3glstuff DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3glstuff DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3GLSTUFF_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3GLSTUFF_HEADERS} DESTINATION include/panda3d)

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

@@ -28,4 +28,6 @@ add_component_library(p3glxdisplay SYMBOL BUILDING_PANDA_GLXDISPLAY
   ${P3GLXDISPLAY_HEADERS} ${P3GLXDISPLAY_SOURCES})
   ${P3GLXDISPLAY_HEADERS} ${P3GLXDISPLAY_SOURCES})
 target_link_libraries(p3glxdisplay p3glgsg p3x11display)
 target_link_libraries(p3glxdisplay p3glgsg p3x11display)
 
 
-install(TARGETS p3glxdisplay DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3glxdisplay DESTINATION lib)
+endif()

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

@@ -174,7 +174,9 @@ target_link_libraries(p3gobj p3gsgbase p3pnmimage)
 target_use_packages(p3gobj ZLIB SQUISH CG)
 target_use_packages(p3gobj ZLIB SQUISH CG)
 target_interrogate(p3gobj ALL EXTENSIONS ${P3GOBJ_IGATEEXT})
 target_interrogate(p3gobj ALL EXTENSIONS ${P3GOBJ_IGATEEXT})
 
 
-install(TARGETS p3gobj DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3gobj DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3GOBJ_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3GOBJ_HEADERS} DESTINATION include/panda3d)
 
 
 #begin test_bin_target
 #begin test_bin_target

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

@@ -46,5 +46,7 @@ if(HAVE_AUDIO)
 endif()
 endif()
 target_interrogate(p3grutil ALL)
 target_interrogate(p3grutil ALL)
 
 
-install(TARGETS p3grutil DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3grutil DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3GRUTIL_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3GRUTIL_HEADERS} DESTINATION include/panda3d)

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

@@ -16,7 +16,9 @@ add_component_library(p3gsgbase NOINIT SYMBOL BUILDING_PANDA_GSGBASE
 target_link_libraries(p3gsgbase p3putil p3linmath)
 target_link_libraries(p3gsgbase p3putil p3linmath)
 target_interrogate(p3gsgbase ALL)
 target_interrogate(p3gsgbase ALL)
 
 
-install(TARGETS p3gsgbase DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3gsgbase DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3GSGBASE_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3GSGBASE_HEADERS} DESTINATION include/panda3d)
 
 
 #begin test_bin_target
 #begin test_bin_target

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

@@ -50,7 +50,9 @@ target_link_libraries(p3linmath p3pandabase pandaexpress)
 target_use_packages(p3linmath EIGEN)
 target_use_packages(p3linmath EIGEN)
 target_interrogate(p3linmath ALL)
 target_interrogate(p3linmath ALL)
 
 
-install(TARGETS p3linmath DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3linmath DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3LINMATH_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3LINMATH_HEADERS} DESTINATION include/panda3d)
 
 
 #begin test_bin_target
 #begin test_bin_target

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

@@ -67,7 +67,9 @@ target_link_libraries(p3mathutil p3event)
 target_use_packages(p3mathutil FFTW)
 target_use_packages(p3mathutil FFTW)
 target_interrogate(p3mathutil ALL)
 target_interrogate(p3mathutil ALL)
 
 
-install(TARGETS p3mathutil DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3mathutil DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3MATHUTIL_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3MATHUTIL_HEADERS} DESTINATION include/panda3d)
 
 
 #begin test_bin_target
 #begin test_bin_target

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

@@ -47,5 +47,7 @@ add_component_library(p3movies SYMBOL BUILDING_PANDA_MOVIES
 target_link_libraries(p3movies p3pstatclient p3gobj p3pandabase pandaexpress)
 target_link_libraries(p3movies p3pstatclient p3gobj p3pandabase pandaexpress)
 target_interrogate(p3movies ALL)
 target_interrogate(p3movies ALL)
 
 
-install(TARGETS p3movies DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3movies DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3MOVIES_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3MOVIES_HEADERS} DESTINATION include/panda3d)

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

@@ -33,5 +33,7 @@ add_component_library(p3nativenet SYMBOL BUILDING_PANDA_NATIVENET
 target_link_libraries(p3nativenet p3pandabase pandaexpress)
 target_link_libraries(p3nativenet p3pandabase pandaexpress)
 target_interrogate(p3nativenet ALL)
 target_interrogate(p3nativenet ALL)
 
 
-install(TARGETS p3nativenet DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3nativenet DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3NATIVENET_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3NATIVENET_HEADERS} DESTINATION include/panda3d)

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

@@ -38,5 +38,7 @@ if(WIN32)
   target_link_libraries(p3net Iphlpapi.lib)
   target_link_libraries(p3net Iphlpapi.lib)
 endif()
 endif()
 
 
-install(TARGETS p3net DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3net DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3NET_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3NET_HEADERS} DESTINATION include/panda3d)

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

@@ -91,5 +91,5 @@ target_link_libraries(p3ode panda)
 target_use_packages(p3ode ODE)
 target_use_packages(p3ode ODE)
 target_interrogate(p3ode ${P3ODE_IGATE_SOURCES} EXTENSIONS ${P3ODE_IGATEEXT})
 target_interrogate(p3ode ${P3ODE_IGATE_SOURCES} EXTENSIONS ${P3ODE_IGATEEXT})
 
 
-install(TARGETS p3ode DESTINATION lib)
+install(TARGETS p3ode DESTINATION lib RUNTIME DESTINATION bin)
 install(FILES ${P3ODE_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3ODE_HEADERS} DESTINATION include/panda3d)

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

@@ -39,7 +39,9 @@ add_component_library(p3parametrics NOINIT SYMBOL BUILDING_PANDA_PARAMETRICS
 target_link_libraries(p3parametrics p3pgraph)
 target_link_libraries(p3parametrics p3pgraph)
 target_interrogate(p3parametrics ALL)
 target_interrogate(p3parametrics ALL)
 
 
-install(TARGETS p3parametrics DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3parametrics DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3PARAMETRICS_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3PARAMETRICS_HEADERS} DESTINATION include/panda3d)
 
 
 #begin test_bin_target
 #begin test_bin_target

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

@@ -43,5 +43,7 @@ add_component_library(p3particlesystem SYMBOL BUILDING_PANDA_PARTICLESYSTEM
 target_link_libraries(p3particlesystem p3physics panda)
 target_link_libraries(p3particlesystem p3physics panda)
 target_interrogate(p3particlesystem ALL)
 target_interrogate(p3particlesystem ALL)
 
 
-install(TARGETS p3particlesystem DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3particlesystem DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3PARTICLESYSTEM_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3PARTICLESYSTEM_HEADERS} DESTINATION include/panda3d)

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

@@ -223,7 +223,9 @@ add_component_library(p3pgraph SYMBOL BUILDING_PANDA_PGRAPH
 target_link_libraries(p3pgraph p3gobj p3event p3gsgbase p3putil p3linmath pandaexpress)
 target_link_libraries(p3pgraph p3gobj p3event p3gsgbase p3putil p3linmath pandaexpress)
 target_interrogate(p3pgraph ALL EXTENSIONS ${P3PGRAPH_IGATEEXT})
 target_interrogate(p3pgraph ALL EXTENSIONS ${P3PGRAPH_IGATEEXT})
 
 
-install(TARGETS p3pgraph DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3pgraph DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3PGRAPH_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3PGRAPH_HEADERS} DESTINATION include/panda3d)
 
 
 
 

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

@@ -50,5 +50,7 @@ add_component_library(p3pgraphnodes SYMBOL BUILDING_PANDA_PGRAPHNODES
 target_link_libraries(p3pgraphnodes p3pgraph)
 target_link_libraries(p3pgraphnodes p3pgraph)
 target_interrogate(p3pgraphnodes ALL)
 target_interrogate(p3pgraphnodes ALL)
 
 
-install(TARGETS p3pgraphnodes DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3pgraphnodes DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3PGRAPHNODES_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3PGRAPHNODES_HEADERS} DESTINATION include/panda3d)

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

@@ -45,7 +45,9 @@ add_component_library(p3pgui SYMBOL BUILDING_PANDA_PGUI
 target_link_libraries(p3pgui p3tform)
 target_link_libraries(p3pgui p3tform)
 target_interrogate(p3pgui ALL)
 target_interrogate(p3pgui ALL)
 
 
-install(TARGETS p3pgui DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3pgui DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3PGUI_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3PGUI_HEADERS} DESTINATION include/panda3d)
 
 
 #begin test_bin_target
 #begin test_bin_target

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

@@ -41,5 +41,7 @@ add_component_library(p3physics SYMBOL BUILDING_PANDA_PHYSICS
 target_link_libraries(p3physics panda)
 target_link_libraries(p3physics panda)
 target_interrogate(p3physics ALL)
 target_interrogate(p3physics ALL)
 
 
-install(TARGETS p3physics DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3physics DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3PHYSICS_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3PHYSICS_HEADERS} DESTINATION include/panda3d)

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

@@ -133,7 +133,9 @@ add_component_library(p3pipeline SYMBOL BUILDING_PANDA_PIPELINE
 target_link_libraries(p3pipeline pandaexpress)
 target_link_libraries(p3pipeline pandaexpress)
 target_interrogate(p3pipeline ALL EXTENSIONS ${P3PIPELINE_IGATEEXT})
 target_interrogate(p3pipeline ALL EXTENSIONS ${P3PIPELINE_IGATEEXT})
 
 
-install(TARGETS p3pipeline DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3pipeline DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3PIPELINE_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3PIPELINE_HEADERS} DESTINATION include/panda3d)
 
 
 #begin test_bin_target
 #begin test_bin_target

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

@@ -40,5 +40,7 @@ add_component_library(p3pnmimage SYMBOL BUILDING_PANDA_PNMIMAGE
 target_link_libraries(p3pnmimage p3mathutil)
 target_link_libraries(p3pnmimage p3mathutil)
 target_interrogate(p3pnmimage ALL EXTENSIONS ${P3PNMIMAGE_IGATEEXT})
 target_interrogate(p3pnmimage ALL EXTENSIONS ${P3PNMIMAGE_IGATEEXT})
 
 
-install(TARGETS p3pnmimage DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3pnmimage DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3PNMIMAGE_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3PNMIMAGE_HEADERS} DESTINATION include/panda3d)

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

@@ -36,4 +36,6 @@ add_component_library(p3pnmimagetypes SYMBOL BUILDING_PANDA_PNMIMAGETYPES
 target_link_libraries(p3pnmimagetypes p3pnmimage)
 target_link_libraries(p3pnmimagetypes p3pnmimage)
 target_use_packages(p3pnmimagetypes JPEG TIFF PNG)
 target_use_packages(p3pnmimagetypes JPEG TIFF PNG)
 
 
-install(TARGETS p3pnmimagetypes DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3pnmimagetypes DESTINATION lib RUNTIME DESTINATION bin)
+endif()

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

@@ -24,5 +24,7 @@ target_link_libraries(p3pnmtext p3parametrics p3pnmimage)
 target_use_packages(p3pnmtext FREETYPE)
 target_use_packages(p3pnmtext FREETYPE)
 target_interrogate(p3pnmtext ALL)
 target_interrogate(p3pnmtext ALL)
 
 
-install(TARGETS p3pnmtext DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3pnmtext DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3PNMTEXT_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3PNMTEXT_HEADERS} DESTINATION include/panda3d)

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

@@ -26,6 +26,8 @@ add_component_library(p3pstatclient SYMBOL BUILDING_PANDA_PSTATCLIENT
 target_link_libraries(p3pstatclient p3net p3putil pandaexpress)
 target_link_libraries(p3pstatclient p3net p3putil pandaexpress)
 target_interrogate(p3pstatclient ALL)
 target_interrogate(p3pstatclient ALL)
 
 
-install(TARGETS p3pstatclient DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3pstatclient DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3PSTATCLIENT_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3PSTATCLIENT_HEADERS} DESTINATION include/panda3d)
 install(FILES config_pstats.h DESTINATION include/panda3d)
 install(FILES config_pstats.h DESTINATION include/panda3d)

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

@@ -129,7 +129,9 @@ add_component_library(p3putil SYMBOL BUILDING_PANDA_PUTIL
 target_link_libraries(p3putil p3linmath p3pipeline)
 target_link_libraries(p3putil p3linmath p3pipeline)
 target_interrogate(p3putil ALL EXTENSIONS ${P3PUTIL_IGATEEXT})
 target_interrogate(p3putil ALL EXTENSIONS ${P3PUTIL_IGATEEXT})
 
 
-install(TARGETS p3putil DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3putil DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3PUTIL_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3PUTIL_HEADERS} DESTINATION include/panda3d)
 install(FILES config_util.h DESTINATION include/panda3d)
 install(FILES config_util.h DESTINATION include/panda3d)
 
 

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

@@ -22,5 +22,7 @@ add_component_library(p3recorder NOINIT SYMBOL BUILDING_PANDA_RECORDER
 target_link_libraries(p3recorder p3dgraph pandaexpress)
 target_link_libraries(p3recorder p3dgraph pandaexpress)
 target_interrogate(p3recorder ALL)
 target_interrogate(p3recorder ALL)
 
 
-install(TARGETS p3recorder DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3recorder DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3RECORDER_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3RECORDER_HEADERS} DESTINATION include/panda3d)

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

@@ -42,5 +42,7 @@ if(HAVE_FREETYPE)
 endif()
 endif()
 target_interrogate(p3text ALL)
 target_interrogate(p3text ALL)
 
 
-install(TARGETS p3text DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3text DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3TEXT_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3TEXT_HEADERS} DESTINATION include/panda3d)

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

@@ -32,5 +32,7 @@ add_component_library(p3tform NOINIT SYMBOL BUILDING_PANDA_TFORM
 target_link_libraries(p3tform p3device p3grutil)
 target_link_libraries(p3tform p3device p3grutil)
 target_interrogate(p3tform ALL)
 target_interrogate(p3tform ALL)
 
 
-install(TARGETS p3tform DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3tform DESTINATION lib RUNTIME DESTINATION bin)
+endif()
 install(FILES ${P3TFORM_HEADERS} DESTINATION include/panda3d)
 install(FILES ${P3TFORM_HEADERS} DESTINATION include/panda3d)

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

@@ -16,4 +16,6 @@ add_component_library(p3x11display SYMBOL BUILDING_PANDAX11
   ${P3X11DISPLAY_HEADERS} ${P3X11DISPLAY_SOURCES})
   ${P3X11DISPLAY_HEADERS} ${P3X11DISPLAY_SOURCES})
 target_link_libraries(p3x11display panda ${X11_LIBRARIES})
 target_link_libraries(p3x11display panda ${X11_LIBRARIES})
 
 
-install(TARGETS p3x11display DESTINATION lib)
+if(NOT BUILD_METALIBS)
+  install(TARGETS p3x11display DESTINATION lib)
+endif()