Still build failed in Android

error log:

[5/114] Building CXX object E:/code/vcmi-android/ext/vcmi/out/lib/CMakeFiles/vcmi.dir/GameConstants.cpp.o
FAILED: E:/code/vcmi-android/ext/vcmi/out/lib/CMakeFiles/vcmi.dir/GameConstants.cpp.o
C:\Users\DemonKing\AppData\Local\Android\Sdk\ndk\23.1.7779620\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=aarch64-none-linux-android21 --sysroot=C:/Users/DemonKing/AppData/Local/Android/Sdk/ndk/23.1.7779620/toolchains/llvm/prebuilt/windows-x86_64/sysroot -DBOOST_DISABLE_ASSERTS -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED -DFL_CPP11 -DIOAPI_NO_64 -DM_BIN_DIR=“none” -DM_DATA_DIR=“none” -DM_LIB_DIR=“none” -DVCMI_DLL=1 -Dvcmi_EXPORTS -IE:/code/vcmi-android/ext/boost/boost_1_68_0 -IE:/code/vcmi-android/ext/vcmi/lib -IE:/code/vcmi-android/ext/vcmi/lib/… -IE:/code/vcmi-android/ext/vcmi/lib/…/include -IE:/code/vcmi-android/ext/vcmi/include -IE:/code/vcmi-android/ext/vcmi -IE:/code/vcmi-android/ext/vcmi/AI/FuzzyLite/fuzzylite -IE:/code/vcmi-android/ext/SDL2/core/include -IE:/code/vcmi-android/ext/oneTBB/include -IE:/code/vcmi-android/ext/oneTBB/src/tbb/…/…/include -frtti -fexceptions -Wno-switch -O2 -g -DNDEBUG -fPIC -MD -MT E:/code/vcmi-android/ext/vcmi/out/lib/CMakeFiles/vcmi.dir/GameConstants.cpp.o -MF E:\code\vcmi-android\ext\vcmi\out\lib\CMakeFiles\vcmi.dir\GameConstants.cpp.o.d -o E:/code/vcmi-android/ext/vcmi/out/lib/CMakeFiles/vcmi.dir/GameConstants.cpp.o -c E:/code/vcmi-android/ext/vcmi/lib/GameConstants.cpp
E:/code/vcmi-android/ext/vcmi/lib/GameConstants.cpp:59:58: error: use of undeclared identifier ‘VCMI_VERSION_STRING’
const std::string VCMI_VERSION = std::string("VCMI ") + VCMI_VERSION_STRING + “.” + std::string{GIT_SHA1};
^
1 error generated.
[6/114] Building CXX object E:/code/vcmi-android/ext/vcmi/out/lib/CMakeFiles/vcmi.dir/E_/code/vcmi-android/ext/vcmi/AI/BattleAI/EnemyInfo.cpp.o
[7/114] Building CXX object E:/code/vcmi-android/ext/vcmi/out/lib/CMakeFiles/vcmi.dir/VCMIDirs.cpp.o
[8/114] Building CXX object E:/code/vcmi-android/ext/vcmi/out/lib/CMakeFiles/vcmi.dir/CModHandler.cpp.o
FAILED: E:/code/vcmi-android/ext/vcmi/out/lib/CMakeFiles/vcmi.dir/CModHandler.cpp.o
C:\Users\DemonKing\AppData\Local\Android\Sdk\ndk\23.1.7779620\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=aarch64-none-linux-android21 --sysroot=C:/Users/DemonKing/AppData/Local/Android/Sdk/ndk/23.1.7779620/toolchains/llvm/prebuilt/windows-x86_64/sysroot -DBOOST_DISABLE_ASSERTS -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED -DFL_CPP11 -DIOAPI_NO_64 -DM_BIN_DIR=“none” -DM_DATA_DIR=“none” -DM_LIB_DIR=“none” -DVCMI_DLL=1 -Dvcmi_EXPORTS -IE:/code/vcmi-android/ext/boost/boost_1_68_0 -IE:/code/vcmi-android/ext/vcmi/lib -IE:/code/vcmi-android/ext/vcmi/lib/… -IE:/code/vcmi-android/ext/vcmi/lib/…/include -IE:/code/vcmi-android/ext/vcmi/include -IE:/code/vcmi-android/ext/vcmi -IE:/code/vcmi-android/ext/vcmi/AI/FuzzyLite/fuzzylite -IE:/code/vcmi-android/ext/SDL2/core/include -IE:/code/vcmi-android/ext/oneTBB/include -IE:/code/vcmi-android/ext/oneTBB/src/tbb/…/…/include -frtti -fexceptions -Wno-switch -O2 -g -DNDEBUG -fPIC -MD -MT E:/code/vcmi-android/ext/vcmi/out/lib/CMakeFiles/vcmi.dir/CModHandler.cpp.o -MF E:\code\vcmi-android\ext\vcmi\out\lib\CMakeFiles\vcmi.dir\CModHandler.cpp.o.d -o E:/code/vcmi-android/ext/vcmi/out/lib/CMakeFiles/vcmi.dir/CModHandler.cpp.o -c E:/code/vcmi-android/ext/vcmi/lib/CModHandler.cpp
E:/code/vcmi-android/ext/vcmi/lib/CModHandler.cpp:541:17: error: use of undeclared identifier ‘VCMI_VERSION_MAJOR’
return Version(VCMI_VERSION_MAJOR, VCMI_VERSION_MINOR, VCMI_VERSION_PATCH);
^
E:/code/vcmi-android/ext/vcmi/lib/CModHandler.cpp:541:37: error: use of undeclared identifier ‘VCMI_VERSION_MINOR’
return Version(VCMI_VERSION_MAJOR, VCMI_VERSION_MINOR, VCMI_VERSION_PATCH);
^
E:/code/vcmi-android/ext/vcmi/lib/CModHandler.cpp:541:57: error: use of undeclared identifier ‘VCMI_VERSION_PATCH’
return Version(VCMI_VERSION_MAJOR, VCMI_VERSION_MINOR, VCMI_VERSION_PATCH);
^
3 errors generated.

It seems not pass VCMI_VERSION_STRING VCMI_VERSION_MAJOR, VCMI_VERSION_MINOR and VCMI_VERSION_PATCH through CMake

Yes, known issue, I will fix it in a few days probably. It is quite recent change which needs to be adjusted for Android because it has own root CMakeList.txt. As an option you can use non-latest develop. Something around 4th of October

I just add some #define in those codes to pass compilation. It works well :grinning: