* Implement new log macros based on fmtlib
* Fix ci
* Fix ci
* Fix android ci
* Fix warnings
* Replace more ax::log by AXLOGX
* Fix ci
* Fix linux build
* Use stack memory for log prefix
* Fix linux build
* Fix warning
* Add ILogOutput support
* Replace old log calls with new log macros
* Fixup
* Fixup
* Fixup
* Update ci msvc to 14.39
* Update Console.h [skip ci]
* Pass log level to ILogOutput
* Fix memory leaks when axmol apps exit on non-embed systems
1. DriverBase no destroyInstance
2. Every object inherited from ax::Ref shoud destory before ScriptEngineManager, otherwise will trigger it's reinit and leak
3. QuadCommand always leak isolated indices
4. static singleton should'nt inhert from ax::Ref due to destory it before ScriptEngineManager impossible
5. Make Director don't inherit from ax::Ref due to it also cause ScriptEngineManager re-init, because we destroy ScriptEngineManger in destructor of Director
6. Explicit Director managed by Application and don't delete self at purgeDirector, since it will release at mainLoop and re-init in glView->pollEvents then leak
7. Rename ApplicationProtocol to ApplicationBase
8. Rename purgeDirector since we don't delete director self at it, maye rename to cleanup
9. Change ShaderCache to new/delete singleton, managed by ProgramManager
---------
Co-authored-by: lich426 <lich426@gmail.com>
Valid value of AX_GLES_PROFILE: 0, 200, 300
By default, the AX_GLES_PROFILE is:
- android: 200, allow axmol apps runs on: API 17 Android 4.2+ devices
- winuwp: 300
- Win32/linux/osx/ios/tvos: 0
For ios/tvos, will forcing AX_GLES_PROFILE to 300 if AX_GLES_PROFILE not 0