CMAKE_BUILD_TYPE IGNORED

I think you’re confusing different types of generators here. There are two general classes:

  • single-config generators (Makefiles, Ninja, etc.)
  • multi-config generators (VS, Xcode, Ninja Multi-Config)

The former only support a single build configuration per generate step. The latter defer the selection of the build type to build time (for which cmake and ctest have flags for selecting them).

There is no default for CMAKE_BUILD_TYPE. I suspect this is a historical artifact. I don’t know what would be the implications of changing the default.

For single-config generators, this would require rerunning the build system. For the multi-config generators, there are flags for selecting the configuration (though they are not the same).

It does for single-config generators in that only the selected configuration is available for testing.

I believe you mean Visual Studio builds. MSVC works just fine with CMAKE_BUILD_TYPE…in single-config generators.

Please feel free to offer suggestions for improving the documentation around CMAKE_BUILD_TYPE.

Please use a separate thread for this. I’ll answer once that is made.