CMake 3.21.3, Windows 10, Visual Studio 2022
I am trying to create executable that I can examine with SizeBench. For that, I need full debug info, and no incremental linking. I’ve tried disabling incremental linking by passing these to my configure script (bat):
cmake ^
-G "Visual Studio 17 2022" ^
-A x64 ^
-Thost=x64 ^
-B build ^
-S . ^
-DCMAKE_EXPORT_COMPILE_COMMANDS=1 ^
-DCMAKE_EXE_LINKER_FLAGS_DEBUG="/debug /incremental:no" ^
-DCMAKE_EXE_LINKER_FLAGS_MINSIZEREL="/debug /incremental:no" ^
-DCMAKE_EXE_LINKER_FLAGS_RELEASE="/debug /incremental:no" ^
-DCMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO="/debug /incremental:no" ^
-DCMAKE_STATIC_LINKER_FLAGS_DEBUG="/debug /incremental:no" ^
-DCMAKE_STATIC_LINKER_FLAGS_MINSIZEREL="/debug /incremental:no" ^
-DCMAKE_STATIC_LINKER_FLAGS_RELEASE="/debug /incremental:no" ^
-DCMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO="/debug /incremental:no" ^
-DCMAKE_SHARED_LINKER_FLAGS_DEBUG="/debug /incremental:no" ^
-DCMAKE_SHARED_LINKER_FLAGS_MINSIZEREL="/debug /incremental:no" ^
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE="/debug /incremental:no" ^
-DCMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO="/debug /incremental:no" ^
-DCMAKE_MODULE_LINKER_FLAGS_DEBUG="/debug /incremental:no" ^
-DCMAKE_MODULE_LINKER_FLAGS_MINSIZEREL="/debug /incremental:no" ^
-DCMAKE_MODULE_LINKER_FLAGS_RELEASE="/debug /incremental:no" ^
-DCMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO="/debug /incremental:no"
However, the generated solution has in my executable project /INCREMENTAL
enabled. Looking inside .vcxproj
I can find things like
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</LinkIncremental>
Can I somehow really disable incremental linking with CMake?