CMakeLists.txt 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. if(NOT HAVE_GL)
  2. return()
  3. endif()
  4. set(PANDAGL_LINK_TARGETS p3glgsg p3glstuff)
  5. if(HAVE_GLX)
  6. list(APPEND PANDAGL_LINK_TARGETS p3glxdisplay p3x11display)
  7. set(PANDAGL_PIPE_TYPE "glxGraphicsPipe")
  8. elseif(HAVE_WGL)
  9. list(APPEND PANDAGL_LINK_TARGETS p3wgldisplay p3windisplay)
  10. set(PANDAGL_PIPE_TYPE "wglGraphicsPipe")
  11. elseif(HAVE_COCOA)
  12. list(APPEND PANDAGL_LINK_TARGETS p3cocoagldisplay p3cocoadisplay)
  13. set(PANDAGL_PIPE_TYPE "CocoaGLGraphicsPipe")
  14. set(PANDAGL_PIPE_INCLUDE "cocoaGLGraphicsPipe.h")
  15. else()
  16. message("") # Add extra line before error
  17. message(SEND_ERROR
  18. "When compiling with OpenGL (HAVE_GL), at least one of:
  19. HAVE_WGL, HAVE_COCOA, or HAVE_GLX must be defined.")
  20. endif()
  21. if(NOT PANDAGL_PIPE_INCLUDE)
  22. set(PANDAGL_PIPE_INCLUDE "${PANDAGL_PIPE_TYPE}.h")
  23. endif()
  24. set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "OpenGLDevel")
  25. add_metalib(pandagl ${MODULE_TYPE}
  26. INCLUDE "${PANDAGL_PIPE_INCLUDE}"
  27. INIT init_libpandagl pandagl.h
  28. EXPORT int get_pipe_type_pandagl "${PANDAGL_PIPE_TYPE}::get_class_type().get_index()"
  29. COMPONENTS ${PANDAGL_LINK_TARGETS})
  30. unset(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME)
  31. install(TARGETS pandagl
  32. EXPORT OpenGL COMPONENT OpenGL
  33. DESTINATION ${MODULE_DESTINATION}
  34. ARCHIVE COMPONENT OpenGLDevel)
  35. export_targets(OpenGL NAMESPACE "Panda3D::OpenGL::" COMPONENT OpenGLDevel)