Skip to content

[build] Update minimum requirement for CMAKE#8703

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

[build] Update minimum requirement for CMAKE#8703
feisuzhu merged 8 commits intotaichi-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
Copy link
Copy Markdown
Contributor

hughperkins commented Apr 30, 2025

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
Copy link
Copy Markdown

CLAassistant commented Apr 30, 2025

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
Copy link
Copy Markdown
Contributor Author

linull24 commented May 5, 2025

@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 [build] 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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants