Policy CMP0141 is set only from CLI
Hello, I have a problem persuading CMake to remove /Zi
flag from a project that specifies cmake_minimum_required < 3.25
.
I have this setup:
# toolchain.cmake
set(CMAKE_POLICY_DEFAULT_CMP0141 NEW)
set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT $<$<CONFIG:Debug,RelWithDebInfo>:Embedded>)
# CMakeLists.txt
cmake_minimum_required(VERSION 3.24)
project(cmake_test VERSION 1.0.0 LANGUAGES CXX)
add_executable(cmake_test)
target_sources(cmake_test PRIVATE main.cpp)
When I use cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE="toolchain.cmake"
then CMakeCache.txt contains /Zi
in CMAKE_CXX_FLAGS_DEBUG
. If I add -DCMAKE_POLICY_DEFAULT_CMP0141=NEW
directly to the command line then /Zi
is removed and replaced with /Z7
.
Than you in advance for help or fix.