ソースを参照

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 11 年 前
コミット
1351819810
1 ファイル変更4 行追加3 行削除
  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++")