Skip to content

[lang] Update minimum requirement for CMAKE#8701

Closed
linull24 wants to merge 4 commits intotaichi-dev:masterfrom
linull24:master
Closed

[lang] Update minimum requirement for CMAKE#8701
linull24 wants to merge 4 commits intotaichi-dev:masterfrom
linull24:master

Conversation

@linull24
Copy link
Copy Markdown
Contributor

@linull24 linull24 commented Apr 30, 2025

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'm closing this PR in favor of #8702, which properly incorporates the upstream updates. My earlier inexperience with Git led to unnecessary back-and-forth - I appreciate your understanding and will ensure cleaner contributions moving forward.

Special thanks for your helpful feedback.

@linull24 linull24 closed this Apr 30, 2025
feisuzhu pushed a commit that referenced this pull request Jul 27, 2025
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.
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.

1 participant