iree
iree copied to clipboard
Migrate to CMake version 3.29+ and adopt `CMAKE_LINKER_TYPE` option
If we update, we should be able to use https://cmake.org/cmake/help/latest/variable/CMAKE_LINKER_TYPE.html instead of our custom IREE_USE_LINKER and IREE_ENABLE_LLD: https://github.com/iree-org/iree/blob/3773a48f8f8c640e87124fa46a77b6d948d67414/CMakeLists.txt#L599-L607
Tasks:
- [ ] Test that
CMAKE_LINKER_TYPEcan substitute forIREE_ENABLE_LLD - [ ] Update CMake version in https://github.com/iree-org/base-docker-images/ and any other locations needed for CI (GitHub hosted Ubuntu runners already include 3.30.3: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2204-Readme.md#installed-software)
- [ ] Update our
cmake_minimum_requiredin IREE, and perhaps also other downstream projects (e.g. iree-turbine, shortfin, template repos): https://github.com/iree-org/iree/blob/3773a48f8f8c640e87124fa46a77b6d948d67414/CMakeLists.txt#L7 - [ ] Mention the CMake minimum version change in IREE release notes
- [ ] Update our docs (e.g. https://iree.dev/building-from-source/getting-started/#__tabbed_2_1), CMake source, scripts, and CI workflows from
IREE_ENABLE_LLDtoCMAKE_LINKER_TYPE
We can also see if there are other features between our current min version (3.21) and the new min version that we want to adopt: https://cmake.org/cmake/help/latest/release/index.html.