MSVC Инкрементная связь с CMake и генератором Ninja
Я создаю общую библиотеку с CMake и генератором Ninja в Windows. Я хотел бы использовать инкрементные ссылки, чтобы уменьшить время, необходимое для создания ссылок.
Я пытался установить CMAKE_SHARED_LINKER_FLAGS
в "/incremental"
но этот флаг всегда отменяется "/INCREMENTAL:NO"
который добавлен CMake.
Я также пытался установить MSVC_INCREMENTAL_DEFAULT
в ON
, но это не имело никакого эффекта.
Итак, как я могу получить инкрементные ссылки, работая с CMake и генератором Ninja?
1 ответ
Превращаю мой комментарий в ответ
Я использую похожий SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "/INCREMENTAL:YES" CACHE STRING "" FORCE)
в моем файле VS toolchain.
Имейте в виду, что CMake объединяет / добавляет свои флаги компоновщика из общих, например CMAKE_SHARED_LINKER_FLAGS
и конкретные части типа сборки, такие как CMAKE_SHARED_LINKER_FLAGS_RELEASE
,
Так что вы должны либо узнать, где установлен CMake /INCREMENTAL:NO
для разделяемых библиотек - как мы с вами сделали - и перезаписать его:
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "/INCREMENTAL:YES")
Или вы можете перебрать различные переменные конфигурации сборки, например: