diff --git a/packages/cmake/Modules-CMakeDetermineSystem.cmake.patch b/packages/cmake/Modules-CMakeDetermineSystem.cmake.patch new file mode 100644 index 000000000..ea6fb827d --- /dev/null +++ b/packages/cmake/Modules-CMakeDetermineSystem.cmake.patch @@ -0,0 +1,13 @@ +diff --git a/Modules/CMakeDetermineSystem.cmake b/Modules/CMakeDetermineSystem.cmake +index dc208c600..f3ec4da2d 100644 +--- a/Modules/CMakeDetermineSystem.cmake ++++ b/Modules/CMakeDetermineSystem.cmake +@@ -43,7 +43,7 @@ if(CMAKE_HOST_UNIX) + else() + exec_program(${CMAKE_UNAME} ARGS -r OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_VERSION) + endif() +- if(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux|CYGWIN.*|Darwin|^GNU$") ++ if(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux|CYGWIN.*|Darwin|^GNU$|Android") + exec_program(${CMAKE_UNAME} ARGS -m OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR + RETURN_VALUE val) + if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin" AND diff --git a/packages/cmake/Modules-Platform-Android-Clang.cmake.patch b/packages/cmake/Modules-Platform-Android-Clang.cmake.patch new file mode 100644 index 000000000..95a08236d --- /dev/null +++ b/packages/cmake/Modules-Platform-Android-Clang.cmake.patch @@ -0,0 +1,17 @@ +diff --git a/Modules/Platform/Android-Clang.cmake b/Modules/Platform/Android-Clang.cmake +index 9ed1e01f9..6443512ee 100644 +--- a/Modules/Platform/Android-Clang.cmake ++++ b/Modules/Platform/Android-Clang.cmake +@@ -24,6 +24,12 @@ if(CMAKE_SYSTEM_VERSION EQUAL 1) + return() + endif() + ++if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Android") ++ macro(__android_compiler_clang lang) ++ endmacro() ++ return() ++endif() ++ + include(Platform/Android-Common) + + # The NDK toolchain configuration files at: diff --git a/packages/cmake/Modules-Platform-Android-Determine-Compiler.cmake.patch b/packages/cmake/Modules-Platform-Android-Determine-Compiler.cmake.patch new file mode 100644 index 000000000..9507d16b5 --- /dev/null +++ b/packages/cmake/Modules-Platform-Android-Determine-Compiler.cmake.patch @@ -0,0 +1,19 @@ +diff --git a/Modules/Platform/Android/Determine-Compiler.cmake b/Modules/Platform/Android/Determine-Compiler.cmake +index a03ebcc29..34d527741 100644 +--- a/Modules/Platform/Android/Determine-Compiler.cmake ++++ b/Modules/Platform/Android/Determine-Compiler.cmake +@@ -31,6 +31,14 @@ elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux") + set(_ANDROID_HOST_EXT "") + elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows") + set(_ANDROID_HOST_EXT ".exe") ++elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Android") ++ macro(__android_determine_compiler lang) ++ # Do nothing ++ endmacro() ++ if(NOT CMAKE_CXX_COMPILER_NAMES) ++ set(CMAKE_CXX_COMPILER_NAMES c++) ++ endif() ++ return() + else() + message(FATAL_ERROR "Android: Builds hosted on '${CMAKE_HOST_SYSTEM_NAME}' not supported.") + endif() diff --git a/packages/cmake/Modules-Platform-Android-Determine.cmake.patch b/packages/cmake/Modules-Platform-Android-Determine.cmake.patch new file mode 100644 index 000000000..ddb6cf4d9 --- /dev/null +++ b/packages/cmake/Modules-Platform-Android-Determine.cmake.patch @@ -0,0 +1,15 @@ +diff --git a/Modules/Platform/Android-Determine.cmake b/Modules/Platform/Android-Determine.cmake +index bb42eedde..0e8229d5e 100644 +--- a/Modules/Platform/Android-Determine.cmake ++++ b/Modules/Platform/Android-Determine.cmake +@@ -18,6 +18,10 @@ if(CMAKE_SYSTEM_VERSION EQUAL 1) + return() + endif() + ++if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Android") ++ return() ++endif() ++ + cmake_policy(PUSH) + cmake_policy(SET CMP0057 NEW) # if IN_LIST + diff --git a/packages/cmake/Modules-Platform-Android-Initialize.cmake.patch b/packages/cmake/Modules-Platform-Android-Initialize.cmake.patch new file mode 100644 index 000000000..87993520e --- /dev/null +++ b/packages/cmake/Modules-Platform-Android-Initialize.cmake.patch @@ -0,0 +1,15 @@ +diff --git a/Modules/Platform/Android-Initialize.cmake b/Modules/Platform/Android-Initialize.cmake +index a434f90ea..407ed3358 100644 +--- a/Modules/Platform/Android-Initialize.cmake ++++ b/Modules/Platform/Android-Initialize.cmake +@@ -17,6 +17,10 @@ if(CMAKE_SYSTEM_VERSION EQUAL 1) + return() + endif() + ++if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Android") ++ return() ++endif() ++ + if(NOT CMAKE_SYSROOT) + if(CMAKE_ANDROID_NDK) + set(CMAKE_SYSROOT "${CMAKE_ANDROID_NDK}/platforms/android-${CMAKE_SYSTEM_VERSION}/arch-${CMAKE_ANDROID_ARCH}") diff --git a/packages/cmake/Modules-Platform-Android.cmake.patch b/packages/cmake/Modules-Platform-Android.cmake.patch new file mode 100644 index 000000000..dfa4a7abb --- /dev/null +++ b/packages/cmake/Modules-Platform-Android.cmake.patch @@ -0,0 +1,15 @@ +diff --git a/Modules/Platform/Android.cmake b/Modules/Platform/Android.cmake +index f08f84176..9e719df39 100644 +--- a/Modules/Platform/Android.cmake ++++ b/Modules/Platform/Android.cmake +@@ -2,6 +2,10 @@ include(Platform/Linux) + + set(ANDROID 1) + ++if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Android") ++ return() ++endif() ++ + # Conventionally Android does not use versioned soname + # But in modern versions it is acceptable + if(NOT DEFINED CMAKE_PLATFORM_NO_VERSIONED_SONAME) diff --git a/packages/cmake/Source-cmStateSnapshot.cxx.patch b/packages/cmake/Source-cmStateSnapshot.cxx.patch new file mode 100644 index 000000000..39b5fabb7 --- /dev/null +++ b/packages/cmake/Source-cmStateSnapshot.cxx.patch @@ -0,0 +1,20 @@ +diff --git a/Source/cmStateSnapshot.cxx b/Source/cmStateSnapshot.cxx +index 63bec710b..19286c50e 100644 +--- a/Source/cmStateSnapshot.cxx ++++ b/Source/cmStateSnapshot.cxx +@@ -316,11 +316,15 @@ void cmStateSnapshot::SetDefaultDefinitions() + this->SetDefinition("UNIX", "1"); + this->SetDefinition("CMAKE_HOST_UNIX", "1"); + ++#if defined(__ANDROID__) ++ this->SetDefinition("CMAKE_HOST_SYSTEM_NAME", "Android"); ++#else + struct utsname uts_name; + if (uname(&uts_name) >= 0) { + this->SetDefinition("CMAKE_HOST_SYSTEM_NAME", uts_name.sysname); + } + #endif ++#endif + #if defined(__CYGWIN__) + std::string legacy; + if (cmSystemTools::GetEnv("CMAKE_LEGACY_CYGWIN_WIN32", legacy) && diff --git a/packages/cmake/build.sh b/packages/cmake/build.sh index 8a4f459a7..f0b487717 100644 --- a/packages/cmake/build.sh +++ b/packages/cmake/build.sh @@ -2,7 +2,7 @@ TERMUX_PKG_HOMEPAGE=https://cmake.org/ TERMUX_PKG_DESCRIPTION="Family of tools designed to build, test and package software" TERMUX_PKG_LICENSE="BSD 3-Clause" TERMUX_PKG_VERSION=3.15.2 -TERMUX_PKG_REVISION=1 +TERMUX_PKG_REVISION=2 TERMUX_PKG_SRCURL=https://www.cmake.org/files/v${TERMUX_PKG_VERSION:0:4}/cmake-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_SHA256=539088cb29a68e6d6a8fba5c00951e5e5b1a92c68fa38a83e1ed2f355933f768 TERMUX_PKG_DEPENDS="libarchive, libc++, libcurl, libexpat, jsoncpp, libuv, rhash, make, clang, zlib"