axmol/CMakeLists.txt

394 lines
13 KiB
CMake
Raw Normal View History

#/****************************************************************************
# Copyright (c) 2013 cocos2d-x.org
2014-08-06 22:43:19 +08:00
# Copyright (c) 2014 martell malone
Squashed commit of the following: commit 59e43a3c80f4af8998e4a14f6463bd7a91617d5f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 15:19:48 2016 -0800 uses new naming convention for projects uses _ instead of - commit f97ba56608d48b17909649c8617ba9047b566196 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:49:22 2016 -0800 fooling cmake for real commit 20c2560f75eab952e5131b484284bf20cb07fe07 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:43:05 2016 -0800 fooling cmake commit a0ada44bc82941830f6c71219a1492d28c28c306 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:26:59 2016 -0800 makes CMake for Mac happy commit 656b4f5e2dd741215a4699db979fe1b0dce60298 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 13:50:15 2016 -0800 linux fix commit fa98aeac8505c764f4a69f15c8a8ff1123fad2a3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 11:18:18 2016 -0800 links correctly! commit 9c56ce7143d3a35b44d33f246cec093ca9eaa7d9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Mar 1 17:44:58 2016 -0800 Squashed commit of the following: commit 2ef52723dae44204c047cb177d5a5670fb659c79 Merge: 8a5c998 25cf1f1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Mar 1 16:54:04 2016 -0800 Merge branch 'v3' into cmake_android commit 8a5c9981192e344fffc9f14be5cb14f66eccfa24 Author: Chaoren Lin <chaorenl@google.com> Date: Thu Feb 11 18:34:46 2016 -0800 Fix module name in Android template to match CMake project. commit be85e19e852a9d5fbd6c58cea60c75fe47a5a576 Author: Chaoren Lin <chaorenl@google.com> Date: Thu Feb 11 18:27:45 2016 -0800 Add missing platform specific source file to CMake project. commit 705389ac6582107a381d0cbc56268eaa98ffc5c3 Author: Chaoren Lin <chaorenl@google.com> Date: Wed Feb 10 19:21:12 2016 -0800 Find AndroidNdkModules.cmake relative to android.toolchain.cmake. commit a10075e2cb30af2e1f9a30da99efac880658ad6b Author: Chaoren Lin <chaorenl@google.com> Date: Wed Feb 10 19:03:11 2016 -0800 Remove cpp-empty-test from project templates. commit e070fcbf210b8628f75785e738202a80a95ac0ff Author: WenhaiLin <wenhai.lin@chukong-inc.com> Date: Mon Aug 31 09:56:03 2015 +0800 Fix CMake for Android Target
2016-03-03 08:51:54 +08:00
# Copyright (c) 2015 Chukong Technologies Inc.
2014-08-06 22:43:19 +08:00
#
# http://www.cocos2d-x.org
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
# ****************************************************************************/
Squashed commit of the following: commit 59e43a3c80f4af8998e4a14f6463bd7a91617d5f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 15:19:48 2016 -0800 uses new naming convention for projects uses _ instead of - commit f97ba56608d48b17909649c8617ba9047b566196 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:49:22 2016 -0800 fooling cmake for real commit 20c2560f75eab952e5131b484284bf20cb07fe07 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:43:05 2016 -0800 fooling cmake commit a0ada44bc82941830f6c71219a1492d28c28c306 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:26:59 2016 -0800 makes CMake for Mac happy commit 656b4f5e2dd741215a4699db979fe1b0dce60298 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 13:50:15 2016 -0800 linux fix commit fa98aeac8505c764f4a69f15c8a8ff1123fad2a3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 11:18:18 2016 -0800 links correctly! commit 9c56ce7143d3a35b44d33f246cec093ca9eaa7d9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Mar 1 17:44:58 2016 -0800 Squashed commit of the following: commit 2ef52723dae44204c047cb177d5a5670fb659c79 Merge: 8a5c998 25cf1f1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Mar 1 16:54:04 2016 -0800 Merge branch 'v3' into cmake_android commit 8a5c9981192e344fffc9f14be5cb14f66eccfa24 Author: Chaoren Lin <chaorenl@google.com> Date: Thu Feb 11 18:34:46 2016 -0800 Fix module name in Android template to match CMake project. commit be85e19e852a9d5fbd6c58cea60c75fe47a5a576 Author: Chaoren Lin <chaorenl@google.com> Date: Thu Feb 11 18:27:45 2016 -0800 Add missing platform specific source file to CMake project. commit 705389ac6582107a381d0cbc56268eaa98ffc5c3 Author: Chaoren Lin <chaorenl@google.com> Date: Wed Feb 10 19:21:12 2016 -0800 Find AndroidNdkModules.cmake relative to android.toolchain.cmake. commit a10075e2cb30af2e1f9a30da99efac880658ad6b Author: Chaoren Lin <chaorenl@google.com> Date: Wed Feb 10 19:03:11 2016 -0800 Remove cpp-empty-test from project templates. commit e070fcbf210b8628f75785e738202a80a95ac0ff Author: WenhaiLin <wenhai.lin@chukong-inc.com> Date: Mon Aug 31 09:56:03 2015 +0800 Fix CMake for Android Target
2016-03-03 08:51:54 +08:00
cmake_minimum_required(VERSION 3.1)
# It ensures that when Find*.cmake files included from cmake's Modules dir
# include another *.cmake file with relative path, that file will be included
# also from cmake's Modules dir, to not clash with per-project files.
cmake_policy(SET CMP0017 NEW)
# Use new behaviour with cmake >= 3.1:
# Only interpret if() arguments as variables or keywords when unquoted.
if(CMAKE_VERSION VERSION_GREATER 3.1)
cmake_policy(SET CMP0054 NEW)
endif()
2014-09-11 07:26:32 +08:00
project (Cocos2d-X)
2013-11-02 14:40:07 +08:00
# The version number
Squashed commit of the following: commit 59e43a3c80f4af8998e4a14f6463bd7a91617d5f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 15:19:48 2016 -0800 uses new naming convention for projects uses _ instead of - commit f97ba56608d48b17909649c8617ba9047b566196 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:49:22 2016 -0800 fooling cmake for real commit 20c2560f75eab952e5131b484284bf20cb07fe07 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:43:05 2016 -0800 fooling cmake commit a0ada44bc82941830f6c71219a1492d28c28c306 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:26:59 2016 -0800 makes CMake for Mac happy commit 656b4f5e2dd741215a4699db979fe1b0dce60298 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 13:50:15 2016 -0800 linux fix commit fa98aeac8505c764f4a69f15c8a8ff1123fad2a3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 11:18:18 2016 -0800 links correctly! commit 9c56ce7143d3a35b44d33f246cec093ca9eaa7d9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Mar 1 17:44:58 2016 -0800 Squashed commit of the following: commit 2ef52723dae44204c047cb177d5a5670fb659c79 Merge: 8a5c998 25cf1f1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Mar 1 16:54:04 2016 -0800 Merge branch 'v3' into cmake_android commit 8a5c9981192e344fffc9f14be5cb14f66eccfa24 Author: Chaoren Lin <chaorenl@google.com> Date: Thu Feb 11 18:34:46 2016 -0800 Fix module name in Android template to match CMake project. commit be85e19e852a9d5fbd6c58cea60c75fe47a5a576 Author: Chaoren Lin <chaorenl@google.com> Date: Thu Feb 11 18:27:45 2016 -0800 Add missing platform specific source file to CMake project. commit 705389ac6582107a381d0cbc56268eaa98ffc5c3 Author: Chaoren Lin <chaorenl@google.com> Date: Wed Feb 10 19:21:12 2016 -0800 Find AndroidNdkModules.cmake relative to android.toolchain.cmake. commit a10075e2cb30af2e1f9a30da99efac880658ad6b Author: Chaoren Lin <chaorenl@google.com> Date: Wed Feb 10 19:03:11 2016 -0800 Remove cpp-empty-test from project templates. commit e070fcbf210b8628f75785e738202a80a95ac0ff Author: WenhaiLin <wenhai.lin@chukong-inc.com> Date: Mon Aug 31 09:56:03 2015 +0800 Fix CMake for Android Target
2016-03-03 08:51:54 +08:00
set(COCOS2D_X_VERSION 3.11)
2013-11-02 14:40:07 +08:00
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake/Modules/")
include(CocosBuildHelpers)
2013-11-02 14:40:07 +08:00
2014-08-06 22:43:19 +08:00
message(${BUILDING_STRING})
2013-12-02 15:41:27 +08:00
set(USE_WEBP_DEFAULT ON)
if(WINRT OR WP8)
set(USE_WEBP_DEFAULT OFF)
endif()
set(USE_PREBUILT_LIBS_DEFAULT ON)
if(MINGW)
set(USE_PREBUILT_LIBS_DEFAULT OFF)
endif()
Squashed commit of the following: commit 59e43a3c80f4af8998e4a14f6463bd7a91617d5f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 15:19:48 2016 -0800 uses new naming convention for projects uses _ instead of - commit f97ba56608d48b17909649c8617ba9047b566196 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:49:22 2016 -0800 fooling cmake for real commit 20c2560f75eab952e5131b484284bf20cb07fe07 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:43:05 2016 -0800 fooling cmake commit a0ada44bc82941830f6c71219a1492d28c28c306 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:26:59 2016 -0800 makes CMake for Mac happy commit 656b4f5e2dd741215a4699db979fe1b0dce60298 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 13:50:15 2016 -0800 linux fix commit fa98aeac8505c764f4a69f15c8a8ff1123fad2a3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 11:18:18 2016 -0800 links correctly! commit 9c56ce7143d3a35b44d33f246cec093ca9eaa7d9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Mar 1 17:44:58 2016 -0800 Squashed commit of the following: commit 2ef52723dae44204c047cb177d5a5670fb659c79 Merge: 8a5c998 25cf1f1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Mar 1 16:54:04 2016 -0800 Merge branch 'v3' into cmake_android commit 8a5c9981192e344fffc9f14be5cb14f66eccfa24 Author: Chaoren Lin <chaorenl@google.com> Date: Thu Feb 11 18:34:46 2016 -0800 Fix module name in Android template to match CMake project. commit be85e19e852a9d5fbd6c58cea60c75fe47a5a576 Author: Chaoren Lin <chaorenl@google.com> Date: Thu Feb 11 18:27:45 2016 -0800 Add missing platform specific source file to CMake project. commit 705389ac6582107a381d0cbc56268eaa98ffc5c3 Author: Chaoren Lin <chaorenl@google.com> Date: Wed Feb 10 19:21:12 2016 -0800 Find AndroidNdkModules.cmake relative to android.toolchain.cmake. commit a10075e2cb30af2e1f9a30da99efac880658ad6b Author: Chaoren Lin <chaorenl@google.com> Date: Wed Feb 10 19:03:11 2016 -0800 Remove cpp-empty-test from project templates. commit e070fcbf210b8628f75785e738202a80a95ac0ff Author: WenhaiLin <wenhai.lin@chukong-inc.com> Date: Mon Aug 31 09:56:03 2015 +0800 Fix CMake for Android Target
2016-03-03 08:51:54 +08:00
set(BUILD_CPP_EMPTY_TEST_DEFAULT ON)
set(BUILD_CPP_TESTS_DEFAULT ON)
set(BUILD_LUA_LIBS_DEFAULT ON)
set(BUILD_LUA_TESTS_DEFAULT ON)
2015-05-25 16:37:08 +08:00
set(BUILD_JS_LIBS_DEFAULT ON)
set(BUILD_JS_TESTS_DEFAULT ON)
# TODO: fix test samples for MSVC
if(MSVC)
Squashed commit of the following: commit 59e43a3c80f4af8998e4a14f6463bd7a91617d5f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 15:19:48 2016 -0800 uses new naming convention for projects uses _ instead of - commit f97ba56608d48b17909649c8617ba9047b566196 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:49:22 2016 -0800 fooling cmake for real commit 20c2560f75eab952e5131b484284bf20cb07fe07 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:43:05 2016 -0800 fooling cmake commit a0ada44bc82941830f6c71219a1492d28c28c306 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:26:59 2016 -0800 makes CMake for Mac happy commit 656b4f5e2dd741215a4699db979fe1b0dce60298 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 13:50:15 2016 -0800 linux fix commit fa98aeac8505c764f4a69f15c8a8ff1123fad2a3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 11:18:18 2016 -0800 links correctly! commit 9c56ce7143d3a35b44d33f246cec093ca9eaa7d9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Mar 1 17:44:58 2016 -0800 Squashed commit of the following: commit 2ef52723dae44204c047cb177d5a5670fb659c79 Merge: 8a5c998 25cf1f1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Mar 1 16:54:04 2016 -0800 Merge branch 'v3' into cmake_android commit 8a5c9981192e344fffc9f14be5cb14f66eccfa24 Author: Chaoren Lin <chaorenl@google.com> Date: Thu Feb 11 18:34:46 2016 -0800 Fix module name in Android template to match CMake project. commit be85e19e852a9d5fbd6c58cea60c75fe47a5a576 Author: Chaoren Lin <chaorenl@google.com> Date: Thu Feb 11 18:27:45 2016 -0800 Add missing platform specific source file to CMake project. commit 705389ac6582107a381d0cbc56268eaa98ffc5c3 Author: Chaoren Lin <chaorenl@google.com> Date: Wed Feb 10 19:21:12 2016 -0800 Find AndroidNdkModules.cmake relative to android.toolchain.cmake. commit a10075e2cb30af2e1f9a30da99efac880658ad6b Author: Chaoren Lin <chaorenl@google.com> Date: Wed Feb 10 19:03:11 2016 -0800 Remove cpp-empty-test from project templates. commit e070fcbf210b8628f75785e738202a80a95ac0ff Author: WenhaiLin <wenhai.lin@chukong-inc.com> Date: Mon Aug 31 09:56:03 2015 +0800 Fix CMake for Android Target
2016-03-03 08:51:54 +08:00
set(BUILD_CPP_EMPTY_TEST_DEFAULT OFF)
set(BUILD_CPP_TESTS_DEFAULT OFF)
set(BUILD_LUA_LIBS_DEFAULT OFF)
set(BUILD_LUA_TESTS_DEFAULT OFF)
2015-04-15 14:02:04 +08:00
set(BUILD_JS_LIBS_DEFAULT OFF)
set(BUILD_JS_TESTS_DEFAULT OFF)
endif()
2014-10-15 21:45:25 +08:00
option(USE_CHIPMUNK "Use chipmunk for physics library" ON)
option(USE_BOX2D "Use box2d for physics library" OFF)
2015-05-08 15:49:33 +08:00
option(USE_BULLET "Use bullet for physics3d library" ON)
2015-05-29 16:45:33 +08:00
option(USE_RECAST "Use Recast for navigation mesh" ON)
option(USE_WEBP "Use WebP codec" ${USE_WEBP_DEFAULT})
option(BUILD_SHARED_LIBS "Build shared libraries" OFF)
option(DEBUG_MODE "Debug or release?" ON)
option(BUILD_EXTENSIONS "Build extension library" ON)
option(BUILD_EDITOR_SPINE "Build editor support for spine" ON)
2014-10-15 21:45:25 +08:00
option(BUILD_EDITOR_COCOSTUDIO "Build editor support for cocostudio" ON)
option(BUILD_EDITOR_COCOSBUILDER "Build editor support for cocosbuilder" ON)
option(BUILD_CPP_TESTS "Build TestCpp samples" ${BUILD_CPP_TESTS_DEFAULT})
Squashed commit of the following: commit 59e43a3c80f4af8998e4a14f6463bd7a91617d5f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 15:19:48 2016 -0800 uses new naming convention for projects uses _ instead of - commit f97ba56608d48b17909649c8617ba9047b566196 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:49:22 2016 -0800 fooling cmake for real commit 20c2560f75eab952e5131b484284bf20cb07fe07 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:43:05 2016 -0800 fooling cmake commit a0ada44bc82941830f6c71219a1492d28c28c306 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:26:59 2016 -0800 makes CMake for Mac happy commit 656b4f5e2dd741215a4699db979fe1b0dce60298 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 13:50:15 2016 -0800 linux fix commit fa98aeac8505c764f4a69f15c8a8ff1123fad2a3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 11:18:18 2016 -0800 links correctly! commit 9c56ce7143d3a35b44d33f246cec093ca9eaa7d9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Mar 1 17:44:58 2016 -0800 Squashed commit of the following: commit 2ef52723dae44204c047cb177d5a5670fb659c79 Merge: 8a5c998 25cf1f1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Mar 1 16:54:04 2016 -0800 Merge branch 'v3' into cmake_android commit 8a5c9981192e344fffc9f14be5cb14f66eccfa24 Author: Chaoren Lin <chaorenl@google.com> Date: Thu Feb 11 18:34:46 2016 -0800 Fix module name in Android template to match CMake project. commit be85e19e852a9d5fbd6c58cea60c75fe47a5a576 Author: Chaoren Lin <chaorenl@google.com> Date: Thu Feb 11 18:27:45 2016 -0800 Add missing platform specific source file to CMake project. commit 705389ac6582107a381d0cbc56268eaa98ffc5c3 Author: Chaoren Lin <chaorenl@google.com> Date: Wed Feb 10 19:21:12 2016 -0800 Find AndroidNdkModules.cmake relative to android.toolchain.cmake. commit a10075e2cb30af2e1f9a30da99efac880658ad6b Author: Chaoren Lin <chaorenl@google.com> Date: Wed Feb 10 19:03:11 2016 -0800 Remove cpp-empty-test from project templates. commit e070fcbf210b8628f75785e738202a80a95ac0ff Author: WenhaiLin <wenhai.lin@chukong-inc.com> Date: Mon Aug 31 09:56:03 2015 +0800 Fix CMake for Android Target
2016-03-03 08:51:54 +08:00
option(BUILD_CPP_EMPTY_TEST "Build TestCpp samples" ${BUILD_CPP_EMPTY_TEST_DEFAULT})
option(BUILD_LUA_LIBS "Build lua libraries" ${BUILD_LUA_LIBS_DEFAULT})
option(BUILD_LUA_TESTS "Build TestLua samples" ${BUILD_LUA_TESTS_DEFAULT})
2015-04-15 14:02:04 +08:00
option(BUILD_JS_LIBS "Build js libraries" ${BUILD_JS_LIBS_DEFAULT})
option(BUILD_JS_TESTS "Build TestJS samples" ${BUILD_JS_TESTS_DEFAULT})
option(USE_PREBUILT_LIBS "Use prebuilt libraries in external directory" ${USE_PREBUILT_LIBS_DEFAULT})
if(USE_PREBUILT_LIBS AND MINGW)
message(FATAL_ERROR "Prebuilt windows libs can't be used with mingw, please use packages.")
endif()
# CMAKE_BUILD_TYPE has precedence over DEBUG_MODE
# Still supporting DEBUG_MODE for backwards compatibility
if (NOT CMAKE_BUILD_TYPE)
if(DEBUG_MODE)
set(CMAKE_BUILD_TYPE DEBUG)
else(DEBUG_MODE)
set(CMAKE_BUILD_TYPE RELEASE)
endif(DEBUG_MODE)
endif(NOT CMAKE_BUILD_TYPE)
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DCOCOS2D_DEBUG=1")
2013-11-30 14:09:12 +08:00
set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
2014-09-12 08:36:49 +08:00
# Compiler options
2014-08-06 22:43:19 +08:00
if(MSVC)
ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS
-wd4251 -wd4244 -wd4334 -wd4005 -wd4820 -wd4710
-wd4514 -wd4056 -wd4996 -wd4099)
# Use inline debug info (/Z7) format. Or internal error may occur.
# Errors looks like: "xmemory0(592): error C3130: Internal Compiler Error: failed to write injected code block to PDB"
foreach(lang C CXX)
string(REGEX REPLACE "/Z[iI7]" "" CMAKE_${lang}_FLAGS_DEBUG "${CMAKE_${lang}_FLAGS_DEBUG}")
set(CMAKE_${lang}_FLAGS_DEBUG "${CMAKE_${lang}_FLAGS_DEBUG} /Z7")
endforeach()
2014-08-06 22:43:19 +08:00
else()
2015-06-11 05:02:13 +08:00
set(CMAKE_C_FLAGS_DEBUG "-g -Wall -Wextra -DCOCOS2D_DEBUG=1")
2014-08-06 22:43:19 +08:00
set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
Squashed commit of the following: commit 59e43a3c80f4af8998e4a14f6463bd7a91617d5f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 15:19:48 2016 -0800 uses new naming convention for projects uses _ instead of - commit f97ba56608d48b17909649c8617ba9047b566196 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:49:22 2016 -0800 fooling cmake for real commit 20c2560f75eab952e5131b484284bf20cb07fe07 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:43:05 2016 -0800 fooling cmake commit a0ada44bc82941830f6c71219a1492d28c28c306 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:26:59 2016 -0800 makes CMake for Mac happy commit 656b4f5e2dd741215a4699db979fe1b0dce60298 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 13:50:15 2016 -0800 linux fix commit fa98aeac8505c764f4a69f15c8a8ff1123fad2a3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 11:18:18 2016 -0800 links correctly! commit 9c56ce7143d3a35b44d33f246cec093ca9eaa7d9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Mar 1 17:44:58 2016 -0800 Squashed commit of the following: commit 2ef52723dae44204c047cb177d5a5670fb659c79 Merge: 8a5c998 25cf1f1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Mar 1 16:54:04 2016 -0800 Merge branch 'v3' into cmake_android commit 8a5c9981192e344fffc9f14be5cb14f66eccfa24 Author: Chaoren Lin <chaorenl@google.com> Date: Thu Feb 11 18:34:46 2016 -0800 Fix module name in Android template to match CMake project. commit be85e19e852a9d5fbd6c58cea60c75fe47a5a576 Author: Chaoren Lin <chaorenl@google.com> Date: Thu Feb 11 18:27:45 2016 -0800 Add missing platform specific source file to CMake project. commit 705389ac6582107a381d0cbc56268eaa98ffc5c3 Author: Chaoren Lin <chaorenl@google.com> Date: Wed Feb 10 19:21:12 2016 -0800 Find AndroidNdkModules.cmake relative to android.toolchain.cmake. commit a10075e2cb30af2e1f9a30da99efac880658ad6b Author: Chaoren Lin <chaorenl@google.com> Date: Wed Feb 10 19:03:11 2016 -0800 Remove cpp-empty-test from project templates. commit e070fcbf210b8628f75785e738202a80a95ac0ff Author: WenhaiLin <wenhai.lin@chukong-inc.com> Date: Mon Aug 31 09:56:03 2015 +0800 Fix CMake for Android Target
2016-03-03 08:51:54 +08:00
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-deprecated-declarations -Wno-reorder")
2014-09-12 08:36:49 +08:00
if(CLANG)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
endif()
2014-08-06 22:43:19 +08:00
endif(MSVC)
2013-11-30 14:09:12 +08:00
set(COCOS_EXTERNAL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external)
2014-09-12 08:36:49 +08:00
# Some macro definitions
2014-08-06 22:43:19 +08:00
if(WINDOWS)
if(BUILD_SHARED_LIBS)
ADD_DEFINITIONS (-D_USRDLL -D_EXPORT_DLL_ -D_USEGUIDLL -D_USREXDLL -D_USRSTUDIODLL)
else()
ADD_DEFINITIONS (-DCC_STATIC)
endif()
ADD_DEFINITIONS (-DCOCOS2DXWIN32_EXPORTS -D_WINDOWS -DWIN32 -D_WIN32)
2014-08-06 22:43:19 +08:00
set(PLATFORM_FOLDER win32)
elseif(MACOSX OR APPLE)
Squashed commit of the following: commit b9181ae92541d11119bedd766773ddb01f0bb486 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Sep 9 09:34:40 2014 -0700 Compiles luasocket on Mac commit 91fc79aa2101867fedfbcd7d846e9508009894e6 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Sep 9 09:12:30 2014 -0700 disables luasockets commit 31f2ee462708ab7b604b9399eaabd275e2da9e02 Merge: 19099fd 0abe4cb Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Sep 9 08:10:48 2014 -0700 Merge remote-tracking branch 'cocos2d/v3' into cmakefile_mac_osx Conflicts: cocos/3d/cocos3d.h commit 19099fd021b4ecf1f2eebd73ea14e84572d1ee33 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 23:21:03 2014 -0700 compiles on Linux commit eec7b92817ac9208123468bb882612aad89f94bf Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 23:16:46 2014 -0700 all projecs compiles with CMake commit 40fcc8325b409a580fdbf26d2ee27aa2d1db0109 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 21:47:27 2014 -0700 CCUserDefualt.mm better includes commit 30709ec8243562858498cb118240bb45bf9b33b0 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 21:26:36 2014 -0700 cpp-tests compiles and works on Mac using CMake commit 67f0fc8df887d08d3d7a27c5fdadd335d6841676 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 20:12:09 2014 -0700 Adds missing files to CMakeLists.txt commit 36f939ea7f157ca851aee138300c13d9888c0078 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 19:52:34 2014 -0700 Adds more box2d missing files commit 00f81e3b5ec97150974cc6022e86c394ff488ccb Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 19:39:54 2014 -0700 Adds missing box2d files commit 9673227b4d7d0e6d9eced49bdd69b98cb519968a Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 18:44:15 2014 -0700 Initial CMake support for Mac
2014-09-10 03:18:31 +08:00
ADD_DEFINITIONS (-DCC_TARGET_OS_MAC)
ADD_DEFINITIONS (-DUSE_FILE32API)
2014-08-06 22:43:19 +08:00
set(PLATFORM_FOLDER mac)
Squashed commit of the following: commit b9181ae92541d11119bedd766773ddb01f0bb486 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Sep 9 09:34:40 2014 -0700 Compiles luasocket on Mac commit 91fc79aa2101867fedfbcd7d846e9508009894e6 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Sep 9 09:12:30 2014 -0700 disables luasockets commit 31f2ee462708ab7b604b9399eaabd275e2da9e02 Merge: 19099fd 0abe4cb Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Sep 9 08:10:48 2014 -0700 Merge remote-tracking branch 'cocos2d/v3' into cmakefile_mac_osx Conflicts: cocos/3d/cocos3d.h commit 19099fd021b4ecf1f2eebd73ea14e84572d1ee33 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 23:21:03 2014 -0700 compiles on Linux commit eec7b92817ac9208123468bb882612aad89f94bf Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 23:16:46 2014 -0700 all projecs compiles with CMake commit 40fcc8325b409a580fdbf26d2ee27aa2d1db0109 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 21:47:27 2014 -0700 CCUserDefualt.mm better includes commit 30709ec8243562858498cb118240bb45bf9b33b0 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 21:26:36 2014 -0700 cpp-tests compiles and works on Mac using CMake commit 67f0fc8df887d08d3d7a27c5fdadd335d6841676 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 20:12:09 2014 -0700 Adds missing files to CMakeLists.txt commit 36f939ea7f157ca851aee138300c13d9888c0078 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 19:52:34 2014 -0700 Adds more box2d missing files commit 00f81e3b5ec97150974cc6022e86c394ff488ccb Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 19:39:54 2014 -0700 Adds missing box2d files commit 9673227b4d7d0e6d9eced49bdd69b98cb519968a Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 18:44:15 2014 -0700 Initial CMake support for Mac
2014-09-10 03:18:31 +08:00
elseif(LINUX)
2014-08-06 22:43:19 +08:00
ADD_DEFINITIONS(-DLINUX)
set(PLATFORM_FOLDER linux)
elseif(ANDROID)
ADD_DEFINITIONS (-DUSE_FILE32API)
set(PLATFORM_FOLDER android)
Squashed commit of the following: commit 59e43a3c80f4af8998e4a14f6463bd7a91617d5f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 15:19:48 2016 -0800 uses new naming convention for projects uses _ instead of - commit f97ba56608d48b17909649c8617ba9047b566196 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:49:22 2016 -0800 fooling cmake for real commit 20c2560f75eab952e5131b484284bf20cb07fe07 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:43:05 2016 -0800 fooling cmake commit a0ada44bc82941830f6c71219a1492d28c28c306 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:26:59 2016 -0800 makes CMake for Mac happy commit 656b4f5e2dd741215a4699db979fe1b0dce60298 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 13:50:15 2016 -0800 linux fix commit fa98aeac8505c764f4a69f15c8a8ff1123fad2a3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 11:18:18 2016 -0800 links correctly! commit 9c56ce7143d3a35b44d33f246cec093ca9eaa7d9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Mar 1 17:44:58 2016 -0800 Squashed commit of the following: commit 2ef52723dae44204c047cb177d5a5670fb659c79 Merge: 8a5c998 25cf1f1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Mar 1 16:54:04 2016 -0800 Merge branch 'v3' into cmake_android commit 8a5c9981192e344fffc9f14be5cb14f66eccfa24 Author: Chaoren Lin <chaorenl@google.com> Date: Thu Feb 11 18:34:46 2016 -0800 Fix module name in Android template to match CMake project. commit be85e19e852a9d5fbd6c58cea60c75fe47a5a576 Author: Chaoren Lin <chaorenl@google.com> Date: Thu Feb 11 18:27:45 2016 -0800 Add missing platform specific source file to CMake project. commit 705389ac6582107a381d0cbc56268eaa98ffc5c3 Author: Chaoren Lin <chaorenl@google.com> Date: Wed Feb 10 19:21:12 2016 -0800 Find AndroidNdkModules.cmake relative to android.toolchain.cmake. commit a10075e2cb30af2e1f9a30da99efac880658ad6b Author: Chaoren Lin <chaorenl@google.com> Date: Wed Feb 10 19:03:11 2016 -0800 Remove cpp-empty-test from project templates. commit e070fcbf210b8628f75785e738202a80a95ac0ff Author: WenhaiLin <wenhai.lin@chukong-inc.com> Date: Mon Aug 31 09:56:03 2015 +0800 Fix CMake for Android Target
2016-03-03 08:51:54 +08:00
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fexceptions")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char -latomic")
Squashed commit of the following: commit b9181ae92541d11119bedd766773ddb01f0bb486 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Sep 9 09:34:40 2014 -0700 Compiles luasocket on Mac commit 91fc79aa2101867fedfbcd7d846e9508009894e6 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Sep 9 09:12:30 2014 -0700 disables luasockets commit 31f2ee462708ab7b604b9399eaabd275e2da9e02 Merge: 19099fd 0abe4cb Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Sep 9 08:10:48 2014 -0700 Merge remote-tracking branch 'cocos2d/v3' into cmakefile_mac_osx Conflicts: cocos/3d/cocos3d.h commit 19099fd021b4ecf1f2eebd73ea14e84572d1ee33 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 23:21:03 2014 -0700 compiles on Linux commit eec7b92817ac9208123468bb882612aad89f94bf Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 23:16:46 2014 -0700 all projecs compiles with CMake commit 40fcc8325b409a580fdbf26d2ee27aa2d1db0109 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 21:47:27 2014 -0700 CCUserDefualt.mm better includes commit 30709ec8243562858498cb118240bb45bf9b33b0 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 21:26:36 2014 -0700 cpp-tests compiles and works on Mac using CMake commit 67f0fc8df887d08d3d7a27c5fdadd335d6841676 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 20:12:09 2014 -0700 Adds missing files to CMakeLists.txt commit 36f939ea7f157ca851aee138300c13d9888c0078 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 19:52:34 2014 -0700 Adds more box2d missing files commit 00f81e3b5ec97150974cc6022e86c394ff488ccb Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 19:39:54 2014 -0700 Adds missing box2d files commit 9673227b4d7d0e6d9eced49bdd69b98cb519968a Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 18:44:15 2014 -0700 Initial CMake support for Mac
2014-09-10 03:18:31 +08:00
else()
message( FATAL_ERROR "Unsupported platform, CMake will exit" )
2013-11-30 14:09:12 +08:00
endif()
2013-12-02 14:57:47 +08:00
if(MINGW)
#add_definitions(-DGLEW_STATIC)
2014-05-28 00:17:09 +08:00
add_definitions(-D__SSIZE_T)
2013-12-02 14:57:47 +08:00
2014-08-06 22:43:19 +08:00
if(CLANG)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ")
2014-08-06 22:43:19 +08:00
endif()
endif()
2013-11-30 14:09:12 +08:00
2013-11-02 14:40:07 +08:00
# architecture
if ( CMAKE_SIZEOF_VOID_P EQUAL 8 )
Squashed commit of the following: commit b9181ae92541d11119bedd766773ddb01f0bb486 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Sep 9 09:34:40 2014 -0700 Compiles luasocket on Mac commit 91fc79aa2101867fedfbcd7d846e9508009894e6 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Sep 9 09:12:30 2014 -0700 disables luasockets commit 31f2ee462708ab7b604b9399eaabd275e2da9e02 Merge: 19099fd 0abe4cb Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Sep 9 08:10:48 2014 -0700 Merge remote-tracking branch 'cocos2d/v3' into cmakefile_mac_osx Conflicts: cocos/3d/cocos3d.h commit 19099fd021b4ecf1f2eebd73ea14e84572d1ee33 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 23:21:03 2014 -0700 compiles on Linux commit eec7b92817ac9208123468bb882612aad89f94bf Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 23:16:46 2014 -0700 all projecs compiles with CMake commit 40fcc8325b409a580fdbf26d2ee27aa2d1db0109 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 21:47:27 2014 -0700 CCUserDefualt.mm better includes commit 30709ec8243562858498cb118240bb45bf9b33b0 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 21:26:36 2014 -0700 cpp-tests compiles and works on Mac using CMake commit 67f0fc8df887d08d3d7a27c5fdadd335d6841676 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 20:12:09 2014 -0700 Adds missing files to CMakeLists.txt commit 36f939ea7f157ca851aee138300c13d9888c0078 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 19:52:34 2014 -0700 Adds more box2d missing files commit 00f81e3b5ec97150974cc6022e86c394ff488ccb Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 19:39:54 2014 -0700 Adds missing box2d files commit 9673227b4d7d0e6d9eced49bdd69b98cb519968a Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Sep 8 18:44:15 2014 -0700 Initial CMake support for Mac
2014-09-10 03:18:31 +08:00
set(ARCH_DIR "64-bit")
elseif ( CMAKE_SIZEOF_VOID_P EQUAL 4 )
set(ARCH_DIR "32-bit")
else()
message( FATAL_ERROR "Unsupported architecture, CMake will exit" )
endif()
2013-11-02 14:40:07 +08:00
include_directories(
2013-11-30 14:09:12 +08:00
${CMAKE_CURRENT_SOURCE_DIR}/cocos
${CMAKE_CURRENT_SOURCE_DIR}
2014-10-09 12:01:22 +08:00
${CMAKE_CURRENT_SOURCE_DIR}/deprecated
${CMAKE_CURRENT_SOURCE_DIR}/cocos/platform
2013-11-30 14:09:12 +08:00
${CMAKE_CURRENT_SOURCE_DIR}/extensions
${CMAKE_CURRENT_SOURCE_DIR}/external
2013-11-02 14:40:07 +08:00
)
if(USE_PREBUILT_LIBS)
include(CocosUsePrebuiltLibs)
endif()
# desktop platforms
if(LINUX OR MACOSX OR WINDOWS)
cocos_find_package(OpenGL OPENGL REQUIRED)
if(LINUX OR WINDOWS)
cocos_find_package(GLEW GLEW REQUIRED)
#TODO: implement correct schema for pass cocos2d specific requirements to projects
include_directories(${GLEW_INCLUDE_DIRS})
endif()
cocos_find_package(GLFW3 GLFW3 REQUIRED)
include_directories(${GLFW3_INCLUDE_DIRS})
if(LINUX)
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
find_package(Threads REQUIRED)
set(THREADS_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
cocos_find_package(FMOD FMOD REQUIRED)
cocos_find_package(Fontconfig FONTCONFIG REQUIRED)
2015-06-06 14:20:16 +08:00
cocos_find_package(GTK3 GTK3 REQUIRED)
endif()
if(WINDOWS)
cocos_find_package(Vorbis VORBIS REQUIRED)
cocos_find_package(MPG123 MPG123 REQUIRED)
cocos_find_package(OpenAL OPENAL REQUIRED)
# because FindOpenAL.cmake set include dir for '#include <al.h>' for portability (not for '#include <AL/al.h>'
set(OPENAL_DEFINITIONS "-DOPENAL_PLAIN_INCLUDES")
endif()
endif(LINUX OR MACOSX OR WINDOWS)
# Freetype required on all platforms
cocos_find_package(Freetype FREETYPE REQUIRED)
# WebP required if used
if(USE_WEBP)
cocos_find_package(WebP WEBP REQUIRED)
endif(USE_WEBP)
# Chipmunk
if(USE_CHIPMUNK)
Squashed commit of the following: commit 36c2807d07848448c1fed86f4b119205048691bf Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Feb 29 13:11:40 2016 -0800 binary file 82 commit 9b7cd003b12faefd0522d12f765c027efb001ab2 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Feb 29 12:56:39 2016 -0800 fore multiple in windows phone 8.1 too commit daea8a3ef8d69915e7a9d962fd745a1103011bab Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Feb 29 12:50:45 2016 -0800 force multiple commit 0fbabdbf99974e95de083d79c7d6ae7cf735e4b6 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Feb 29 10:44:40 2016 -0800 compiles commit f817766afcd0ffc4ca93f628d55fabc4b5a96ba5 Merge: 7b2cea3 8bf3d33 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Feb 29 09:37:24 2016 -0800 Merge branch 'v3' into chipmunk_v7_2 commit 7b2cea329a56ae2786428d39a499bc12ba3860e6 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Sat Feb 27 01:11:13 2016 -0800 correct paths for win8.1 commit dcf1f046eb1e18474d6f94b2d7dc31fbf1b06cea Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Feb 26 22:46:58 2016 -0800 projects works on win32 commit ab5b14c25ef0fdf224480302f9cb3cc01d5c360c Merge: 04377cc 9af2f4e Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Feb 26 21:57:10 2016 -0800 Merge branch 'v3' into chipmunk_v7_2 commit 04377cce7f46b2c2016ccc3855fc479c4f6aa516 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Feb 26 21:26:55 2016 -0800 trying to make it compile on win32 commit 7703946d99e1cdc6a57f2ccb2a868818c1367291 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Feb 24 10:28:12 2016 -0800 quick hack to make it compile... ...autogenerated files will fix it. commit ea35bf3a5894cb80b09ecd0a4a5408dcc19785f5 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Feb 24 09:20:59 2016 -0800 Squashed commit of the following: commit 487e52a7af7cdb40135fd3bd83b2efba0dfe6265 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Feb 23 20:10:13 2016 -0800 compiles.. sort of commit a7990e2888d5ef1e43b811148b23c0b899105ab3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Feb 23 19:55:24 2016 -0800 more chipmunk fixes commit 1174f6ec8201324161d7946af0f493b136a56690 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Feb 23 19:36:15 2016 -0800 more chipmunk fixes commit 00ac2449ca0c35bd9184310d58e74aaa05bd1323 Merge: f942c5a 0594d3c Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Feb 23 19:29:27 2016 -0800 Merge branch 'chipmunk_v7_squashed' of github.com:ricardoquesada/cocos2d-x into chipmunk_v7_squashed commit f942c5a3cc7b24f3ac211d781be1b9c9d4ec0fd7 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Feb 23 19:28:51 2016 -0800 correct path for chipmunk commit 0594d3c4141d390b2566ea76101e383f15ebcaaf Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Feb 23 18:44:05 2016 -0800 compiles on ios commit 379503399c384ad77d25d68a2f83b71a829b1c04 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Feb 23 17:51:36 2016 -0800 chipmunk include fixes commit 95839fb7b406a32255853294b016d8c15aec1ed6 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Feb 23 17:09:04 2016 -0800 fixes for cmake + mac commit 39449ea3b7efccae2946785c1c11433d964ee480 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Feb 23 16:51:25 2016 -0800 correct includes commit 98e97d7d2f00e6a78d040dcaf17e5a077e9a88c3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Feb 23 16:35:40 2016 -0800 fixes chipmunk with cmake commit 337f21f9466703722847635301d841ace9b757cb Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Feb 23 14:42:01 2016 -0800 updates android and linux projects commit 7111a9993b97f78cf73206804b25665c21a59ca8 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Feb 23 14:18:26 2016 -0800 cosmetic changes commit ce15038b8d2c0c7ebe31b4e1efe92646b7c70d1b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Feb 23 06:53:41 2016 -0800 chipmunk autogenerated files commit 66c71bfa3aaab04abf25f284e2e76ce2a74a98de Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Feb 23 06:47:41 2016 -0800 compatibility both in JS (to reduce space) and in C for (C++ users) commit 0f9ffa0a8ab23a19e1f10b04e6987c2288764b1f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Feb 23 06:10:02 2016 -0800 mooooore fixes commit 9ab23014093677e8eda69b105f50410b8c792aa3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Feb 23 05:30:58 2016 -0800 doesn't crash with collision handler commit 69275a16817a038244bbaaff9e82a011b6729cb2 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Feb 23 05:16:29 2016 -0800 adds missing space functions commit a6b97bbc76cb9ab293356bb7451cfa858353f589 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Feb 22 22:22:27 2016 -0800 queries... better commit 3442bceca64f5a0ddbbbb1a288146a2a61d87632 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Feb 22 19:48:41 2016 -0800 adds more missing functions fixes other chipmunk JS issues commit 3797a033896d059da58a05ce0de832ed9c150eff Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Feb 22 18:30:21 2016 -0800 yep... poly works ok commit d1bb57776891605b9d3e4fb90736c6869d96b944 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Feb 22 17:28:29 2016 -0800 neede compat files commit 39ec518d4e089124d9a53fe3a8dce3aa0474c233 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Feb 22 17:28:04 2016 -0800 query working! commit 71a8001fd6bc03ac674621f5da38a3f8778430b4 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Feb 19 21:57:03 2016 -0800 almost there commit 9272fdcd06ba188db2fe5701fb2ac21476d54883 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Feb 19 21:18:46 2016 -0800 fixes return values commit 7218778da846e1e36a510c0a19a5ee76f91db032 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Feb 19 20:36:14 2016 -0800 cpMomentForSegment is manual since parameter 4 is optional in chipmunk 6, but not in 7 commit 98d5d3e23c2cdb941cc0b1f3ce8275990356e88d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Feb 19 17:29:28 2016 -0800 yeah... process the arguments correctly works both for functions and auto_classes commit ce6a4fe3593b4f3b0fcdf11d12e297d789e0d96b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Feb 19 16:49:00 2016 -0800 compiles and links fixes some issues with the queries. returns shapes instad of the queryInfo commit 3f879482dc6db86e45e4319bc802ccf19b52a46c Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Feb 19 15:03:18 2016 -0800 adds removeCollisionHandler and other fixes commit 32d825fc7bd323e144db6a1badc4a62420b6ea44 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Feb 18 20:59:24 2016 -0800 compiles... doesn't work yet commit bd64de81713fb2d7652a538d667d73f05f5d9320 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Feb 17 18:17:39 2016 -0800 WIP: chipmunk bindings
2016-03-01 05:53:00 +08:00
if(USE_PREBUILT_LIBS)
cocos_find_package(Chipmunk CHIPMUNK REQUIRED)
endif()
add_definitions(-DCC_ENABLE_CHIPMUNK_INTEGRATION=1)
if(IOS OR MACOSX)
# without this chipmunk will try to use apple defined geometry types, that conflicts with cocos
add_definitions(-DCP_USE_CGPOINTS=0)
endif()
else(USE_CHIPMUNK)
add_definitions(-DCC_USE_PHYSICS=0)
endif(USE_CHIPMUNK)
2014-11-15 08:11:46 +08:00
# Box2d (not prebuilded, exists as source)
if(USE_BOX2D)
if(USE_PREBUILT_LIBS)
add_subdirectory(external/Box2D)
set(Box2D_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/external/box2d/include)
set(Box2D_LIBRARIES box2d)
else()
find_package(Box2D REQUIRED CONFIG)
# actually Box2D in next line is not a library, it is target exported from Box2DConfig.cmake
set(Box2D_LIBRARIES Box2D)
endif()
message(STATUS "Box2D include dirs: ${Box2D_INCLUDE_DIRS}")
add_definitions(-DCC_ENABLE_BOX2D_INTEGRATION=1)
else()
add_definitions(-DCC_ENABLE_BOX2D_INTEGRATION=0)
endif(USE_BOX2D)
2015-05-08 15:49:33 +08:00
# Bullet (not prebuilded, exists as source)
if(USE_BULLET)
if(USE_PREBUILT_LIBS)
add_subdirectory(external/bullet)
set(BULLET_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/external/bullet)
set(BULLET_LIBRARIES bullet)
else()
cocos_find_package(bullet BULLET REQUIRED)
set(BULLET_LIBRARIES bullet)
endif()
message(STATUS "Bullet include dirs: ${BULLET_INCLUDE_DIRS}")
add_definitions(-DCC_ENABLE_BULLET_INTEGRATION=1)
add_definitions(-DCC_USE_PHYSICS=1)
else()
add_definitions(-DCC_ENABLE_BULLET_INTEGRATION=0)
add_definitions(-DCC_USE_3D_PHYSICS=0)
endif(USE_BULLET)
2015-05-29 16:45:33 +08:00
# Recast (not prebuilded, exists as source)
if(USE_RECAST)
if(USE_PREBUILT_LIBS)
add_subdirectory(external/recast)
set(RECAST_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/external/recast)
set(RECAST_LIBRARIES recast)
else()
cocos_find_package(recast RECAST REQUIRED)
set(RECAST_LIBRARIES recast)
endif()
message(STATUS "Recast include dirs: ${RECAST_INCLUDE_DIRS}")
add_definitions(-DCC_USE_NAVMESH=1)
else()
add_definitions(-DCC_USE_NAVMESH=0)
endif(USE_RECAST)
# Tinyxml2 (not prebuilded, exists as source)
if(USE_PREBUILT_LIBS)
add_subdirectory(external/tinyxml2)
set(TinyXML2_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/external/tinyxml2)
set(TinyXML2_LIBRARIES tinyxml2)
else()
cocos_find_package(TinyXML2 TinyXML2 REQUIRED)
endif()
message(STATUS "TinyXML2 include dirs: ${TinyXML2_INCLUDE_DIRS}")
2014-11-16 02:16:39 +08:00
# libjpeg
cocos_find_package(JPEG JPEG REQUIRED)
cocos_find_package(ZLIB ZLIB REQUIRED)
2014-11-16 05:21:11 +08:00
# minizip (we try to migrate to minizip from https://github.com/nmoinvaz/minizip)
# only msys2 currently provides package for this variant, all other
# dists have packages from zlib, thats very old for us.
# moreover our embedded version modified to quick provide
# functionality needed by cocos.
if(USE_PREBUILT_LIBS OR NOT MINGW)
#TODO: hack! should be in external/unzip/CMakeLists.txt
include_directories(${ZLIB_INCLUDE_DIRS})
add_subdirectory(external/unzip)
set(MINIZIP_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/external/unzip ${ZLIB_INCLUDE_DIRS})
set(MINIZIP_LIBRARIES unzip ${ZLIB_LIBRARIES})
message(STATUS "MINIZIP include dirs: ${MINIZIP_INCLUDE_DIRS}")
else()
cocos_find_package(MINIZIP MINIZIP REQUIRED)
# double check that we have needed functions
include(CheckLibraryExists)
check_library_exists(${MINIZIP_LIBRARIES} "unzGoToFirstFile2" "" MINIZIP_HAS_GOTOFIRSTFILE2)
if(NOT MINIZIP_HAS_GOTOFIRSTFILE2)
message(FATAL_ERROR "Minizip library on you system very old. Please use recent version from https://github.com/nmoinvaz/minizip or enable USE_PREBUILT_LIBS")
endif()
add_definitions(-DMINIZIP_FROM_SYSTEM)
endif()
2014-11-16 18:22:54 +08:00
cocos_find_package(PNG PNG REQUIRED)
cocos_find_package(TIFF TIFF REQUIRED)
cocos_find_package(WEBSOCKETS WEBSOCKETS REQUIRED)
cocos_find_package(CURL CURL REQUIRED)
2015-07-22 21:19:22 +08:00
# flatbuffers
if(USE_PREBUILT_LIBS)
add_subdirectory(external/flatbuffers)
set(FLATBUFFERS_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/external)
message(STATUS "Flatbuffers include dirs: ${FLATBUFFERS_INCLUDE_DIRS}")
else()
cocos_find_package(flatbuffers flatbuffers REQUIRED)
endif()
2015-07-22 21:19:22 +08:00
# xxhash
if(USE_PREBUILT_LIBS)
add_subdirectory(external/xxhash)
set(XXHASH_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/external/xxhash)
set(XXHASH_LIBRARIES xxhash)
else()
cocos_find_package(xxhash xxhash REQUIRED)
endif()
# libcocos2d.a
add_subdirectory(cocos)
2013-11-02 18:07:34 +08:00
Squashed commit of the following: commit 59e43a3c80f4af8998e4a14f6463bd7a91617d5f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 15:19:48 2016 -0800 uses new naming convention for projects uses _ instead of - commit f97ba56608d48b17909649c8617ba9047b566196 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:49:22 2016 -0800 fooling cmake for real commit 20c2560f75eab952e5131b484284bf20cb07fe07 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:43:05 2016 -0800 fooling cmake commit a0ada44bc82941830f6c71219a1492d28c28c306 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:26:59 2016 -0800 makes CMake for Mac happy commit 656b4f5e2dd741215a4699db979fe1b0dce60298 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 13:50:15 2016 -0800 linux fix commit fa98aeac8505c764f4a69f15c8a8ff1123fad2a3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 11:18:18 2016 -0800 links correctly! commit 9c56ce7143d3a35b44d33f246cec093ca9eaa7d9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Mar 1 17:44:58 2016 -0800 Squashed commit of the following: commit 2ef52723dae44204c047cb177d5a5670fb659c79 Merge: 8a5c998 25cf1f1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Mar 1 16:54:04 2016 -0800 Merge branch 'v3' into cmake_android commit 8a5c9981192e344fffc9f14be5cb14f66eccfa24 Author: Chaoren Lin <chaorenl@google.com> Date: Thu Feb 11 18:34:46 2016 -0800 Fix module name in Android template to match CMake project. commit be85e19e852a9d5fbd6c58cea60c75fe47a5a576 Author: Chaoren Lin <chaorenl@google.com> Date: Thu Feb 11 18:27:45 2016 -0800 Add missing platform specific source file to CMake project. commit 705389ac6582107a381d0cbc56268eaa98ffc5c3 Author: Chaoren Lin <chaorenl@google.com> Date: Wed Feb 10 19:21:12 2016 -0800 Find AndroidNdkModules.cmake relative to android.toolchain.cmake. commit a10075e2cb30af2e1f9a30da99efac880658ad6b Author: Chaoren Lin <chaorenl@google.com> Date: Wed Feb 10 19:03:11 2016 -0800 Remove cpp-empty-test from project templates. commit e070fcbf210b8628f75785e738202a80a95ac0ff Author: WenhaiLin <wenhai.lin@chukong-inc.com> Date: Mon Aug 31 09:56:03 2015 +0800 Fix CMake for Android Target
2016-03-03 08:51:54 +08:00
# build cpp-empty-test
if(BUILD_CPP_EMPTY_TEST)
add_subdirectory(tests/cpp-empty-test)
Squashed commit of the following: commit 59e43a3c80f4af8998e4a14f6463bd7a91617d5f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 15:19:48 2016 -0800 uses new naming convention for projects uses _ instead of - commit f97ba56608d48b17909649c8617ba9047b566196 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:49:22 2016 -0800 fooling cmake for real commit 20c2560f75eab952e5131b484284bf20cb07fe07 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:43:05 2016 -0800 fooling cmake commit a0ada44bc82941830f6c71219a1492d28c28c306 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 14:26:59 2016 -0800 makes CMake for Mac happy commit 656b4f5e2dd741215a4699db979fe1b0dce60298 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 13:50:15 2016 -0800 linux fix commit fa98aeac8505c764f4a69f15c8a8ff1123fad2a3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Mar 2 11:18:18 2016 -0800 links correctly! commit 9c56ce7143d3a35b44d33f246cec093ca9eaa7d9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Mar 1 17:44:58 2016 -0800 Squashed commit of the following: commit 2ef52723dae44204c047cb177d5a5670fb659c79 Merge: 8a5c998 25cf1f1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Mar 1 16:54:04 2016 -0800 Merge branch 'v3' into cmake_android commit 8a5c9981192e344fffc9f14be5cb14f66eccfa24 Author: Chaoren Lin <chaorenl@google.com> Date: Thu Feb 11 18:34:46 2016 -0800 Fix module name in Android template to match CMake project. commit be85e19e852a9d5fbd6c58cea60c75fe47a5a576 Author: Chaoren Lin <chaorenl@google.com> Date: Thu Feb 11 18:27:45 2016 -0800 Add missing platform specific source file to CMake project. commit 705389ac6582107a381d0cbc56268eaa98ffc5c3 Author: Chaoren Lin <chaorenl@google.com> Date: Wed Feb 10 19:21:12 2016 -0800 Find AndroidNdkModules.cmake relative to android.toolchain.cmake. commit a10075e2cb30af2e1f9a30da99efac880658ad6b Author: Chaoren Lin <chaorenl@google.com> Date: Wed Feb 10 19:03:11 2016 -0800 Remove cpp-empty-test from project templates. commit e070fcbf210b8628f75785e738202a80a95ac0ff Author: WenhaiLin <wenhai.lin@chukong-inc.com> Date: Mon Aug 31 09:56:03 2015 +0800 Fix CMake for Android Target
2016-03-03 08:51:54 +08:00
endif(BUILD_CPP_EMPTY_TEST)
# build cpp-tests
if(BUILD_CPP_TESTS)
add_subdirectory(tests/cpp-tests)
endif(BUILD_CPP_TESTS)
## Scripting
if(BUILD_LUA_LIBS)
add_subdirectory(cocos/scripting/lua-bindings)
# build lua tests
if(BUILD_LUA_TESTS)
add_subdirectory(tests/lua-tests/project)
add_subdirectory(tests/lua-empty-test/project)
endif(BUILD_LUA_TESTS)
2014-03-11 17:52:28 +08:00
2014-09-27 16:26:35 +08:00
endif(BUILD_LUA_LIBS)
2015-04-15 14:02:04 +08:00
## JS
if(BUILD_JS_LIBS)
add_subdirectory(cocos/scripting/js-bindings)
2015-04-15 14:02:04 +08:00
2015-04-23 10:42:44 +08:00
# build js tests
2015-04-15 14:02:04 +08:00
if(BUILD_JS_TESTS)
2015-04-23 10:42:44 +08:00
add_subdirectory(tests/js-tests/project)
2015-04-15 14:02:04 +08:00
endif(BUILD_JS_TESTS)
endif(BUILD_JS_LIBS)