CocosConfigDepend.cmake 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. macro(cocos2dx_depend)
  2. # confim the libs, prepare to link
  3. set(PLATFORM_SPECIFIC_LIBS)
  4. if(WINDOWS)
  5. list(APPEND PLATFORM_SPECIFIC_LIBS ws2_32 userenv psapi winmm Version Iphlpapi opengl32)
  6. elseif(LINUX)
  7. # need review those libs: X11 Xi Xrandr Xxf86vm Xinerama Xcursor rt m
  8. list(APPEND PLATFORM_SPECIFIC_LIBS dl X11 Xi Xrandr Xxf86vm Xinerama Xcursor rt m)
  9. # use older cmake style on below linux libs
  10. cocos_find_package(Fontconfig FONTCONFIG REQUIRED)
  11. cocos_find_package(GTK3 GTK3 REQUIRED)
  12. cocos_find_package(ZLIB ZLIB REQUIRED)
  13. cocos_find_package(PNG PNG REQUIRED)
  14. cocos_find_package(GLEW GLEW REQUIRED)
  15. cocos_find_package(OpenGL OPENGL REQUIRED)
  16. cocos_find_package(CURL CURL REQUIRED)
  17. cocos_find_package(SQLite3 SQLITE3 REQUIRED)
  18. set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
  19. find_package(Threads REQUIRED)
  20. set(THREADS_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
  21. elseif(ANDROID)
  22. list(APPEND PLATFORM_SPECIFIC_LIBS GLESv2 EGL log android OpenSLES)
  23. elseif(APPLE)
  24. include_directories(/System/Library/Frameworks)
  25. find_library(ICONV_LIBRARY iconv)
  26. find_library(AUDIOTOOLBOX_LIBRARY AudioToolbox)
  27. find_library(FOUNDATION_LIBRARY Foundation)
  28. find_library(OPENAL_LIBRARY OpenAL)
  29. find_library(QUARTZCORE_LIBRARY QuartzCore)
  30. find_library(GAMECONTROLLER_LIBRARY GameController)
  31. set(COCOS_APPLE_LIBS
  32. ${OPENAL_LIBRARY}
  33. ${AUDIOTOOLBOX_LIBRARY}
  34. ${QUARTZCORE_LIBRARY}
  35. ${FOUNDATION_LIBRARY}
  36. ${ICONV_LIBRARY}
  37. ${GAMECONTROLLER_LIBRARY}
  38. )
  39. if(BUILD_JS_LIBS)
  40. find_library(SQLITE3_LIBRARY SQLite3)
  41. list(APPEND COCOS_APPLE_LIBS ${SQLITE3_LIBRARY})
  42. endif()
  43. if(MACOSX)
  44. list(APPEND PREBUILT_SPECIFIC_LIBS GLFW3)
  45. find_library(COCOA_LIBRARY Cocoa)
  46. find_library(OPENGL_LIBRARY OpenGL)
  47. find_library(APPLICATIONSERVICES_LIBRARY ApplicationServices)
  48. find_library(IOKIT_LIBRARY IOKit)
  49. find_library(APPKIT_LIBRARY AppKit)
  50. list(APPEND PLATFORM_SPECIFIC_LIBS
  51. ${COCOA_LIBRARY}
  52. ${OPENGL_LIBRARY}
  53. ${APPLICATIONSERVICES_LIBRARY}
  54. ${IOKIT_LIBRARY}
  55. ${COCOS_APPLE_LIBS}
  56. ${APPKIT_LIBRARY}
  57. )
  58. elseif(IOS)
  59. # Locate system libraries on iOS
  60. find_library(UIKIT_LIBRARY UIKit)
  61. find_library(OPENGLES_LIBRARY OpenGLES)
  62. find_library(CORE_MOTION_LIBRARY CoreMotion)
  63. find_library(MEDIA_PLAYER_LIBRARY MediaPlayer)
  64. find_library(CORE_TEXT_LIBRARY CoreText)
  65. find_library(SECURITY_LIBRARY Security)
  66. find_library(CORE_GRAPHICS_LIBRARY CoreGraphics)
  67. find_library(AV_FOUNDATION_LIBRARY AVFoundation)
  68. find_library(Z_LIBRARY z)
  69. list(APPEND PLATFORM_SPECIFIC_LIBS
  70. ${UIKIT_LIBRARY}
  71. ${OPENGLES_LIBRARY}
  72. ${CORE_MOTION_LIBRARY}
  73. ${MEDIA_PLAYER_LIBRARY}
  74. ${CORE_TEXT_LIBRARY}
  75. ${SECURITY_LIBRARY}
  76. ${CORE_GRAPHICS_LIBRARY}
  77. ${AV_FOUNDATION_LIBRARY}
  78. ${Z_LIBRARY}
  79. ${COCOS_APPLE_LIBS}
  80. )
  81. endif()
  82. endif()
  83. endmacro()
  84. macro(use_cocos2dx_libs_depend target)
  85. cocos2dx_depend()
  86. foreach(platform_lib ${PLATFORM_SPECIFIC_LIBS})
  87. target_link_libraries(${target} ${platform_lib})
  88. endforeach()
  89. if(LINUX)
  90. cocos_use_pkg(${target} FONTCONFIG)
  91. cocos_use_pkg(${target} GTK3)
  92. cocos_use_pkg(${target} ZLIB)
  93. cocos_use_pkg(${target} PNG)
  94. cocos_use_pkg(${target} GLEW)
  95. cocos_use_pkg(${target} OPENGL)
  96. cocos_use_pkg(${target} CURL)
  97. cocos_use_pkg(${target} THREADS)
  98. cocos_use_pkg(${target} SQLITE3)
  99. endif()
  100. endmacro()