Can I test multiple generators with one build of cmake?

Yes, it should be possible. CMake_TEST_EXTERNAL_CMAKE can be used to test an already built cmake binary. https://gitlab.kitware.com/cmake/cmake/-/issues/19785#note_634196

I’m going by memory; I recall it was something like…

#build CMake using Xcode
cmake -DBUILD_TESTING=1 -S . -B build-xcode -G 'Xcode'
cmake --build build-xcode --config Release
#test Xcode
ctest -C Release --test-dir build-xcode --parallel
#test Ninja
cmake -DBUILD_TESTING=1 -S . -B test-ninja -G 'Ninja' -DCMake_TEST_EXTERNAL_CMAKE=./build-xcode/bin/Release
ctest --test-dir test-ninja --parallel
1 Like