Commit Graph

200 Commits

Author SHA1 Message Date
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 1f9f27d63f Use modern gl/gles loader 'glad' to instead 'glew' 2020-02-15 23:51:23 +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
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
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
Vladimir Timofeev 393b3d0971 cmake: Disable try to link with static system installed libs, seems that linux distros not supported this option mostly 2014-11-24 17:24:34 +03:00
Vladimir Timofeev 03401668b8 cmake: fix FindFontconfig.cmake - FONCONFIG_FOUND was not set, when FONTCONFIG_INCLUDE_DIRS was empty (on CentOS 6.5 for example) 2014-11-24 17:23:12 +03:00
Vladimir Timofeev 8c331649dc fix finding prebuilt fmod on linux 2014-11-20 13:50:55 +03:00
Vladimir Timofeev 499c670a9b Move prebuilt libraries config to distinct file.
Now build system looks more maintanable.
I test with mac, going to test with other platforms.

* All prebuilt libs config moved to
   cmake/Modules/CocosUsePrebuiltLibs.cmake
* Wrap plain find_package to our cocos_find_package. It will not try to
   call find_package if USE_PREBUILT_LIBS and <pkg>_FOUND set to true.
* Other small fixes.
2014-11-20 12:05:15 +03:00
Vladimir Timofeev 98db27e929 cmake linux fixes: FindFontconfig, find appropriate threads libs 2014-11-19 10:57:18 +03:00
Vladimir Timofeev 2bf77c10e8 Fix build on mingw again, disable USE_PREBUILT_LIBS with mingw (mingw can not link this libs). Eliminate some Find* modules, we can tune prebuilts without modify their code. 2014-11-19 03:28:41 +03:00
Vladimir Timofeev fe25c860cb Fixes for freetype, protobuf and more unifications. Also it case of static library in some find* modules we try to use pkg-config first, it is chance to get dependency info 2014-11-19 00:27:25 +03:00
Vladimir Timofeev 95e005d785 Find vorbis, mpg123 and OpenAL libs in unified way.
Test another way to customize our prebuilt paths...
Cleanups.
2014-11-18 01:46:41 +03:00
Vladimir Timofeev 731e982b2e Find OpenGL, GLEW and winmm library, improve finding of curl (use pkg-config first, this teoretically can find also dependant libs). 2014-11-17 23:44:16 +03:00
Vladimir Timofeev b5266e95bf mingw fixes, now project builds with mingw64 and -DUSE_PREBUILT_LIBS=NO (some additional libs hardcoded still) 2014-11-17 01:42:04 +03:00
Vladimir Timofeev 1e8aeb7fd2 Minizip
1. Add cmake module for finding minizip in system
2. Check that system installed minizip recent enough for us
3. As right minizip exists only for MSYS2 (mingw), use our embedded version on all other platforms
4. Correctly include minizip as <minizip/unzip.h> if it is found from system (make it compatible to current build system, so by default all should stay same)
5. Remove one unused include of unzip.h
2014-11-16 22:41:37 +03:00
Vladimir Timofeev 5dabf5719c Fix webp searching 2014-11-16 20:08:54 +03:00
Vladimir Timofeev f8c56ebbf9 Fix finding fmodex on ArchLinux 2014-11-16 20:00:51 +03:00
Vladimir Timofeev e3a0e089ba Add FindFMODEX.cmake and use it on linux to find FMOD Ex library 2014-11-16 19:10:45 +03:00
Vladimir Timofeev f8f37b7bf5 Fix comments and formatting in FindTinyXML2.cmake 2014-11-16 19:09:59 +03:00
Vladimir Timofeev 33786678eb Add finding curl. Fix some leftovers from websockets. 2014-11-16 13:55:42 +03:00
Vladimir Timofeev c7bff5ea9e Find libwebsockets in unified way 2014-11-16 13:22:54 +03:00
Vladimir Timofeev 1d629dfe7d Find libtiff 2014-11-16 12:47:59 +03:00
Vladimir Timofeev d9337cdbd3 Find libpng and zlib unified way. 2014-11-16 00:21:11 +03:00
Vladimir Timofeev 9334f0b569 Add custom FindJPEG.cmake module. 2014-11-15 21:16:39 +03:00
Vladimir Timofeev a3b414f0d5 Use COCOS_EXTERNAL_DIR in Find*.cmake modules 2014-11-15 21:13:25 +03:00
Vladimir Timofeev 2863b95c61 Make FindTinyXML2.cmake use included macroses from same directory, as other our Find*.cmake modules 2014-11-15 17:07:46 +03:00
Vladimir Timofeev 27ef26270c Unify TinyXML2 usage.
* should be included as simple "tinyxml2.h", but on some files was "tinyxml2/tinyxml2.h", replace this.
* Add cmake/Modules/FindTinyXML2.cmake
* As tinyxml2 for now has not prebuilt, instead sources included, add their as subdirectory if USE_PREBUILT_LIBS
2014-11-15 14:43:50 +03:00
Vladimir Timofeev 60e5803698 Improve FindFreetype.cmake for Mac 2014-11-15 14:41:19 +03:00
Vladimir Timofeev eb0159b2b7 Unify usage of chipmunk library
* cmake/Modules/FindChipmunk.cmake now can find prebuilt chipmunk libs
* follow USE_CHIPMUNK variable (although at the moment cocos can't build without chipmunk)
* come cleanups and formatting
2014-11-15 13:17:23 +03:00
Vladimir Timofeev 53d23ce5f3 Unify WebP usage. 2014-11-15 10:27:56 +03:00
Vladimir Timofeev ddce662ec3 Unify usage of prebuilt libraries in cmake builds.
* introduce config variable USE_PREBUILT_LIBS (default: ON). When OFF, cmake will not use prebuilt libs, only try find system installed libraries.
* FindGLFW3.cmake now search our prebuilt library (if USE_PREBULT_LIBS)
* FindFreetype.cmake also

This and next changes should simplify our CMakeLists.txt files and USE_PREBUILT_LIBS config allow external package developers to integrate cocos to their packaging system.
2014-11-15 10:27:56 +03:00
Vladimir Timofeev 77ab866090 Move BuildHelpers.CMakeLists.txt to Modules/CocosBuildHelpers.cmake, this name is more standard for cmake include files, and in future this file can be installed to use by external applications. 2014-11-11 10:30:48 +03:00
andyque db2559ef67 add box2d tinyzml back 2014-09-27 01:26:35 -07:00
martell 07c31bb4e1 Linux: fix glfw3 searching 2014-10-09 05:22:21 +01:00
martell c3172bef50 Finalise Windows cmake support for mingw-w64
Signed-off-by: martell <martellmalone@gmail.com>
2014-10-03 23:22:09 +01:00