Commit Graph

81 Commits

Author SHA1 Message Date
Arnold fe497933f8 3d support: some test cases works
* hack to make sprite3d test work

* support cull face

* support setting front face winding

* convert depth compare function type

* clean codes

* remove usage of glprogramstate

* pass needed information to Material::draw()

* add 3d textures

* enable animation

* 3D: compile on windows  (#179)

* exclude source files from extensions/

* enable assets and 3D

* run on windows

* update comments

* use std::vector instead of raw pointer void *

* compile on mac

* revert cmake

* fix bufferdata

* add todos

* remove dirty flag from uniform buffer

* argument type const &

* enable more tests

* update shader

* save: failed to compile

* pass compilation

* fix type convert

* save stage

* save stage 2

* remove VertexData & IndexBuffer & VertexBuffer

* comment out _meshCommand

* comment bindPredefinedVertexAttribs()

* fix xcode project file

* simple refactor

* remove unused files

* revert sprite3d testcase position

* revert change

* remove ProgramGL::bindPredefinedVertexAttribs()

* add header <string>

* fix uniform size
2019-01-30 09:35:17 +08:00
leda 4f0ef25c6f sync cmake changes into metal-support (#19335)
* sync #19327

* sync #19329
2019-01-23 09:55:55 +08:00
minggo 8d9bd925c9
metal support for cocos2d-x (#19305)
* remove deprecated files

* remove some deprecated codes

* remove more deprecated codes

* remove ui deprecated codes

* remove more deprecated codes

* remove deprecated codes in ccmenuitem

* remove more deprecated codes in ui

* remove more deprecated codes in ui

* remove more deprecated codes in ui

* remove more deprecated codes

* remove more deprecated codes

* remove more deprecated codes

* remove vr related codes and ignore some modules

* remove allocator

* remove some config

* 【Feature】add back-end project file

* [Feature] add back-end file

* add pipeline descriptor and shader cache

* [Feature] support sprite for backend

* [Feature] remove unneeded code

* [Feature] according to es2.0 spec, you must use clamp-to-edge as  texture wrap mode, and no mipmapping for non-power-of-two texture

* [Feature] set texture wrap mode to clamp-to-edge, and no mipmapping for non-power-of-two texture

* [Feature] remove macro define to .cpp file

* [Feature] add log info

* [Feature] add PipelineDescriptor for TriangleCommand

* [Feature] add PipelineDescriptor object as member of TriangleCommand

* [Feature] add getPipelineDescriptor method

* add renderbackend

* complete pipeline descriptor

* [Feature] add viewport in RenderCommand

* set viewport when rendrering

* [Feature] occur error when using RendererBackend, to be fixed.

* a workaround to fix black screen on macOS 10.14 (#19090)

* add rendererbackend init function

* fix typo

* [Feature] modify testFile

* [BugFix] modify shader path

* [Feature] set default viewport

* fix projection

* [Feature] modify log info

* [BugFix] change viewport data type to int

* [BugFix] add BindGroup to PipelienDescriptor

* [BugFix] change a_position to vec3 in sprite.vert

* [BugFix] set vertexLayout according to V3F_C4B_T2F structure

* [Feature] revert a_position to vec4

* [Feature] renderer should not use gl codes directly

* [Feature] it's better not use default value parameter

* fix depth test setting

* rendererbackend -> renderer

* clear color and depth at begin

* add metal backend

* metal support normalized attribute

* simplify codes

* update external

* add render pass desctriptor in pipeline descriptor

* fix warnings

* fix crash and memeory leak

* refactor Texture2D

* put pipeline descriptor into render command

* simplify codes

* [Feature] update Sprite

* fix crash when closing app

* [Feature] update SpriteBatchNode and TextureAtlas

* support render texture(not finish)

* [Feature] remove unused code

* make tests work on mac

* fix download-deps path error

* make tests work on iOS

* [Feature] support ttf under normal label effect

* refactor triangle command processing

* let renderer handle more common commands

* refactor backend

* make render texture work

* [Feature] refactor backend for GL

* [Feature]Renaming to make it easy to understand

* [Feature] change warp mode to CLAMP_TO_EDGE

* fix ghost

* simplify visit render queue logic

* support progress timer without rial mode

* support partcile system

* Feature/update label (#149)

* [BugFix] fix compile error

* [Feature] support outline effect in ios

* [Feature] add shader file

* [BugFix] fix begin and end RenderPass

* [Feature] update CustomCommand

* [Feature] revert project.pbxproj

* [Feature] simplify codes

* [BugFix] pack AI88 to RGBA8888 only when outline enable

* [Feature] support shadow effect in Label

* [Feature] support BMFont

* [Feature] support glow effect

* [Feature] simplify shader files

* LabelAtlas work

* handle blend function correctly

* support tile map

* don't share buffer in metal

* alloc buffer size as needed

* support more tilemap

* Merge branch 'minggo/metal-support' into feature/updateLabel

* minggo/metal-support:
  support tile map
  handle blend function correctly
  LabelAtlas work
  Feature/update label (#149)
  support partcile system

# Conflicts:
#	cocos/2d/CCLabel.cpp
#	cocos/2d/CCSprite.cpp
#	cocos/2d/CCSpriteBatchNode.cpp
#	cocos/renderer/CCQuadCommand.cpp
#	cocos/renderer/CCQuadCommand.h

* render texture work without saving file

* use global viewport

* grid3d works

* remove grabber

* tiled3d works

* [BugFix] fix label bug

* [Feature] add updateSubData for buffer

* [Feature] remove setVertexCount

* support depth test

* add callback command

* [Feature] add UITest

* [Feature] update UITest

* [Feature] remove unneeded codes

* fix custom command issue

* fix layer color blend issue

* [BugFix] fix iOS compile error

* [Feature] remove unneeded codes

* [Feature] fix updateVertexBuffer

* layerradial works

* add draw test back

* fix batch issue

* fix compiling error

* [BugFix] support ETC1

* [BugFix] get the correct pipelineDescriptor

* [BugFix]  skip draw when backendTexture nullptr

* clipping node support

* [Feature] add shader files

* fix stencil issue in metal

* [Feature] update UILayoutTest

* [BugFix] skip drawing when vertexCount is zero

* refactor renderer

* add set global z order for stencil manager commands

* fix warnings caused by type

* remove viewport in render command

* [Feature] fix warnings caused by type

* [BugFix] clear vertexCount and indexCount for CustomComand when needed

* [Feature] update clear for CustomCommand

* ios use metal

* fix viewport issue

* fix LayerColorGradient crash

* [cmake] transport to android and windows (#160)

* save point 1

* compile on windows

* run on android

* revert useless change

* android set CC_ENABLE_CACHE_TEXTURE_DATA to 1

* add initGlew

* fix android crash

* add TODO new-renderer

* review update

* revert onGLFWWindowPosCallback

* fix android compiling error

* Impl progress radial (#162)

* progresstimer add radial impl

* default drawType to element

* dec invoke times of createVertexBuffer (#163)

* support depth/stencil format for gl backend

* simplify progress timer codes

* support motionstreak, effect is wrong

* fix motionstreak issue

* [Feature] update Scissor Test (#161)

* [Feature] update Scissor Test

* [Feature] update ScissorTest

* [Feature] rename function

* [Feature] get constant reference if needed

* [Feature] show render status (#164)

* improve performance

* fix depth state

* fill error that triangle vertex/index number bigger than buffer

* fix compiline error in release mode

* fix buffer conflict between CPU and GPU on iOS/macOS

* Renderer refactor (#165)

* use one vertes/index buffer with opengl

* fix error on windows

* custom command support index format config

* CCLayer: compact vertex data structure

* update comment

* fix doc

* support fast tilemap

* pass index format instead

* fix some wrong effect

* fix render texture error

* fix texture per-element size

* fix texture format error

* BlendFunc type refactor, GLenum -> backend::BlendFactor  (#167)

* BlendFunc use backend::BlendFactor as inner field

* update comments

* use int to replace GLenum

* update xcode project fiel

* rename to GLBlendConst

* add ccConstants.h

* update xcode project file

* update copyright

* remove primitive command

* remove CCPrimitive.cpp/.h

* remove deprecated files

* remove unneeded files

* remove multiple view support

* remove multiple view support

* remove the usage of frame buffer in camera

* director don't use frame buffer

* remove FrameBuffer

* remove BatchCommand

* add some api reference

* add physics2d back

* fix crash when close app on mac

* improve render texture

* fix rendertexture issue

* fix rendertexture issue

* simplify codes

* CMake support for mac & ios (#169)

* update cmake

* fix compile error

* update 3rd libs version

* remove CCThread.h/.cpp

* remove ccthread

* use audio engine to implement simple audio engine

* remove unneeded codes

* remove deprecated codes

* remove winrt macro

* remove CC_USE_WIC

* set partcile blend function in more elegant way

* remove unneeded codes

* remove unneeded codes

* cmake works on windows

* update project setting

* improve performance

* GLFloat -> float

* sync v3 cmake improvements into metal-support (#172)

* pick: modern cmake, compile definitions improvement (#19139)

* modern cmake, use target_compile_definitions partly

* simplify macro define, remove USE_*

* modern cmake, macro define

* add physics 2d macro define into ccConfig.h

* remove USE_CHIPMUNK macro in build.gradle

* remove CocosSelectModule.cmake

* shrink useless define

* simplify compile options config, re-add if necessary

* update external for tmp CI test

* un-quote target_compile_options value

* add "-g" parameter only when debug mode

* keep single build type when generator Xcode & VS projecy

* update external for tmp CI tes

* add static_cast<char>(-1), fix -Wc++11-narrowing

* simplify win32 compile define

* not modify code, only improve compile options

# Conflicts:
#	.gitignore
#	cmake/Modules/CocosConfigDepend.cmake
#	cocos/CMakeLists.txt
#	external/config.json
#	tests/cpp-tests/CMakeLists.txt

* modern cmake, improve cmake_compiler_flags (#19145)

* cmake_compiler_flags

* Fix typo

* Fix typo2

* Remove chanages from Android.mk

*  correct lua template cmake build (#19149)

* don't add -Wno-deprecated into jsb target

* correct lua template cmake build

* fix win32 lua template compile error

* prevent cmake in-source-build friendly (#19151)

* pick: Copy resources to "Resources/" on win32 like in linux configuration

* add "/Z7" for cpp-tests on windows

* [cmake] fix iOS xcode property setting failed (#19208)

* fix iOS xcode property setting failed

* use search_depend_libs_recursive at dlls collect

* fix typo

* [cmake] add find_host_library into iOS toolchain file (#19230)

* pick: [lua android] use luajit & template cmake update (#19239)

* increase cmake stability ,  remove tests/CMakeLists.txt (#19261)

* cmake win32 Precompiled header (#19273)

* Precompiled header

* Fix

* Precompiled header for cocos

* Precompiled header jscocos2d

* Fix for COCOS2D_DEBUG is always 1 on Android (#19291)

Related #19289

* little build fix, tests cpp-tests works on mac

* sync v3 build related codes into metal-support (#173)

* strict initialization for std::array

* remove proj.win32 project configs

* modern cmake, cmake_cleanup_remove_unused_variables (#19146)

* Switch travis CI to xenial (#19207)

* Switch travis CI to xenial

* Remove language: android

* Set language: cpp

* Fix java problem

* Update sdkmanager

* Fix sdkmanger

* next sdkmanager fix

* Remove xenial from android

* revert to sdk-tools-{system}-3859397

* Remove linux cmake install

* Update before-install.sh

* Update .travis.yml

* Simplify install-deps-linux.sh, tested on Ubuntu 16.04 (#19212)

* Simplify install-deps-linux.sh

* Cleanup

* pick: install ninja

* update cocos2d-console submodule

* for metal-support alpha release, we only test cpp

* add HelloCpp into project(Cocos2d-x) for tmp test

* update extenal metal-support-4

* update uniform setting

* [Feature] update BindGroup

* [Feature] empty-test

* [Feature] cpp-test

* [Feature] fix GL compiler error

* [Feature] fix GL crash

* [Feature] empty-test

* [Feature] cpp-tests

* [feature] improve frameRate

* [feature] fix opengl compile error

* [feature] fix opengl compile error

* [BugFix] fix compute maxLocation error

* [Feature] update setting unifrom

* [Feature] fix namespace

* [Feature] remove unneeded code

* [Bugfix] fix project file

* [Feature] update review

* [texture2d] impl texture format support  (#175)

* texture update

* update

* update texture

* commit

* compile on windows

* ddd

* rename

* rename methods

* no crash

* save gl

* save

* save

* rename

* move out pixel format convert functions

* metal crash

* update

* update android

* support gles compressed texture format

* support more compress format

* add more conversion methods

* ss

* save

* update conversion methods

* add PVRTC format support

* reformat

* add marco linux

* fix GL marcro

* pvrtc supported only by ios 8.0+

* remove unused cmake

* revert change

* refactor Texture2D::initWithData

* fix conversion log

* refactor Texture2D::initWithData

* remove some OpenGL constants for PVRTC

* add todo

* fix typo

* AutoTest works on mac/iOS by disable part cases, sync v3 bug fix (#174)

* review cpp-tests, and fix part issues on start auto test

* sync png format fix: Node:Particle3D abnormal texture effects #19204

* fix cpp-tests SpritePolygon crash, wrong png format (#19170)

* fix wrong png convert format from sRGB to Gray

* erase plist index if all frames was erased

* test_A8.png have I8 format, fix it

* [CCSpriteCache] allow re-add plist & add testcase (#19175)

* allow re-add plist & add testcase

* remove comments/rename method/update testcase

* fix isSpriteFramesWithFileLoaded & add testcase

* remove used variable

* remove unused variable

* fix double free issues when js/lua-tests exit on iOS (#19236)

* disable part cases, AutoTest works without crash on mac

* update cocos2dx files json, to test cocos new next

* fix spritecache plist parsing issue (#19269)

* [linux] Fix FileUtils::getContents with folder (#19157)

* fix FileUtils::getContents on linux/mac

* use stat.st_mode

* simplify

* [CCFileUtils] win32 getFileSize (#19176)

* win32 getFileSize

* fix stat

* [cpp test-Android]20:FileUtils/2 change title (#19197)

* sync #19200

* sync #19231

* [android lua] improve performance of lua loader (#19234)

* [lua] improve performance of lua loader

* remove cache fix

* Revert "fix spritecache plist parsing issue (#19269)"

This reverts commit f3a85ece4307a7b90816c34489d1ed2c8fd11baf.

* remove win32 project files ref in template.json

* add metal framework lnk ref into cpp template

* test on iOS, and disable part cases

* alBufferData instead of alBufferDataStatic for small audio file on Apple (#19227)

* changes AudioCache to use alBufferData instead of alBufferDataStatic

(also makes test 19 faster to trigger openal bugs faster)

The original problem: CrashIfClientProvidedBogusAudioBufferList
https://github.com/cocos2d/cocos2d-x/issues/18948
is not happening anymore, but there's still a not very frequent issue
that makes OpenAL crash with a call stack like this.
AudioCache::readDataTask > alBufferData > CleanUpDeadBufferList

It happes more frequently when the device is "cold", which means after
half an hour of not using the device (locked).

I could not find the actual source code for iOS OpenAL, so I used the
macOS versions:
https://opensource.apple.com/source/OpenAL/OpenAL-48.7/Source/OpenAL/oalImp.cpp.auto.html

They seem to use CAGuard.h to make sure the dead buffer list
has no threading issues. I'm worried because the CAGuard code I found
has macos and win32 define but no iOS, so I'm not sure. I guess the
iOS version is different and has the guard.

I could not find a place in the code that's unprotected by the locks
except the InitializeBufferMap() which should not be called more than
once from cocos, and there's a workaround in AudioEngine-impl for it.

I reduced the occurence of the CleanUpDeadBufferList crash by moving
the guard in ~AudioCache to cover the alDeleteBuffers call.

* remove hack method "setTimeout" on audio

* AutoTest works on iOS

* support set ios deployment target for root project

* enable all texture2d cases, since Jiang have fixed

* add CCTextureUtils to xcode project file (#176)

* add leak cases for SpriteFrameCache (#177)

* re-add SpriteFrameCache cases

* update template file json

* Update SpriteFrameCacheTest.cpp

* fix compiling error
2019-01-18 15:08:25 +08:00
leda 48cce75be4
remove un-elegant prebuilt feature in cmake (#19109)
* remove unclearly cmake prebuilt feature

* reduce useless code

* add project info print
2018-10-12 12:36:17 +08:00
leda 98120fb9d8
refactor cmake on use libs (#19054)
* link external build by modern cmake

* use "--whole-archive" for part android spec

* update travis

* update CI, add cmake tests on win32
2018-09-24 20:16:04 -07:00
Arnold 8d75c07dcb Upgrade dep libs (#19015)
* add libuv
* recompile libwebsocket 2.4.2 with libuv enabled
2018-09-06 16:07:25 +08:00
boondaburrah 40934faf09 Fix OSX linker error with missing GameController.framework (#18926)
* Fix OSX linker error with missing GameController.framework

* remove GameController.framework from jscocos2d_depend_libs

GameController.framework is now included in all APPLE builds so it's not necessary to include it twice.
2018-07-11 09:40:18 +08:00
leda 1f1664ae27
fix cmake win32 macro definitions, and improve (#18856)
* fix win32 macro error, improve cmake macro define

* add more comments
2018-05-28 09:27:03 +08:00
leda a44e208975
fix cmake android prebuilt libcpufeatures path error (#18847)
* add cpufeatures lib output path

* added audio header
2018-05-25 09:56:19 +08:00
leda 1ea57fe42a
let app resource path visible when executing "cmake .." on win32 (#18839) 2018-05-23 11:23:16 +08:00
leda eae47d008d sync 3.17 to v3 (#18837)
* fix cmake use sqlite3 error on macOS (#18822)

* fix cmkae dumplicate include dir in macOS

* reduce outer effect when fix js-tests sqlite link error

* improve fix dumplicate include-dir

* sqlite3 use error

* add sqlite3 lib link for iOS (#18825)

* [ci skip][AUTO]: updating luabinding & jsbinding & cocos_file.json automatically (#18823)

* docs update for 3.17 release, ChangeLog and ReleaseNotes (#18824)

* start add changelog for 3.17 changes

* add changelog

* go on changelog

* refine and reorder changelog

* finish change log

* add a miss item

* start ReleaseNote

* add more changelog

* add test env

* add doctoc

* improve some words

* remove typo error

* improvement

* bugs -> Bugs

* detail releasenotes

* improve release notes

* finish improve ReleaseNotes

* add english releaseNotes

* improve english release note

* add english doctoc

* some improvements

* fix typo error

* improve english tittle

* update root Readme (#18830)

* adapt readme for 3.17 release

* add a item for getting help

* reorder get help

* modify for release (#18831)

* modify for release

* started CMake doc edits

* revisions

* sync Chinese release notes with English improvements (#18832)

* sync chinese release notes with English improvements

* little fix

* update doctoc

* update releaseNotes doctoc
2018-05-21 17:06:29 +08:00
leda e74e07bde4 refactor cmake copy res, fix #18813 (#18816)
* refactor cmake cocos copy res function

* refactor cmake dll copy from add_custom_command to configure_file
2018-05-17 09:07:17 +08:00
leda 4675ee79cd correct iOS project config when using CMake `-GXcode` generate (3.17 round 2 test) (#18808)
* ARCH_DIR only useful for search linux prebuilt libs

* add iOS app target ONLY_ACTIVE_ARCH property

* set Xcode property for application, include all depend target

* fix bugs-editbox-win32 crash

* improve EditBox-align test case

* typo error

* update cocos-console submodule

* VS RelWithDebInfo build use release folder external libs
2018-05-11 15:09:09 +08:00
leda 391f30a3f3 beauty cmake format, reduce duplicate defines (#18799)
* reduce cmake module duplicate

* make module use more clear, correct cmake style

* keep default physics option

* delete the modules distributed with cmake

* unify the cmake files format

* use AndroidNdkModules at cmake sys modules

* add cmake comments for win

* update cocos2dx files list, manually
2018-05-02 15:33:01 +08:00
leda 383c5afa6b Fix sqlite link error,CMake support iOS app Icon (#18746)
* make pack iOS app on Device easier

* fix sqlite link error

* fix app no Icon on iOS when CMake generate Xcode project

* remove useless info.plist source add

* rollback default iOS platform to device

* update cmake readme for ios build

* change android default build to ndk-build, not cmake
2018-04-03 11:18:22 +08:00
leda 86ea3a8aee cmake add collect headers list, unify the logic of source add (#18722)
* fix mistake for ios lua template

* auto select headers depend on sources

* change cmake "cocos_build_app" from macro to function

* fix cmake dll repeat copy

* update travis srcipt

* add header list for cocos lib

* add header list in cmake files

* re-add include dir Classes

* improve template cpp var name

* remove func get_headers_by_sources

* cmake add simulator header list

* make source and header collect more clear

* improve macos app pkg

* improve ios pkg, run failed

* revert the ios pak logic, keep older

* expand var APP_BIN_DIR scope

* fix use sqlite3 error on linux

* fix win32 compile error

* remove multi-add mistake

* try to fix python install issue on travis

* fix js-tests build on android

* uninstall old python in travis

* add travis  python print info

* fix command ll to ls -l

* remove useless link

* PYTHON_BIN adapt homebrew python
2018-03-14 13:51:29 +08:00
leda 50ecf00115 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
leeda edee97278f V3 android cmake support, add mac/ios support (#18646)
* CMake build improvements

* android cmake support

* Enable proguard for cocos2d

* examples & test cmake support

* add android build type param to gradle.properties file

* less warnings

* update all android configs to recomended settings

* fix network cmake error

* fix js-tests cmake error

* android build config, add cmake

* android build config, add cmake

* add lua share lib

* android lua cmake build fix

* fix

* luajit test

* run fail, still

* fix js-warning

* correct lua main include

* lua test project cmake support android

* try to add lua-template cmake support

* lua template fix

* js_tests support cmake on android

* js-tests improve

* cmake support js-template

* test to realise prebuild

* cmake improve, no feature

* improve templates cmake

* refactor cmake struct

* correct cpp-tests cmake

* cpp-templates cmake improve

* typo fix

* cmake struct refator

* change default option

* adapt new project struct

* uniform cmake test style

* add_dependencies to support make -j

* little struct improve

* little fix

* adapt cmake bin dir

* little improve about cmake version

* change build all tests condition

* add source_group for Xcode

* add mark source files

* add more mark source code

* add template project to test

* add macos info.plist template

* add pak macos for all project

* lua test icon fix

* not consider lua project for now

* modify pak method

* add another ios toolchain

* add ios system library

* update ios toolchain, and reduce ios compile errors

* reduce error

* make ios engine lib compile pass

* cpp-empty-test ios bundle

* cpp-tests ios support

* js-tests ios support

* templates project support ios

* fix the way of lua-tests package

* try to fix lua-template on macOS

* comment lua-template sim file

* improve display on xcode

* update cmake readme

* check android compile again

* fix android compile error

* fix linux cmake res error

* update deps version, for cmake

* fix lua_template linux compile error

* close android cmake support for now

* review template android share library name

* change PROP_BUILD_TOOLS_VERSION version to 27.0.1

* change android compile version

* make `PROP_APP_PLATFORM` back, add comments for android native build

* Revert "make `PROP_APP_PLATFORM` back, add comments for android native build"

This reverts commit 272ddc19886891b9502cde070753a870c0fdb588.
2018-02-08 09:24:33 +08:00
minggo 56baabfe50
update glfw to 3.2.1 (#18434) 2017-11-02 15:25:12 +08:00
minggo b53eb25200
use prebuilt version of Box2D (#18422) 2017-10-31 14:31:23 +08:00
Julio Montes 69a37a763e cmake: use *-2015 libs when msvc is greater than 1900 (#18007)
This patch adds support for newer versions of visual studio

fixes: #18006

Signed-off-by: Julio Montes <imc.coder@gmail.com>
2017-07-03 17:20:25 +08:00
minggo 4ce443bac2 use prebuilt version of bullet (#17950)
* use prebuilt bullet

* prebuilt bullet work ok on linux

* update search path

* update search path

* fix compiling issue for lua/jsb projects

* prebuilt bullet work on windows

* update 3rd party lib version

* add bullet search path

* fix script bindings issue

* fix scripting binding
2017-06-21 13:39:38 +08:00
James Chen b1f2a056b2 Refactor WebSocket to support SSL (wss) (#17172)
* Refactors WebSocket:
1. Supports wss protocol
2. Uses only one libwebsockets context, multiple wsi instances to avoid multi-thread issues
3. Uses lws_create_vhost to create multiple virtual host, different protocols works

* Adds openssl include path to xcode project configuration.

* mac doesn’t depend on curl

* ca file path should be full path.

* More bug fixes like which in https://github.com/cocos2d/cocos2d-x/pull/6986

* Remove curl dependence for mac

* Updates Andorid.mk

* [win32] Adds wss support for win32, and updates openssl, libcurl, libwebsockets libraries.

* Updates external/config.json to 118.

* [win32] Updates cocos/2d/libcocos2d.vcxproj to fix compilation error while building in release mode.

* Linux support websocket ssl connection.

* Updates external/config.json

* Updates install-deps-linux.sh

* Adds dependence of binutils, print ld version

* Updates travis scripts.

* Updates travis scripts.

* Updates travis script, don’t output log while extracting.

* update before-install.sh

* updates before-install.sh

* updates before-install.sh

* don’t output log for installing software.

* Updates config.json to 120.
2017-01-19 13:55:14 +08:00
minggo 0e8b1210fc fix typo (#16813) 2016-11-07 10:36:53 +08:00
minggo db21e5f349 [ci skip]Travis enable pull request (#16494)
* refactor travis and build pull request

* delete unneeded file
2016-09-01 16:25:47 +08:00
Dawid Drozd 662cbbe657 Fix BUILD_SHARED_LIBS ON needs -fPIC #16426 (#16427)
Fix for issue #16426
2016-08-24 17:50:12 -07:00
Furkan Üzümcü fe6c52c1b4 Use the VS 2015 libraries for MSVC 14 (#16359)
* Use the VS 2015 libraries for MSVC 14

When compiling with MSVC 14, the linker cannot find `libpng-2015.lib`, `libtiff-2015.lib`, `libjpeg-2015.lib` and `libglfw-2015.lib`. This commit fixes that problem

* Remove the -2015 suffix from the non-MSVC 14 part on libchipmunk

* Fix Linux compiler errors

Check If we are on Windows then check for VS 2015.
2016-08-16 16:57:03 +08:00
minggo b74900fe70 fix js template 2016-07-27 16:57:03 +08:00
Ricardo Quesada b8601493bb fix: detect sqlite headers in linux
fixes github issue #14070

PR based on https://github.com/cocos2d/cocos2d-x/pull/14098
by @firefly2442
2016-06-28 15:12:25 -07:00
Adrien de Sentenac dac9be5016 Various CMake improvements
- Added c++_shared (LLVM) to Android toolchain options. Fixed AndroidNdkGdb.cmake.
- Fixed includes when not using prebuilt libs. Added option to use sources in external when not using prebuilt libs.
- Added option in CMake to be able build Box2D without using it as physics library in cocos2d-x (similar to what is done in the Visual Studio solution).
2016-06-14 10:20:57 -04:00
bart f4c353b678 Fix: Use CC_USE_3D_PHYSICS=1 for Bullet physics instead of CC_USE_PHYSICS 2016-05-28 01:04:17 +02:00
minggo c26eb228b2 refactor cmake 2016-04-18 15:03:06 +08:00
Ricardo Quesada 028f8c28e1 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-02 16:51:54 -08:00
Ricardo Quesada bc11e24019 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-02-29 13:53:00 -08:00
cesarpachon 40f6f76030 AudioEngine:Linux: implementation using FMOD, refactor to SimpleAudioEngine now as wrapper of AUdioEngine, upgrade FMOD binaries 2015-11-26 22:22:05 -05:00
hanxi b1ed1a8a51 add UIEditBox support linux platform. 2015-09-18 17:11:58 +08:00
Martell Malone 9d7598dad2 fix building with system prebuilt libs 2015-07-22 14:19:22 +01:00
andyque ce204a11db remove zlib in linux, because linux use system png and zlib 2015-04-07 23:20:03 +08:00
andyque 9457904fac fixed freetype2 include issue 2015-04-07 23:20:02 +08:00
Vladimir Timofeev 567c5933bb cmake: fix GLEW include dir for msvc prebuilt library 2015-01-26 10:02:27 +03:00
Vladimir Timofeev edb4e770b1 Remove unused code from Find*.cmake modules. All logic with USE_PREBUILT_LIBS are handled in cmake/Modules/CocosUsePrebuiltLibs.cmake 2014-12-20 23:10:28 +03:00
Vladimir Timofeev 4047ba0fda cmake: on some systems (ubuntu 14.10 for ex) pkg-config --cflags glfw3 returns only special includes, so try search glfw3.h in default locations if fist search fail 2014-11-25 22:51:35 +03:00
Vladimir Timofeev b299f7f74d Remove debug info. And add warning message if pkg-config not found. 2014-11-25 16:41:46 +03:00
Vladimir Timofeev 3bb163a979 Add fresh FindPkgConfig.cmake for sure that vendors not overwrite it. 2014-11-25 16:18:07 +03:00
Vladimir Timofeev 43fb2986dc Additional debug info. 2014-11-25 16:00:05 +03:00
Vladimir Timofeev a8695b2f86 add some debug info 2014-11-25 13:40:01 +03:00
Vladimir Timofeev aad8d2e98f remove some debug output 2014-11-25 07:26:40 +03:00
Vladimir Timofeev d8980b3a7b cmake: fixes for old cmake 2.8.12 2014-11-25 07:26:33 +03:00
Vladimir Timofeev 4e2ab8b961 pkg-config return include directory for use as '#include <GLFW/glfw3.h>', but we use '#include "glfw3.h"', fix include dir. 2014-11-25 07:26:17 +03:00
Vladimir Timofeev 2838f57a96 Rewrite FindGLFW3.cmake, so it can found static glfw3 and link all deps. 2014-11-25 07:26:06 +03:00