diff --git a/1k/fetch.cmake b/1k/fetch.cmake index c5c5d7a736..b6223c8ac8 100644 --- a/1k/fetch.cmake +++ b/1k/fetch.cmake @@ -92,27 +92,27 @@ function(_1kfetch uri) set(source_dir ${_pkg_store} PARENT_SCOPE) endfunction() -# for example: _1kcm_add_pkg("gh:yasio/yasio#4.2.1") -function(_1kcm_add_pkg uri) +# simple cmake pkg management: +# for example: _1kadd_pkg("gh:yasio/yasio#4.2.1") +function(_1kadd_pkg uri) _1kfetch(${uri} ${ARGN}) set(optValueArgs EXCLUDE_FROM_ALL) - set(oneValueArgs OPTIONS) - cmake_parse_arguments(opt "${optValueArgs}" "${oneValueArgs}" "" ${ARGN}) + set(oneValueArgs BINARY_DIR) + set(multiValueArgs OPTIONS) + cmake_parse_arguments(opt "${optValueArgs}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) foreach(OPTION ${opt_OPTIONS}) - _1k_parse_option("${OPTION}") + _1kparse_option("${OPTION}") set(${OPTION_KEY} "${OPTION_VALUE}" CACHE BOOL "" FORCE) endforeach() - set(binary_dir "") - if(IS_ABSOLUTE ${source_dir}) - # string(LENGTH "${_1kfetch_cache_dir}/" _offset) - # string(LENGTH "${source_dir}" _len) - # math(EXPR _len "${_len} - ${_offset}" OUTPUT_FORMAT DECIMAL) - # string(SUBSTRING ${source_dir} ${_offset} ${_len} _path) - get_filename_component(_path ${source_dir} NAME) + + get_filename_component(_path ${source_dir} NAME) + if(opt_BINARY_DIR) + set(binary_dir "${opt_BINARY_DIR}/${_path}") + else() set(binary_dir "${CMAKE_BINARY_DIR}/1kiss/${_path}") endif() - + if (opt_EXCLUDE_FROM_ALL) add_subdirectory(${source_dir} ${binary_dir} EXCLUDE_FROM_ALL) else() @@ -126,7 +126,7 @@ function(_1klink src dest) execute_process(COMMAND ${PWSH_COMMAND} ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/fsync.ps1 -s "${_srcDir}" -d "${_dstDir}" -l 1) endfunction() -function(_1k_parse_option OPTION) +function(_1kparse_option OPTION) string(REGEX MATCH "^[^ ]+" OPTION_KEY "${OPTION}") string(LENGTH "${OPTION}" OPTION_LENGTH) string(LENGTH "${OPTION_KEY}" OPTION_KEY_LENGTH) diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt index c38788eb34..57ca413255 100644 --- a/3rdparty/CMakeLists.txt +++ b/3rdparty/CMakeLists.txt @@ -172,37 +172,16 @@ add_library(3rdparty INTERFACE) set(_1kfetch_cache_dir "${_AX_ROOT}/cache" CACHE STRING "" FORCE) set(_1kfetch_manifest "${_AX_ROOT}/manifest.json" CACHE STRING "" FORCE) -# fetch prebuilts of 1k_dist and git sources +# fetch prebuilts of 1kdist and git sources include(${_AX_ROOT}/1k/fetch.cmake) -function(xpm_parse_option OPTION) - string(REGEX MATCH "^[^ ]+" OPTION_KEY "${OPTION}") - string(LENGTH "${OPTION}" OPTION_LENGTH) - string(LENGTH "${OPTION_KEY}" OPTION_KEY_LENGTH) - if(OPTION_KEY_LENGTH STREQUAL OPTION_LENGTH) - # no value for key provided, assume user wants to set option to "ON" - set(OPTION_VALUE "ON") - else() - math(EXPR OPTION_KEY_LENGTH "${OPTION_KEY_LENGTH}+1") - string(SUBSTRING "${OPTION}" "${OPTION_KEY_LENGTH}" "-1" OPTION_VALUE) - endif() - set(OPTION_KEY - "${OPTION_KEY}" - PARENT_SCOPE - ) - set(OPTION_VALUE - "${OPTION_VALUE}" - PARENT_SCOPE - ) -endfunction() - function(ax_add_3rd source_dir) set(options EXCLUDE_FROM_ALL NO_LINK) set(multiValueArgs TARGETS OPTIONS) cmake_parse_arguments(opt "${options}" "" "${multiValueArgs}" ${ARGN}) foreach(OPTION ${opt_OPTIONS}) - xpm_parse_option("${OPTION}") + _1kparse_option("${OPTION}") set(${OPTION_KEY} "${OPTION_VALUE}" CACHE BOOL "" FORCE) endforeach() diff --git a/AUTHORS.md b/AUTHORS.md index fd2b5e749b..c978329fa4 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -33,6 +33,7 @@ Due to Axmol Engine is a fork of Cocos2d-x-4.0, so the [Cocos2d-x AUTHORS](https armanhossiny Arvant bwaiox + binxiaojiao crazyhappygame CodeAndWeb clawfinger (Dmitry Vassiliev) diff --git a/CHANGELOG.md b/CHANGELOG.md index 92183cac9f..0c27251271 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,44 @@ +## axmol-2.1.3 ?? 2024 + +### BugFixes + +- Fix android build by @smilediver in https://github.com/axmolengine/axmol/pull/1723 +- Fix EditBox error by @binxiaojiao in https://github.com/axmolengine/axmol/pull/1755 +- Fix InputEvent in fairyGUI onKeyDown and onKeyUp by @binxiaojiao in https://github.com/axmolengine/axmol/pull/1757 +- Fix wasm FPS control not working by @binxiaojiao in https://github.com/axmolengine/axmol/pull/1762 +- Fix texture recreation when GL context is lost by @smilediver in https://github.com/axmolengine/axmol/pull/1763 +- Fix DebugDraw issue in 3D physics by @halx99 +- Fix OpenGLState cache error, reported by @solan-solan in https://github.com/axmolengine/axmol/issues/1759 +- Fix linux crash after close window by @halx99 + +### Improvements + +- Disable c++20 char8_t +- Improve build system +- Add wasm EditBox support +- HttpClient: add support for PATCH method by @smilediver in https://github.com/axmolengine/axmol/pull/1722 +- Add -f switch info to axmol command help output by @rh101 in https://github.com/axmolengine/axmol/pull/1729 +- Implement new axmol log system based on fmtlib by @halx99 in https://github.com/axmolengine/axmol/pull/1732 +- Logging colorful support by @halx99 in https://github.com/axmolengine/axmol/pull/1735 +- Improve logging color style by @halx99 in https://github.com/axmolengine/axmol/pull/1739 +- Add support for verbose trace level logging by @rh101 in https://github.com/axmolengine/axmol/pull/1764 +- Adapt DrawNodeEx to the changes on: Move color types to math/Color.h axmolengine#1741 by @aismann in https://github.com/axmolengine/axmol/pull/1760 +- Removed the '\n' which creates a second (empty) line. by @aismann in https://github.com/axmolengine/axmol/pull/1746 +- Add Node World Space Positioning by @DelinWorks in https://github.com/axmolengine/axmol/pull/1743 +- Move color types to math/Color.h by @halx99 in https://github.com/axmolengine/axmol/pull/1741 +- Removing EditBox should not result in logging an error message by @rh101 in https://github.com/axmolengine/axmol/pull/1740 +- Update TLD axmol.org -> axmol.dev +- Rename folder thirdparty ==> 3rdparty +- Update spine to 4.1-54fac9d + +### sdks updates + +- emsdk: 3.1.53 ==> 3.1.56 + +### 3rdparty updates + +- simdjson: 3.7.0 ==> 3.8.0 + ## axmol-2.1.2 Feb.25 2024 ### BugFixes