Explorar el Código

Link Cocoa, IOKit and CoreVideo on OSX

These are implicitly linked by Xcode, but with this, you can also build it with any other generator, which does not have this behavior.

CoreFoundation is included as a part of Cocoa (which is an umbrella framework), and Cocoa is generally recommended to link against, rather than its individual components (CoreFoundation, Foundation, libobjc, ...).
Johannes Ekberg hace 11 años
padre
commit
1351819810
Se han modificado 1 ficheros con 4 adiciones y 3 borrados
  1. 4 3
      CMakeLists.txt

+ 4 - 3
CMakeLists.txt

@@ -106,9 +106,10 @@ if (ENABLE_GLFW)
 endif()
 
 IF (APPLE)
-    # CoreFoundation is required only on OSX
-    FIND_LIBRARY(COREFOUNDATION_LIBRARY CoreFoundation)
-    SET(PLATFORM_LIBRARIES iconv ${COREFOUNDATION_LIBRARY})
+    FIND_LIBRARY(COCOA_LIBRARY Cocoa)           # Umbrella framework for everything GUI-related
+    FIND_LIBRARY(IOKIT_LIBRARY IOKit)           # GLFW dependency
+    FIND_LIBRARY(COREVIDEO_LIBRARY CoreVideo)   # GLFW dependency
+    set(PLATFORM_LIBRARIES iconv ${COCOA_LIBRARY} ${IOKIT_LIBRARY} ${COREVIDEO_LIBRARY})
     
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
     set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++")