2018-09-25 11:16:04 +08:00
|
|
|
macro(cocos2dx_depend)
|
2018-05-02 15:33:01 +08:00
|
|
|
# confim the libs, prepare to link
|
|
|
|
set(PLATFORM_SPECIFIC_LIBS)
|
|
|
|
|
|
|
|
if(WINDOWS)
|
2018-09-25 11:16:04 +08:00
|
|
|
list(APPEND PLATFORM_SPECIFIC_LIBS ws2_32 userenv psapi winmm Version Iphlpapi opengl32)
|
2018-05-02 15:33:01 +08:00
|
|
|
elseif(LINUX)
|
|
|
|
# need review those libs: X11 Xi Xrandr Xxf86vm Xinerama Xcursor rt m
|
|
|
|
list(APPEND PLATFORM_SPECIFIC_LIBS dl X11 Xi Xrandr Xxf86vm Xinerama Xcursor rt m)
|
2018-09-25 11:16:04 +08:00
|
|
|
# use older cmake style on below linux libs
|
|
|
|
cocos_find_package(Fontconfig FONTCONFIG REQUIRED)
|
|
|
|
cocos_find_package(GTK3 GTK3 REQUIRED)
|
|
|
|
cocos_find_package(ZLIB ZLIB REQUIRED)
|
|
|
|
cocos_find_package(PNG PNG REQUIRED)
|
|
|
|
cocos_find_package(GLEW GLEW REQUIRED)
|
|
|
|
cocos_find_package(OpenGL OPENGL REQUIRED)
|
|
|
|
cocos_find_package(CURL CURL REQUIRED)
|
|
|
|
cocos_find_package(SQLite3 SQLITE3 REQUIRED)
|
|
|
|
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
|
|
|
|
find_package(Threads REQUIRED)
|
|
|
|
set(THREADS_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
|
2018-05-02 15:33:01 +08:00
|
|
|
elseif(ANDROID)
|
|
|
|
list(APPEND PLATFORM_SPECIFIC_LIBS GLESv2 EGL log android OpenSLES)
|
|
|
|
elseif(APPLE)
|
|
|
|
|
|
|
|
include_directories(/System/Library/Frameworks)
|
|
|
|
find_library(ICONV_LIBRARY iconv)
|
|
|
|
find_library(AUDIOTOOLBOX_LIBRARY AudioToolbox)
|
|
|
|
find_library(FOUNDATION_LIBRARY Foundation)
|
|
|
|
find_library(OPENAL_LIBRARY OpenAL)
|
|
|
|
find_library(QUARTZCORE_LIBRARY QuartzCore)
|
2018-07-11 09:40:18 +08:00
|
|
|
find_library(GAMECONTROLLER_LIBRARY GameController)
|
2018-05-02 15:33:01 +08:00
|
|
|
set(COCOS_APPLE_LIBS
|
|
|
|
${OPENAL_LIBRARY}
|
|
|
|
${AUDIOTOOLBOX_LIBRARY}
|
|
|
|
${QUARTZCORE_LIBRARY}
|
|
|
|
${FOUNDATION_LIBRARY}
|
|
|
|
${ICONV_LIBRARY}
|
2018-07-11 09:40:18 +08:00
|
|
|
${GAMECONTROLLER_LIBRARY}
|
2018-05-02 15:33:01 +08:00
|
|
|
)
|
|
|
|
|
2018-09-25 11:16:04 +08:00
|
|
|
if(BUILD_JS_LIBS)
|
|
|
|
find_library(SQLITE3_LIBRARY SQLite3)
|
|
|
|
list(APPEND COCOS_APPLE_LIBS ${SQLITE3_LIBRARY})
|
|
|
|
endif()
|
|
|
|
|
2018-05-02 15:33:01 +08:00
|
|
|
if(MACOSX)
|
|
|
|
list(APPEND PREBUILT_SPECIFIC_LIBS GLFW3)
|
|
|
|
|
|
|
|
find_library(COCOA_LIBRARY Cocoa)
|
|
|
|
find_library(OPENGL_LIBRARY OpenGL)
|
|
|
|
find_library(APPLICATIONSERVICES_LIBRARY ApplicationServices)
|
|
|
|
find_library(IOKIT_LIBRARY IOKit)
|
2018-09-25 11:16:04 +08:00
|
|
|
find_library(APPKIT_LIBRARY AppKit)
|
2018-05-02 15:33:01 +08:00
|
|
|
list(APPEND PLATFORM_SPECIFIC_LIBS
|
|
|
|
${COCOA_LIBRARY}
|
|
|
|
${OPENGL_LIBRARY}
|
|
|
|
${APPLICATIONSERVICES_LIBRARY}
|
|
|
|
${IOKIT_LIBRARY}
|
|
|
|
${COCOS_APPLE_LIBS}
|
2018-09-25 11:16:04 +08:00
|
|
|
${APPKIT_LIBRARY}
|
2018-05-02 15:33:01 +08:00
|
|
|
)
|
|
|
|
elseif(IOS)
|
|
|
|
# Locate system libraries on iOS
|
|
|
|
find_library(UIKIT_LIBRARY UIKit)
|
|
|
|
find_library(OPENGLES_LIBRARY OpenGLES)
|
|
|
|
find_library(CORE_MOTION_LIBRARY CoreMotion)
|
|
|
|
find_library(MEDIA_PLAYER_LIBRARY MediaPlayer)
|
|
|
|
find_library(CORE_TEXT_LIBRARY CoreText)
|
|
|
|
find_library(SECURITY_LIBRARY Security)
|
|
|
|
find_library(CORE_GRAPHICS_LIBRARY CoreGraphics)
|
|
|
|
find_library(AV_FOUNDATION_LIBRARY AVFoundation)
|
|
|
|
find_library(Z_LIBRARY z)
|
|
|
|
list(APPEND PLATFORM_SPECIFIC_LIBS
|
|
|
|
${UIKIT_LIBRARY}
|
|
|
|
${OPENGLES_LIBRARY}
|
|
|
|
${CORE_MOTION_LIBRARY}
|
|
|
|
${MEDIA_PLAYER_LIBRARY}
|
|
|
|
${CORE_TEXT_LIBRARY}
|
|
|
|
${SECURITY_LIBRARY}
|
|
|
|
${CORE_GRAPHICS_LIBRARY}
|
|
|
|
${AV_FOUNDATION_LIBRARY}
|
|
|
|
${Z_LIBRARY}
|
|
|
|
${COCOS_APPLE_LIBS}
|
|
|
|
)
|
|
|
|
endif()
|
cmake support win32 ,and support generate&use prebuilt libs (#18683)
* fix win32 prebuilt error, and set cmake as default android native build
* cpp-template support msvc
* add msvc version check
* add -D_USRLUASTATIC, fix lua lib cmake compile error
* fix cpp-empty-test res copy dir, add function needed
* improve msvc res copy
* refactor cmake copy dll logic
* fix cpp-tests compile error
* refactor copy dll temp
* refactor win32 exe using dlls
* js-project compile support cmake using msvc
* improve res mark for win32
* update the way of lua project res mark
* add D_USRLUASTATIC for lua project
* unify RELEASE Release to Release, add CMAKE_CONFIGURATION_TYPES
* improve VS shows targets, add folder
* improve mac/ios res mark
* reduce useless comments
* unify cpp src include variable
* refactor cpp test project package logic
* improve pkg app logic
* start support prebuilt libs for cpp project using cmake
* improve prebuilt libs generate
* expand js/lua support prebuilt libs on mac
* adapt IDE generate libs path
* start do prebuilt for android
* improve the way of using external libs for prebuilt
* prebuilt libs support cpp-empty-test on android studio
* cpp-tests prebuilt libs, and remove useless
* start to improve libs using, to adapt prebuilt
* improve cpp tests prebuilt on android
* prebuilt support lua & js test on android
* prebuilt support cpp&js template
* rename prebuilt variabl, detail androd config
* finish android support prebuilt using cmake
* fix cmake script run in windows error
* reduce variable name length
* improve the way of win32 use dlls to adapt prebuilt
* loosen pick js/lua engine lib condition
* self review and start check linux build
* unify compile option location
* strict copy dlls condition
* improve libs link order
* start redo the way of copy dlls
* unify dlls copy logic
* fix linux res copy error
* update cmake copy file path in linux
* make prebuilt dir if needed, and divide Debug and Release dir
* cmake win32 divide Debug and Release dir well
* comment Lua Template project, for the unfinished lua simulator support
* add simulator cmake file
* start support simulator
* simulator support cmake build on macOS
* fix simulator compile error on win32
* add simulator prebuilt support
* improve mark cocos app macro
* improve cmake template project format
* improve cmake app files format
* fix format improve mistake
* detail cmake readme
* improve readme, useless comments
* add game.rc to template project
* check travis openssl version
* try update travis openssl
* upgrade travis openssl
* change openssl link
* change to upgrade openssl
* re install python with upgrade openssl
* add comment for macro and func, improve variable name
2018-03-08 09:47:57 +08:00
|
|
|
endif()
|
2018-09-25 11:16:04 +08:00
|
|
|
endmacro()
|
2018-05-02 15:33:01 +08:00
|
|
|
|
2018-09-25 11:16:04 +08:00
|
|
|
macro(cocos2dx_define)
|
|
|
|
|
2018-05-02 15:33:01 +08:00
|
|
|
if(USE_JPEG)
|
|
|
|
add_definitions(-DCC_USE_JPEG=1)
|
|
|
|
else()
|
|
|
|
add_definitions(-DCC_USE_JPEG=0)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(USE_WEBP)
|
|
|
|
add_definitions(-DCC_USE_WEBP=1)
|
|
|
|
else()
|
|
|
|
add_definitions(-DCC_USE_WEBP=0)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(USE_TIFF)
|
|
|
|
add_definitions(-DCC_USE_TIFF=1)
|
|
|
|
else()
|
|
|
|
add_definitions(-DCC_USE_TIFF=0)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(USE_PNG)
|
|
|
|
add_definitions(-DCC_USE_PNG=1)
|
|
|
|
else()
|
|
|
|
add_definitions(-DCC_USE_PNG=0)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(USE_CHIPMUNK)
|
|
|
|
add_definitions(-DCC_USE_PHYSICS=1)
|
|
|
|
add_definitions(-DCC_ENABLE_CHIPMUNK_INTEGRATION=1)
|
|
|
|
else()
|
|
|
|
add_definitions(-DCC_USE_PHYSICS=0)
|
|
|
|
add_definitions(-DCC_ENABLE_CHIPMUNK_INTEGRATION=0)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(USE_BOX2D)
|
|
|
|
add_definitions(-DCC_ENABLE_BOX2D_INTEGRATION=1)
|
|
|
|
else()
|
|
|
|
add_definitions(-DCC_ENABLE_BOX2D_INTEGRATION=0)
|
|
|
|
endif(USE_BOX2D)
|
|
|
|
|
|
|
|
if(USE_BULLET)
|
|
|
|
add_definitions(-DCC_USE_3D_PHYSICS=1)
|
|
|
|
add_definitions(-DCC_ENABLE_BULLET_INTEGRATION=1)
|
|
|
|
else(USE_BULLET)
|
|
|
|
add_definitions(-DCC_USE_3D_PHYSICS=0)
|
|
|
|
add_definitions(-DCC_ENABLE_BULLET_INTEGRATION=0)
|
|
|
|
endif(USE_BULLET)
|
|
|
|
|
2018-09-25 11:16:04 +08:00
|
|
|
# tocheck, libuv option
|
|
|
|
add_definitions(-DLWS_WITH_LIBUV)
|
cmake support win32 ,and support generate&use prebuilt libs (#18683)
* fix win32 prebuilt error, and set cmake as default android native build
* cpp-template support msvc
* add msvc version check
* add -D_USRLUASTATIC, fix lua lib cmake compile error
* fix cpp-empty-test res copy dir, add function needed
* improve msvc res copy
* refactor cmake copy dll logic
* fix cpp-tests compile error
* refactor copy dll temp
* refactor win32 exe using dlls
* js-project compile support cmake using msvc
* improve res mark for win32
* update the way of lua project res mark
* add D_USRLUASTATIC for lua project
* unify RELEASE Release to Release, add CMAKE_CONFIGURATION_TYPES
* improve VS shows targets, add folder
* improve mac/ios res mark
* reduce useless comments
* unify cpp src include variable
* refactor cpp test project package logic
* improve pkg app logic
* start support prebuilt libs for cpp project using cmake
* improve prebuilt libs generate
* expand js/lua support prebuilt libs on mac
* adapt IDE generate libs path
* start do prebuilt for android
* improve the way of using external libs for prebuilt
* prebuilt libs support cpp-empty-test on android studio
* cpp-tests prebuilt libs, and remove useless
* start to improve libs using, to adapt prebuilt
* improve cpp tests prebuilt on android
* prebuilt support lua & js test on android
* prebuilt support cpp&js template
* rename prebuilt variabl, detail androd config
* finish android support prebuilt using cmake
* fix cmake script run in windows error
* reduce variable name length
* improve the way of win32 use dlls to adapt prebuilt
* loosen pick js/lua engine lib condition
* self review and start check linux build
* unify compile option location
* strict copy dlls condition
* improve libs link order
* start redo the way of copy dlls
* unify dlls copy logic
* fix linux res copy error
* update cmake copy file path in linux
* make prebuilt dir if needed, and divide Debug and Release dir
* cmake win32 divide Debug and Release dir well
* comment Lua Template project, for the unfinished lua simulator support
* add simulator cmake file
* start support simulator
* simulator support cmake build on macOS
* fix simulator compile error on win32
* add simulator prebuilt support
* improve mark cocos app macro
* improve cmake template project format
* improve cmake app files format
* fix format improve mistake
* detail cmake readme
* improve readme, useless comments
* add game.rc to template project
* check travis openssl version
* try update travis openssl
* upgrade travis openssl
* change openssl link
* change to upgrade openssl
* re install python with upgrade openssl
* add comment for macro and func, improve variable name
2018-03-08 09:47:57 +08:00
|
|
|
endmacro()
|
|
|
|
|
|
|
|
|
2018-09-25 11:16:04 +08:00
|
|
|
macro(target_use_cocos2dx_depend target)
|
|
|
|
cocos2dx_depend()
|
|
|
|
cocos2dx_define()
|
|
|
|
message(STATUS "${target} prepare to use system depend: ${PLATFORM_SPECIFIC_LIBS}")
|
2018-05-02 15:33:01 +08:00
|
|
|
foreach(platform_lib ${PLATFORM_SPECIFIC_LIBS})
|
|
|
|
target_link_libraries(${target} ${platform_lib})
|
|
|
|
endforeach()
|
cmake support win32 ,and support generate&use prebuilt libs (#18683)
* fix win32 prebuilt error, and set cmake as default android native build
* cpp-template support msvc
* add msvc version check
* add -D_USRLUASTATIC, fix lua lib cmake compile error
* fix cpp-empty-test res copy dir, add function needed
* improve msvc res copy
* refactor cmake copy dll logic
* fix cpp-tests compile error
* refactor copy dll temp
* refactor win32 exe using dlls
* js-project compile support cmake using msvc
* improve res mark for win32
* update the way of lua project res mark
* add D_USRLUASTATIC for lua project
* unify RELEASE Release to Release, add CMAKE_CONFIGURATION_TYPES
* improve VS shows targets, add folder
* improve mac/ios res mark
* reduce useless comments
* unify cpp src include variable
* refactor cpp test project package logic
* improve pkg app logic
* start support prebuilt libs for cpp project using cmake
* improve prebuilt libs generate
* expand js/lua support prebuilt libs on mac
* adapt IDE generate libs path
* start do prebuilt for android
* improve the way of using external libs for prebuilt
* prebuilt libs support cpp-empty-test on android studio
* cpp-tests prebuilt libs, and remove useless
* start to improve libs using, to adapt prebuilt
* improve cpp tests prebuilt on android
* prebuilt support lua & js test on android
* prebuilt support cpp&js template
* rename prebuilt variabl, detail androd config
* finish android support prebuilt using cmake
* fix cmake script run in windows error
* reduce variable name length
* improve the way of win32 use dlls to adapt prebuilt
* loosen pick js/lua engine lib condition
* self review and start check linux build
* unify compile option location
* strict copy dlls condition
* improve libs link order
* start redo the way of copy dlls
* unify dlls copy logic
* fix linux res copy error
* update cmake copy file path in linux
* make prebuilt dir if needed, and divide Debug and Release dir
* cmake win32 divide Debug and Release dir well
* comment Lua Template project, for the unfinished lua simulator support
* add simulator cmake file
* start support simulator
* simulator support cmake build on macOS
* fix simulator compile error on win32
* add simulator prebuilt support
* improve mark cocos app macro
* improve cmake template project format
* improve cmake app files format
* fix format improve mistake
* detail cmake readme
* improve readme, useless comments
* add game.rc to template project
* check travis openssl version
* try update travis openssl
* upgrade travis openssl
* change openssl link
* change to upgrade openssl
* re install python with upgrade openssl
* add comment for macro and func, improve variable name
2018-03-08 09:47:57 +08:00
|
|
|
|
2018-09-25 11:16:04 +08:00
|
|
|
if(LINUX)
|
|
|
|
cocos_use_pkg(${target} FONTCONFIG)
|
|
|
|
cocos_use_pkg(${target} GTK3)
|
|
|
|
cocos_use_pkg(${target} ZLIB)
|
|
|
|
cocos_use_pkg(${target} PNG)
|
|
|
|
cocos_use_pkg(${target} GLEW)
|
|
|
|
cocos_use_pkg(${target} OPENGL)
|
|
|
|
cocos_use_pkg(${target} CURL)
|
|
|
|
cocos_use_pkg(${target} THREADS)
|
|
|
|
cocos_use_pkg(${target} SQLITE3)
|
2018-05-02 15:33:01 +08:00
|
|
|
endif()
|
cmake support win32 ,and support generate&use prebuilt libs (#18683)
* fix win32 prebuilt error, and set cmake as default android native build
* cpp-template support msvc
* add msvc version check
* add -D_USRLUASTATIC, fix lua lib cmake compile error
* fix cpp-empty-test res copy dir, add function needed
* improve msvc res copy
* refactor cmake copy dll logic
* fix cpp-tests compile error
* refactor copy dll temp
* refactor win32 exe using dlls
* js-project compile support cmake using msvc
* improve res mark for win32
* update the way of lua project res mark
* add D_USRLUASTATIC for lua project
* unify RELEASE Release to Release, add CMAKE_CONFIGURATION_TYPES
* improve VS shows targets, add folder
* improve mac/ios res mark
* reduce useless comments
* unify cpp src include variable
* refactor cpp test project package logic
* improve pkg app logic
* start support prebuilt libs for cpp project using cmake
* improve prebuilt libs generate
* expand js/lua support prebuilt libs on mac
* adapt IDE generate libs path
* start do prebuilt for android
* improve the way of using external libs for prebuilt
* prebuilt libs support cpp-empty-test on android studio
* cpp-tests prebuilt libs, and remove useless
* start to improve libs using, to adapt prebuilt
* improve cpp tests prebuilt on android
* prebuilt support lua & js test on android
* prebuilt support cpp&js template
* rename prebuilt variabl, detail androd config
* finish android support prebuilt using cmake
* fix cmake script run in windows error
* reduce variable name length
* improve the way of win32 use dlls to adapt prebuilt
* loosen pick js/lua engine lib condition
* self review and start check linux build
* unify compile option location
* strict copy dlls condition
* improve libs link order
* start redo the way of copy dlls
* unify dlls copy logic
* fix linux res copy error
* update cmake copy file path in linux
* make prebuilt dir if needed, and divide Debug and Release dir
* cmake win32 divide Debug and Release dir well
* comment Lua Template project, for the unfinished lua simulator support
* add simulator cmake file
* start support simulator
* simulator support cmake build on macOS
* fix simulator compile error on win32
* add simulator prebuilt support
* improve mark cocos app macro
* improve cmake template project format
* improve cmake app files format
* fix format improve mistake
* detail cmake readme
* improve readme, useless comments
* add game.rc to template project
* check travis openssl version
* try update travis openssl
* upgrade travis openssl
* change openssl link
* change to upgrade openssl
* re install python with upgrade openssl
* add comment for macro and func, improve variable name
2018-03-08 09:47:57 +08:00
|
|
|
endmacro()
|
|
|
|
|