Commit Graph

218 Commits

Author SHA1 Message Date
halx99 39eb09daad Fix xcode ci 2021-08-12 11:25:01 +08:00
halx99 6ee687302b Xcode Embed Frameworks support
refer to: https://gitlab.kitware.com/cmake/cmake/-/issues/22412#note_997156
2021-08-10 11:43:16 +08:00
halx99 f70ad053c0 Rename everything to adxe 2021-07-09 10:42:36 +08:00
halx99 be1d5c5a7b Sync CMakeLists.txt and README files [skip ci] 2021-07-08 22:55:33 +08:00
halx99 61af6d75f9 Update readme guide and fixup [ci build] 2021-06-08 21:53:18 +08:00
halx99 5effccdb3c Update name 2021-06-01 20:31:48 +08:00
RH df126856ba
Fix for incorrect COCOS_COMMAND path (#357) 2021-05-24 23:15:06 +08:00
halx99 adce3298de Fix lua build [ci build] 2021-05-24 19:18:15 +08:00
HALX99 a42f9ac25c
Renaming refactor (#353) [ci build] 2021-05-18 16:40:30 +08:00
HALX99 529895baff
Update ios.mini.cmake 2021-05-14 08:22:46 +08:00
halx99 36965d2e49 Fix #352 [ci build] 2021-05-12 11:18:31 +08:00
halx99 6aea443282 Fix cmake issue [ci build]
Avoid cause check_include_file return unexpected result.
2021-05-11 23:48:15 +08:00
HALX99 2c7830246a
Merge pull request #350 from rh101/fix-cmake-set-property
Fix for CMake error when set_property is called with aliased target
2021-05-05 19:49:30 +08:00
rh101 3a7bb58045 Extract real target from ALIAS if it exists in order to set property successfully
Remove duplicate entries in dependencies lists
2021-05-05 16:04:06 +10:00
halx99 617f7a5f15 Building glfw,freetype,openal,curl from sources [ci build] 2021-04-28 12:43:51 +08:00
halx99 3f1f872ba0 Disable luajit compile for release build 2021-02-05 21:59:50 +08:00
HALX99 abc87f8cd5
Update README.md 2020-12-29 21:48:02 +08:00
HALX99 959c3fb19f
Update README.md 2020-12-29 20:55:12 +08:00
halx99 5056eb9ef2 fix link error on macOS Big Sur 11.01
Follow lib removed by Apple
1. /usr/lib/libz.dylib
2. /usr/lib/libiconv.dylib
2020-12-02 21:59:57 -08:00
halx99 108399ede3 Unify CC_COMPAT_GL to control renderer backend
win32: google angle
mac: NSGL
ios: GLES
2020-12-02 03:03:05 -08:00
halx99 35ac7f43ce Since we don't support ios x86 simulator yet, set ios default min deployment target to 9.0 is ok 2020-11-15 21:46:24 -08:00
HALX99 025a91996a
Update ios.mini.cmake 2020-11-13 11:01:48 +08:00
HALX99 381e385f36
Update ios.mini.cmake 2020-11-13 01:08:26 +08:00
HALX99 6409f3550f
Unify ios min deployment target to 10.0 2020-11-13 01:07:41 +08:00
halx99 f7006b2034 Remove print 2020-11-11 22:33:48 -08:00
halx99 58ff3a5f4b fix ci for ios [ci build] 2020-11-11 15:07:21 +08:00
halx99 b68c8601d8 fix nasm detect variable CMAKE_ASM_NASM_COMPILER_LOADED not correct [ci build] 2020-11-11 13:51:34 +08:00
halx99 465831759e Make nasm compiler optional [ci build] 2020-11-11 13:27:52 +08:00
halx99 649f1c7a62 Try enable nasm compiler for libjpeg-turbo boost 2020-11-11 10:31:41 +08:00
halx99 8bf0039751 Add compiler flags -mfloat-abi=softfp for android armv7? 2020-11-10 14:36:55 +08:00
halx99 975ef2ff61 Lock name 2020-10-24 21:57:36 +08:00
halx99 cdd0c527d9 Update cmake build guide [skip appveyor][skip travis] 2020-10-22 17:58:21 +08:00
halx99 8a69a3a5cc Set CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET at toolchain file ios.mini.cmake 2020-10-22 17:50:25 +08:00
halx99 b8834bc086 Finsih rename 2020-10-22 10:58:10 +08:00
HALX99 90ecc475f0
Refactor modules (#238) 2020-10-17 16:32:16 +08:00
HALX99 d907a1a7a5
Build mac with alsoft support (#226)
* Build mac with alsoft support

* Add missing dep for mac

* Update CocosConfigDepend.cmake
2020-10-06 20:55:38 +08:00
halx99 1735517112 Improve win dll support 2020-10-06 16:46:38 +08:00
HALX99 235f09f635
Refactor pixel format manipulate (#217)
* PixelFormat use table

* Correct PixelFormat name to match 'GL_LUMINANCE'

* Up

* fix cube update texture enum

* linux build

* Refine ci

* fix linux build

* Remove unused function, match mtl framebuffer pixel format

* readPixels always RGBA format

* fix ci for linux

* fix linux build

* Remove unused functions

* fix travis

* fix android ci

* Update config.json

* linux glad

* Update CCGLViewImpl-desktop.cpp

* fix linux build

* Fix linux build

* Link issue [skip appveyor][skip travis]

* Update CMakeLists.txt

* Refine GL enums use

* Update test case name [skip appveyor][skip travis]

* fix linux link issue

* for mtl

* fix ci

* Tidy pixelformat enums

* fix ci

* fix rgba8 to abgr4 error

* fix ci

* fix ci for GLES

* Fix linux build, require glibc-2.27+

* Use properly dist for travis [skip appveyor]

* fix linux build [skip appveyor]

* Update install-deps-linux.sh

* Remove unused members for pixel block info, update external to v73

* Sync from compile linux warnings

* Remove unused check, and PixelFormat::A8 is ordinary format, not compressed format

* metal doesn't support rgb8 (#3)

* Update CCTexture2D.cpp

* Refine code

* Pixel Format Descriptor Table

* fix ci

* BGR5A1

* Simplfy texture format convert function name

* Update

* rgba4 match mtl render format

* Add note about RGBA4

* Remove unused function

* fix osx

* Already converted at texture2d

* Clearly comment

* fixup
2020-09-25 11:07:56 +08:00
halx99 2d2d0e7ee6 Take care PBO use on android 2020-09-15 16:01:44 +08:00
halx99 e9de615d36 Don't config c standard on windows 2020-08-30 13:48:12 +08:00
halx99 06cf13d962 Remove cmake message print 2020-08-29 01:40:55 +08:00
halx99 2bc966efb6 fix #183 2020-08-29 01:39:27 +08:00
halx99 1975ad1f94 Add CMake -DCC_FORCE_USE_GLES to control whether force use gles on win32,iOS 2020-08-28 12:57:00 +08:00
HALX99 75a210d696
Delete ios.toolchain.cmake
Unused
2020-08-27 14:12:11 +08:00
halx99 7cd25f5a66 Improve ios CMake scripts 2020-08-24 01:26:12 -07:00
halx99 395fb890ce Enable strict try compile by default
Since we solve try_compile failed with code sign for ios device
2020-08-22 14:15:22 +08:00
halx99 4ff14cbf3a Add CXX_STD for cmake to specific c++ standard, c++14,17 should be compile 2020-08-18 11:41:42 +08:00
halx99 77fb065481 Update CMake scripts 2020-08-17 19:18:18 +08:00
halx99 acca2eff1b Add ios framework required by SDL2, check whether SDL2 support strip it later 2020-08-15 17:47:40 +08:00
halx99 b179975add Adapte zlib licensed AL library: mojoal 2020-08-14 18:58:44 +08:00
halx99 0f1dcc86dc Disable double use in chipmunk_types.h instead CMakeLists.txt more stable for ENGX 2020-08-09 22:41:06 +08:00
halx99 528187a0fc python3 also works for CMake build system 2020-08-05 18:31:24 +08:00
halx99 6eb58f58bd Optimize CMake scripts 2020-08-04 14:05:00 +08:00
halx99 b142167560 Huge changes, move spine,dragonbones,cocostudio to extensions folder, future make all extensions pluginable 2020-08-03 17:51:40 +08:00
halx99 b2f2f28cf0 fix cmake warnings & cover chipmunk float precision use on apple 2020-07-31 11:56:52 +08:00
halx99 005ec45f0a fix option order 2020-07-31 11:22:42 +08:00
halx99 594767290d Add CMAKE option CC_USE_ALSOFT_ON_APPLE to use kcat openal-soft on apple platform, by default currently OFF 2020-07-31 00:06:59 +08:00
halx99 03a7dbadbb fix chipmunk float precision mismatch on cmake script 2020-07-29 18:19:23 +08:00
halx99 ab4137aacc Try cpp14 2020-07-23 00:10:50 +08:00
halx99 c67bc05127 Update cmake toolchain 2020-07-21 23:06:54 +08:00
halx99 a70b43af1e Remove a submodules. 2020-07-20 18:41:45 +08:00
halx99 1f9f27d63f Use modern gl/gles loader 'glad' to instead 'glew' 2020-02-15 23:51:23 +08:00
halx99 e0070f910a Add ios.toolchain.cmake 2020-02-07 18:59:44 +08:00
HALX99 d3b9f15e16
Delete FindTinyXML2.cmake 2019-12-02 05:55:34 +08:00
Arnold 3b4748009f
use copy instead of linkis (#20356) 2019-11-21 15:12:37 +08:00
Arnold e3c636c23c Sync resource automatically on Windows and Linux (#20319) 2019-11-15 10:24:38 +08:00
CHP ac305862f4 Support multiple build configurations (#20314)
* MINSIZEREL_RELWITHDEBINFO_Support

* Remove DEBUG_MODE
2019-11-11 10:09:50 +08:00
minggo 5acc952a17
fix iOS build issue (#20292) 2019-11-05 15:23:54 +08:00
Andy Duplain 1a04787287 Rework CMake Xcode support. (#20205)
- Build using C++17 by default.
- Simplified customization of Xcode project via cmake.
- Add documentation to demonstrate how to use the customization.

- NOTE: I believe we could compile with bitcode enabled if the box2d
        library was compiled using bitcode.
2019-10-22 13:42:56 +08:00
minggo 774a90792c
fix link error on iOS simulator (#20172) 2019-09-26 16:09:59 +08:00
Arnold f3caa09fd6 code review update: cmake ios simulator limitation MacOS 10.15 (#20120) 2019-09-16 15:09:01 +08:00
Arnold 860b537b3e update readme (#20109) 2019-09-06 18:51:12 +08:00
minggo 9df47ef6fd
use WKWebview instead (#20103)
UIWebView is removed in iOS 13.
2019-09-06 09:57:38 +08:00
minggo d1abfd8aa2
use AVPlayerController instead (#20099) 2019-09-04 20:45:51 +08:00
CHP b9df8ad823 remove_ios.toolchain.cmake (#20058)
* remove_ios.toolchain.cmake

* simplify osx configuration

* Remove ios.toolchain.cmake
2019-08-26 10:01:16 +08:00
rh101 a61a06fb14 Add support for interface-only libraries. (#19994)
* Add support for interface-only libraries.

* Fixed code formatting.
2019-07-30 15:51:58 +08:00
minggo c5c6bd685b
sync 19873: Speed up post build step by disabling unnecessary cmake command (#19948) 2019-07-22 09:37:34 +08:00
Arnold cf83c91480 [cmake] Update plist template for iOS projects (#19828)
* update cmake template

* fix tabs

* use function instead of macros

* rename local variables & cocos_fake_set

* use g++ 7 in travis ci

* use clang

* use g++6
2019-06-17 18:37:56 -07:00
minggo 23a21ef298
Remove jsb related (#19729)
* remove jsb related codes
* update 3rd party
2019-05-24 00:00:51 -07:00
coulsonwang 833ab9bb81 need specify font path when use as system font (#19692)
* need specify font path when use as system font

* set custom fonts
2019-05-13 18:31:46 -07:00
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
CHP 4797732518 change PROP_BUILD_TYPE from ndk-build to CMake (#18953)
* Update gradle and android gradle plugin

* PROP_BUILD_TYPE=cmake
2018-07-22 15:28:17 +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 9275dda539 adjust android / linux build config for cocos CLI (#18780)
* make android native build default mode clear

* update android native build comment

* temp change sub-module, need change before merge

* change tests project cmake file dir

* change PROP_BUILD_TYPE to PROP_BUILD_TYPE

* change var name for build.gradle

* modify others 3 tests project config

* make compile_sdk_version same as target_sdk_version

* update sdk version in CI config script

* update sub-module to cocos2d

* let the cmake build of template  project more clear

* update cocos-console submodule
2018-04-24 13:46:20 +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 185d7706f0 add cmake guide docs (#18719)
* improve cmake docs

* cmake docs improve

* unify format
2018-03-08 16:08:13 +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