Как я могу отключить макрос Visual Studio cmake, который предлагает пользователю перезагрузить решение при изменении CMakeLists.tx - PullRequest
6 голосов
/ 05 ноября 2011

Поскольку Visual Studio 2010 не работает и не будет автоматически перезагружать решение при внешнем изменении через CMake, ребята из kitware создали этот макрос, который предлагает вам перезагрузить все решение, вместо того, чтобы нажимать перезагрузку для каждого проекта, как это делает Visual Studio. , Было бы неплохо, если бы это действительно сработало.

В VC 10 этот макрос сломан и еще больше душит ide. У меня есть другое решение для автоматической перезагрузки измененных извне проектов / решений (надстройка VSCommands), и я хотел бы отключить макрос cmake для этого. Кто-нибудь знает способ?

Ответы [ 2 ]

4 голосов
/ 05 ноября 2011

Вот что я нашел в LLVM 'CMakeLists.txt:

# Workaround for MSVS10 to avoid the Dialog Hell
# FIXME: This could be removed with future version of CMake.
if(MSVC_VERSION EQUAL 1600)
  set(LLVM_SLN_FILENAME "${CMAKE_CURRENT_BINARY_DIR}/LLVM.sln")
  if( EXISTS "${LLVM_SLN_FILENAME}" )
    file(APPEND "${LLVM_SLN_FILENAME}" "\n# This should be regenerated!\n")
  endif()
endif()

Кажется, этот код обновляет файл .sln и вынуждает Visual Studio сразу же перезагружать все решение, а не спрашивать вас о каждом из них.проект.

3 голосов
/ 02 декабря 2011

Чтобы «отключить» макрос CMake, который запускается для запроса перезагрузки решения, вы можете отредактировать макрос с пометкой «НЕ РЕДАКТИРОВАТЬ ЭТУ МАКРО» ...

В Visual Studio выберите «Инструменты> Макросы> Макрос IDE ...» из меню, закомментируйте тело макросов «ReloadProjects» и «StopBuild» в модуле CMakeVSMacros2.Macros, а затем даже при вызове CMake эти макросы, они не будут иметь никакого эффекта.

Возможно, вы могли бы сделать это, а также попробовать надстройку VS, упомянутую в этом отчете об ошибке CMake по теме: http://public.kitware.com/Bug/view.php?id=11258#c27652

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...