What is the default build configuration of cmake
target_link_libraries with optimized
keyword corresponds to all configurations, which are not debug.
Try adding message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
to your CMakeLists.txt to see the actual build type (I suppose it should be empty).
If depends on whether you are using a single-configuration generator (Makefiles) or a multi-configuration generator (Visual Studio, XCode).
The link cited in the question is about a multi-configuration generator. When using a multi-configuration generator, the configuration variable CMAKE_BUILD_TYPE
is ignored. To select the configuration to build, cmake allows the switch --config
, and this defaults to Debug
. So
cmake --build .
in a multi-configuration project builds a Debug
version.
However, when using a single-configuration generator, the switch --config
is ignored. Only the configuration variable CMAKE_BUILD_TYPE
is used to determine the build type, and this defaults to Release
.
More background info on single- and multiconfiguration-generators in this answer.