Updated the compatibility for UCM CMake macros
Raised the minimum required version of CMake to 3.5, but more importantly indicated the maximum known compatibility to be 3.31, which makes it kind of future-proof.
This change does not work with CMake 4.0.0 @trueqbit cotire/CMakeLists.txt and cotire/CMake/cotire.cmake also need this change.
CMake Error at third_party/ucm/cotire/CMake/cotire.cmake:40 (cmake_minimum_required):
Compatibility with CMake < 3.5 has been removed from CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
Call Stack (most recent call first):
third_party/ucm/cmake/ucm.cmake:19 (include)
solid.cmake:158 (include)
CMakeLists.txt:[37](https://github.com/snxd/client/actions/runs/14225339136/job/39863425460?pr=3066#step:6:38) (include)
This change does not work with CMake 4.0.0 @trueqbit cotire/CMakeLists.txt and cotire/CMake/cotire.cmake also need this change.
The problem is that cotire is a submodule.
Perhaps, cotire should be removed.
@sergio-nsk Perhaps, cotire should be removed.
Well, I am not the maintainer of this repository and such a decision is beyond my competence I am afraid... We currently only need the ucm.cmake file in sqlite_orm.
cotire seems to be used for providing unity builds, so it seems to be useful. Perhaps a copy of cotire might be a solution? @nmoinvaz @onqtam