Skip to content

[build] Update minimum requirement for CMAKE#8703

Merged
feisuzhu merged 8 commits into
taichi-dev:masterfrom
linull24:rebased-feature
Jul 27, 2025
Merged

[build] Update minimum requirement for CMAKE#8703
feisuzhu merged 8 commits into
taichi-dev:masterfrom
linull24:rebased-feature

Conversation

@linull24

Copy link
Copy Markdown
Contributor

Issue: #8673

Brief Summary

copilot:summary
This PR resolves CMake 4.0 compilation failures by standardizing the minimum required version to 3.17 across all submodules (TaichiExamples/TaichiCAPITests/TaichiCAPI/TaichiTests), ensuring compatibility with modern Linux distributions.

Walkthrough

copilot:walkthrough

Context

  • CMake 4.0 dropped legacy support (including CMake 3.5) causing build failures on updated distros
  • Reference: CMake Version Policy

Changes Made

  1. Updated version requirement in:
    • TaichiExamples.cmake
    • TaichiCAPITests.cmake
    • TaichiCAPI.cmake
    • TaichiTests.cmake
  2. Unified requirement to CMake 3.17 (already the de facto standard)

Impact Analysis

  • No breaking changes (3.17 was already the effective minimum)
  • Improves forward compatibility
  • Affects only build system configuration

Verification

  • No new tests needed (version requirement change only)
  • Confirmed via manual build testing

Additional Notes

  • Aligns with CMake's modern version policy
  • Prevents future issues on rolling-release distros
  • Maintains backward compatibility

I sincerely apologize for the additional PR noise (#8701, #8678). Due to my initial lack of Git proficiency, I inadvertently created redundant PRs while attempting to sync with upstream. This new PR (#8703) consolidates all changes with proper rebasing.

Thank you for your patience, and I appreciate your guidance throughout this process.

@hughperkins

hughperkins commented Apr 30, 2025

Copy link
Copy Markdown
Contributor

Note: @linull24

  • I might have been wrong to suggest you needed to merge from master, since /rebase should already handle t hat I think :)
  • the builds are a little flaky. when somethign fails:
    • check the build logs
      • if it's related to your change, then fix that
      • otherwise, if you are sure it's not from your own change, then I would recommend restarting the build
        • you can do that by pushing a dummy commit:
git commit -m "dummy" --allow-empty
git push
@hughperkins

Copy link
Copy Markdown
Contributor

In this case, looks like a bot runner failure:

Screenshot 2025-04-30 at 7 11 57 AM

@CLAassistant

CLAassistant commented Apr 30, 2025

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@linull24

Copy link
Copy Markdown
Contributor Author

I've seen #8697.After four dummy commits , and it finally worked.🤣🤣🤣.
May I just need some patience.

@hughperkins

Copy link
Copy Markdown
Contributor

@linull24 Looks like an temporary infa issue:
Screenshot 2025-05-02 at 5 22 32 AM

Probably good to retry another dummy commit.

@linull24

linull24 commented May 5, 2025

Copy link
Copy Markdown
Contributor Author

@hughperkins please review

@hughperkins

Copy link
Copy Markdown
Contributor

Hi @linull24 I'm just a bystander, and have no access to merge, but the changes look great to me. You're just going to have to keep pushing dummy commits until the tests pass I feel :). It might take a few days. I think the PR is very useful, to avoid error messages about cmake version :)

@feisuzhu

Copy link
Copy Markdown
Contributor

/rebase

@feisuzhu feisuzhu changed the title [lang] Update minimum requirement for CMAKE Jul 27, 2025
@feisuzhu feisuzhu merged commit 9ae2e38 into taichi-dev:master Jul 27, 2025
33 of 40 checks passed
hughperkins referenced this pull request in hughperkins/quadrants Oct 7, 2025
* [build] Add support for extracting .tar.xz archives in dep.py (#8721)

fix new vulkan extension packages

* [ci] Drop support of Python < 3.9 (#8737)

* [ci] Upgrade setup-python actions (#8739)

* [ci] Migrate to new threading interface (#8731)

### Brief Summary
This small PR resolves the `threading` library warnings, which you can
find in the [CI
logs](https://github.com/taichi-dev/taichi/actions/runs/15284687653/job/42992007742#step:7:6782):
```python
  C:\Users\buildbot\actions-runner\_work\taichi\taichi\tests\python\test_offline_cache.py:46: DeprecationWarning: currentThread() is deprecated, use current_thread() instead
    return join(OFFLINE_CACHE_TEMP_DIR, str(threading.currentThread().ident))
```
It also fixes a small typo along the way.

### Walkthrough

Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>

* [build] Replace libtinfo-dev with libncurses-dev in package dependencies (#8718)

* [build] Update sccache download URLs to version 0.10.0 for various plat… (#8717)

upgrade sscache

---------

Co-authored-by: Proton <feisuzhu@163.com>

* [build] Update Vulkan SDK version (#8749)

Issue: #

### Brief Summary

- Vulkan 1.3.236.0 has been removed. 1.3.296.0 (The final 1.3.x) should
be used instead.
- Allow clang 16.
- CMake 3.x should be specified as CMake 4 is not compatible.

### Walkthrough

---------

Co-authored-by: Proton <feisuzhu@163.com>

* [build] Update setup function to use Miniforge and correct download URLs (#8719)

Upgrade to miniforge (mamba is deprecated)

* [build] Identify aarch64 wheels (#8716)

* [build] Add Python 3.13 build (#8748)

* [build] Update minimum requirement for CMAKE (#8703)

Issue: #8673 

### Brief Summary

copilot:summary
This PR resolves CMake 4.0 compilation failures by standardizing the
minimum required version to 3.17 across all submodules
(TaichiExamples/TaichiCAPITests/TaichiCAPI/TaichiTests), ensuring
compatibility with modern Linux distributions.

### Walkthrough

copilot:walkthrough
#### Context
- CMake 4.0 dropped legacy support (including CMake 3.5) causing build
failures on updated distros
- Reference: [CMake Version
Policy](https://cmake.org/cmake/help/latest/command/cmake_minimum_required.html)

#### Changes Made
1. Updated version requirement in:
   - `TaichiExamples.cmake`
   - `TaichiCAPITests.cmake`
   - `TaichiCAPI.cmake` 
   - `TaichiTests.cmake`
2. Unified requirement to CMake 3.17 (already the de facto standard)

#### Impact Analysis
- No breaking changes (3.17 was already the effective minimum)
- Improves forward compatibility
- Affects only build system configuration

#### Verification
- No new tests needed (version requirement change only)
- Confirmed via manual build testing

#### Additional Notes
- Aligns with CMake's modern version policy
- Prevents future issues on rolling-release distros
- Maintains backward compatibility


I sincerely apologize for the additional PR noise (#8701, #8678). Due to
my initial lack of Git proficiency, I inadvertently created redundant
PRs while attempting to sync with upstream. This new PR (#8703)
consolidates all changes with proper rebasing.

Thank you for your patience, and I appreciate your guidance throughout
this process.

* remove dot-android.tgz

* update python  versions

---------

Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
Co-authored-by: Johnny <johnnync13@gmail.com>
Co-authored-by: Proton <feisuzhu@163.com>
Co-authored-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
Co-authored-by: T.Yamada <cielartisan@gmail.com>
Co-authored-by: Linull/李林 <2382963480@qq.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

4 participants