Minimum CMake version for running CMake's own tests

What is the minimum CMake version (well, really the ctest version) that we support for running CMake’s test suite? The main reason I’m asking is that it feels well past time that we allow using test fixtures in CMake’s own tests, but I think the last time I asked about this, we had to support building CMake and running its tests with a version earlier than CMake 3.7 (which is when support for fixtures were added).

An example of where this could be used is in the RunCMake.ExternalProject test. At the moment, if you try to use RunCMake_TEST_FILTER with that, you still end up with a python server being started up since it is needed by some of those tests. That is a perfect candidate for test fixtures, allowing you to hand over to ctest the management of starting and stopping that server only if it is needed. I’m sure there are other cases where test fixtures could be used to enforce more robust and more convenient test dependencies (again, I’ve seen a few relating to ExternalProject’s other tests).

1 Like

I would guess that we’re limited by the version in CMakeLists.txt for compiling CMake itself. That appears to be CMake 3.1 right now. Though it’s really a Brad question since I don’t know the makeup of the nightly test machines out there.

We’ve discussed the possibility of bumping CMake’s own cmake_minimum_required() to something much more recent, since it can always be bootstrapped anyway. However, we haven’t taken any action on that front yet.

I think bumping CMake’s own minimum required version of CMake to 3.7 would be fine.

1 Like

Turns out the changes needed for RunCMake.ExternalProject didn’t need test fixtures after all. I’ll hold off bumping the minimum CMake version to 3.7 until I update other tests at some point to need them. That will make the motivation for updating the minimum CMake version clearer.

1 Like