Bläddra i källkod

Fix CMake build issues on macOS.

Donny Lawrence 7 år sedan
förälder
incheckning
beec6578c8

+ 11 - 2
direct/src/showbase/CMakeLists.txt

@@ -1,5 +1,14 @@
-add_component_library(p3showbase SYMBOL BUILDING_DIRECT_SHOWBASE
-  showBase.cxx showBase.h)
+set(P3SHOWBASE_FILES
+    showBase.cxx
+    showBase.h)
+set(P3SHOWBASE_EXTRA_ARGS "")
+if(IS_OSX) 
+  list(APPEND P3SHOWBASE_FILES showBase_assist.mm)
+  set(P3SHOWBASE_EXTRA_ARGS "-ObjC++")
+endif()
+
+add_component_library(p3showbase SYMBOL BUILDING_DIRECT_SHOWBASE ${P3SHOWBASE_FILES})
+set_target_properties(p3showbase PROPERTIES COMPILE_FLAGS ${P3SHOWBASE_EXTRA_ARGS})
 target_link_libraries(p3showbase p3directbase panda)
 target_interrogate(p3showbase ALL)
 

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

@@ -35,6 +35,8 @@ set(P3DTOOLUTIL_HEADERS
 if(APPLE)
   set(P3DTOOLUTIL_HEADERS ${P3DTOOLUTIL_HEADERS}
     filename_assist.mm filename_assist.h)
+  set(P3DTOOLUTIL_EXTRA_FLAGS "-ObjC++")
+  set_source_files_properties(filename_assist.mm filename_assist.h PROPERTIES WRAP_EXCLUDE YES)
 endif()
 
 set(P3DTOOLUTIL_SOURCES
@@ -73,6 +75,7 @@ composite_sources(p3dtoolutil P3DTOOLUTIL_SOURCES)
 
 add_component_library(p3dtoolutil SYMBOL BUILDING_DTOOL_DTOOLUTIL
   ${P3DTOOLUTIL_HEADERS} ${P3DTOOLUTIL_SOURCES})
+set_target_properties(p3dtoolutil PROPERTIES COMPILE_FLAGS ${P3DTOOLUTIL_EXTRA_FLAGS})
 target_include_directories(p3dtoolutil PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
 # The extensions need py_panda.h and extension.h from interrogatedb
 target_include_directories(p3dtoolutil PUBLIC

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

@@ -77,6 +77,7 @@ target_include_directories(p3prc PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
 target_include_directories(p3prc PUBLIC
   $<TARGET_PROPERTY:p3interrogatedb,INTERFACE_INCLUDE_DIRECTORIES>)
 target_link_libraries(p3prc p3dtool ${_OPENSSL_LIBRARIES})
+target_use_packages(p3prc OPENSSL)
 target_interrogate(p3prc ALL EXTENSIONS ${P3PRC_IGATEEXT})
 
 install(TARGETS p3prc DESTINATION lib)

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

@@ -19,7 +19,7 @@ if(HAVE_GL)
   if(HAVE_COCOA)
     set(PANDAGL_LINK_TARGETS ${PANDAGL_LINK_TARGETS} p3cocoadisplay)
   endif()
-
+  
   if(HAVE_CARBON)
     set(PANDAGL_LINK_TARGETS ${PANDAGL_LINK_TARGETS} p3osxdisplay)
   endif()

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

@@ -7,7 +7,8 @@ set(P3COCOADISPLAY_HEADERS
     cocoaGraphicsPipe.h cocoaGraphicsPipe.I
     cocoaGraphicsWindow.h cocoaGraphicsWindow.I
     cocoaGraphicsStateGuardian.h cocoaGraphicsStateGuardian.I
-    cocoaPandaApp.h cocoaPandaView.h cocoaPandaWindowDelegate.h)
+    cocoaPandaApp.h cocoaPandaView.h cocoaPandaWindowDelegate.h
+    cocoaPandaAppDelegate.h)
 
 set(P3COCOADISPLAY_SOURCES
     config_cocoadisplay.mm
@@ -18,11 +19,12 @@ set(P3COCOADISPLAY_SOURCES
     cocoaPandaApp.mm
     cocoaPandaView.mm
     cocoaPandaWindow.mm
-    cocoaPandaWindowDelegate.mm)
+    cocoaPandaWindowDelegate.mm
+    cocoaPandaAppDelegate.mm)
 
-#composite_sources(p3cocoadisplay P3COCOADISPLAY_SOURCES)
-add_library(p3cocoadisplay ${P3COCOADISPLAY_HEADERS} ${P3COCOADISPLAY_SOURCES})
-set_target_properties(p3cocoadisplay PROPERTIES DEFINE_SYMBOL BUILDING_PANDAGL)
+composite_sources(p3cocoadisplay P3COCOADISPLAY_SOURCES)
+add_component_library(p3cocoadisplay ${P3COCOADISPLAY_HEADERS} ${P3COCOADISPLAY_SOURCES})
+set_target_properties(p3cocoadisplay PROPERTIES DEFINE_SYMBOL BUILDING_PANDAGL COMPILE_FLAGS "-ObjC++")
 target_link_libraries(p3cocoadisplay p3display p3putil p3glgsg)
 
 # Frameworks:
@@ -31,5 +33,3 @@ find_library(APPKIT_LIBRARY AppKit)
 find_library(CARBON_LIBRARY Carbon)
 target_link_libraries(p3cocoadisplay
   ${APPLICATIONSERVICES_LIBRARY} ${APPKIT_LIBRARY} ${CARBON_LIBRARY})
-
-install(TARGETS p3cocoadisplay DESTINATION lib)

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

@@ -90,6 +90,7 @@ composite_sources(p3display P3DISPLAY_SOURCES)
 add_component_library(p3display SYMBOL BUILDING_PANDA_DISPLAY
   ${P3DISPLAY_HEADERS} ${P3DISPLAY_SOURCES})
 target_link_libraries(p3display p3cull p3pgraphnodes)
+target_use_packages(p3display X11)
 target_interrogate(p3display ALL EXTENSIONS ${P3DISPLAY_IGATEEXT})
 
 install(TARGETS p3display DESTINATION lib)

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

@@ -151,7 +151,7 @@ add_component_library(p3express SYMBOL BUILDING_PANDAEXPRESS
 target_include_directories(p3express PUBLIC
   $<TARGET_PROPERTY:p3interrogatedb,INTERFACE_INCLUDE_DIRECTORIES>)
 target_link_libraries(p3express p3pandabase p3dtoolconfig p3dtool)
-target_use_packages(p3express TAR ZLIB)
+target_use_packages(p3express TAR ZLIB OPENSSL)
 target_interrogate(p3express ALL EXTENSIONS ${P3EXPRESS_IGATEEXT})
 
 if(WIN32)

+ 2 - 4
panda/src/osxdisplay/CMakeLists.txt

@@ -13,8 +13,8 @@ set(P3OSXDISPLAY_SOURCES
     osxGraphicsBuffer.cxx)
 
 composite_sources(p3osxdisplay P3OSXDISPLAY_SOURCES)
-add_library(p3osxdisplay ${P3OSXDISPLAY_HEADERS} ${P3OSXDISPLAY_SOURCES})
-set_target_properties(p3osxdisplay PROPERTIES DEFINE_SYMBOL BUILDING_PANDAGL)
+add_component_library(p3osxdisplay ${P3OSXDISPLAY_HEADERS} ${P3OSXDISPLAY_SOURCES})
+set_target_properties(p3osxdisplay PROPERTIES DEFINE_SYMBOL BUILDING_PANDAGL COMPILE_FLAGS "-ObjC++")
 target_link_libraries(p3osxdisplay p3display p3putil p3glgsg)
 
 # Frameworks:
@@ -26,5 +26,3 @@ find_library(COCOA_LIBRARY Cocoa)
 target_link_libraries(p3osxdisplay
   ${APPLICATIONSERVICES_LIBRARY} ${CARBON_LIBRARY} ${AGL_LIBRARY}
   ${CORESERVICES_LIBRARY} ${COCOA_LIBRARY})
-
-install(TARGETS p3osxdisplay DESTINATION lib)