Selaa lähdekoodia

CMake: Build OS X display modules.

Sam Edwards 11 vuotta sitten
vanhempi
sitoutus
ea48d3d7a6

+ 2 - 0
panda/CMakeLists.txt

@@ -40,6 +40,8 @@ add_subdirectory(src/glstuff)
 add_subdirectory(src/glgsg)
 add_subdirectory(src/x11display)
 add_subdirectory(src/glxdisplay)
+add_subdirectory(src/osxdisplay)
+add_subdirectory(src/cocoadisplay)
 add_subdirectory(src/movies)
 add_subdirectory(src/audio)
 add_subdirectory(src/audiotraits)

+ 7 - 0
panda/metalibs/pandagl/CMakeLists.txt

@@ -14,6 +14,13 @@ if(HAVE_GL)
     set(PANDAGL_LINK_TARGETS ${PANDAGL_LINK_TARGETS} p3glxdisplay)
   endif()
 
+  if(HAVE_COCOA)
+    set(PANDAGL_LINK_TARGETS ${PANDAGL_LINK_TARGETS} p3cocoadisplay)
+  endif()
+
+  if(HAVE_CARBON)
+    set(PANDAGL_LINK_TARGETS ${PANDAGL_LINK_TARGETS} p3osxdisplay)
+  endif()
 
   add_library(pandagl pandagl.cxx)
   target_link_libraries(pandagl ${PANDAGL_LINK_TARGETS})

+ 29 - 0
panda/src/cocoadisplay/CMakeLists.txt

@@ -0,0 +1,29 @@
+if(APPLE AND HAVE_GL AND HAVE_COCOA)
+  set(P3COCOADISPLAY_HEADERS
+      config_cocoadisplay.h
+      cocoaGraphicsPipe.h cocoaGraphicsPipe.I
+      cocoaGraphicsWindow.h cocoaGraphicsWindow.I
+      cocoaGraphicsStateGuardian.h cocoaGraphicsStateGuardian.I
+      cocoaPandaView.h cocoaPandaWindowDelegate.h)
+
+  set(P3COCOADISPLAY_SOURCES
+      config_cocoadisplay.mm
+      cocoaGraphicsPipe.mm
+      cocoaGraphicsStateGuardian.mm
+      cocoaGraphicsWindow.mm
+      cocoaPandaView.mm
+      cocoaPandaWindow.mm
+      cocoaPandaWindowDelegate.mm)
+
+  #composite_sources(p3cocoadisplay P3COCOADISPLAY_SOURCES)
+  add_library(p3cocoadisplay ${P3COCOADISPLAY_SOURCES} ${P3COCOADISPLAY_HEADERS})
+  target_link_libraries(p3cocoadisplay p3display p3putil p3glgsg)
+
+  # Frameworks:
+  find_library(APPLICATIONSERVICES_LIBRARY ApplicationServices)
+  find_library(APPKIT_LIBRARY AppKit)
+  target_link_libraries(p3cocoadisplay
+    ${APPLICATIONSERVICES_LIBRARY} ${APPKIT_LIBRARY})
+
+  install(TARGETS p3cocoadisplay DESTINATION lib)
+endif()

+ 27 - 0
panda/src/osxdisplay/CMakeLists.txt

@@ -0,0 +1,27 @@
+if(APPLE AND HAVE_GL AND HAVE_CARBON)
+  set(P3OSXDISPLAY_HEADERS
+      config_osxdisplay.h
+      osxGraphicsPipe.h
+      osxGraphicsWindow.h osxGraphicsWindow.I
+      osxGraphicsStateGuardian.h)
+
+  set(P3OSXDISPLAY_SOURCES
+      config_osxdisplay.cxx osxGraphicsPipe.cxx osxGraphicsStateGuardian.cxx
+      osxGraphicsBuffer.cxx)
+
+  composite_sources(p3osxdisplay P3OSXDISPLAY_SOURCES)
+  add_library(p3osxdisplay ${P3OSXDISPLAY_SOURCES} ${P3OSXDISPLAY_HEADERS})
+  target_link_libraries(p3osxdisplay p3display p3putil p3glgsg)
+
+  # Frameworks:
+  find_library(APPLICATIONSERVICES_LIBRARY ApplicationServices)
+  find_library(CARBON_LIBRARY Carbon)
+  find_library(AGL_LIBRARY AGL)
+  find_library(CORESERVICES_LIBRARY CoreServices)
+  find_library(COCOA_LIBRARY Cocoa)
+  target_link_libraries(p3osxdisplay
+    ${APPLICATIONSERVICES_LIBRARY} ${CARBON_LIBRARY} ${AGL_LIBRARY}
+    ${CORESERVICES_LIBRARY} ${COCOA_LIBRARY})
+
+  install(TARGETS p3osxdisplay DESTINATION lib)
+endif()