mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2025-12-20 17:26:01 +08:00
61 lines
2.1 KiB
CMake
61 lines
2.1 KiB
CMake
cmake_minimum_required(VERSION 3.6)
|
|
|
|
project(spine-cocos2dx-example)
|
|
|
|
set(EXAMPLE_DIR "${CMAKE_CURRENT_LIST_DIR}/example")
|
|
option(USE_COCOS2DX_V4 "Use cocos2d-x version 4.0+" OFF)
|
|
|
|
if(USE_COCOS2DX_V4)
|
|
set(COCOS_FOLDER_NAME "cocos2d-x-4.0")
|
|
set(COCOS_DOWNLOAD_URL "https://download.cocos.com/Cocos2D-X/${COCOS_FOLDER_NAME}.zip")
|
|
set(COCOS_SHORT_VERSION "v4")
|
|
set(EXAMPLE_DIR "${CMAKE_CURRENT_LIST_DIR}/example-v4")
|
|
else()
|
|
set(COCOS_FOLDER_NAME "cocos2d-x-3.17.2")
|
|
set(COCOS_DOWNLOAD_URL "http://download.cocos.com/Cocos2D-X/${COCOS_FOLDER_NAME}.zip")
|
|
set(COCOS_SHORT_VERSION "v3")
|
|
endif()
|
|
|
|
if((NOT ${COCOS_CURRENT_VERSION} STREQUAL ${COCOS_SHORT_VERSION}) AND (NOT ${COCOS_CURRENT_VERSION} STREQUAL ""))
|
|
message(STATUS "Target Cocos2d-x version ${COCOS_SHORT_VERSION}, current ${COCOS_CURRENT_VERSION}")
|
|
message(STATUS "remove current folder ${EXAMPLE_DIR}/cocos2d")
|
|
file(REMOVE_RECURSE ${EXAMPLE_DIR}/cocos2d ${EXAMPLE_DIR}/cocos2dx.zip)
|
|
endif()
|
|
|
|
if (NOT EXISTS ${EXAMPLE_DIR}/cocos2d)
|
|
|
|
if(NOT EXISTS ${EXAMPLE_DIR}/cocos2dx.zip)
|
|
message(STATUS "Downloading cocos2dx ${COCOS_SHORT_VERSION}, this may take some time!")
|
|
# download cocos2d-x package
|
|
file(DOWNLOAD ${COCOS_DOWNLOAD_URL} "${EXAMPLE_DIR}/cocos2dx.zip" SHOW_PROGRESS)
|
|
else()
|
|
message(STATUS "${EXAMPLE_DIR}/cocos2dx.zip found!")
|
|
endif()
|
|
|
|
|
|
# untar
|
|
message(STATUS "untar ${EXAMPLE_DIR}/cocos2dx.zip ...")
|
|
execute_process(
|
|
COMMAND ${CMAKE_COMMAND} -E tar x ${EXAMPLE_DIR}/cocos2dx.zip
|
|
WORKING_DIRECTORY ${EXAMPLE_DIR}
|
|
)
|
|
# rename folder
|
|
execute_process(
|
|
COMMAND ${CMAKE_COMMAND} -E rename
|
|
"${EXAMPLE_DIR}/${COCOS_FOLDER_NAME}" "${EXAMPLE_DIR}/cocos2d"
|
|
)
|
|
|
|
set(COCOS_CURRENT_VERSION ${COCOS_SHORT_VERSION} CACHE STRING "update current version" FORCE)
|
|
|
|
# remove spine source code in cocos2d-x's source tree
|
|
execute_process(
|
|
COMMAND ${CMAKE_COMMAND} -E remove_directory "${EXAMPLE_DIR}/cocos2d/cocos/editor-support/spine"
|
|
COMMAND ${CMAKE_COMMAND} -E make_directory "${EXAMPLE_DIR}/cocos2d/cocos/editor-support/spine"
|
|
)
|
|
else()
|
|
message(STATUS "${EXAMPLE_DIR}/cocos2d is already exists, current version ${COCOS_SHORT_VERSION}.")
|
|
endif()
|
|
|
|
if(USE_COCOS2DX_V4)
|
|
add_subdirectory("${EXAMPLE_DIR}")
|
|
endif() |