2011-11-05 112 views
6

由于Visual Studio 2010中被打破,当它通过CMake的外部更改不会自动重新加载的解决方案,该球员在kitware使这个宏提示你重新加载整个解决方案,而不是像Visual Studio那样为每个项目按重新加载。如果它真的有效,这会很好。如何禁用的CMake的Visual Studio宏提示用户重新加载时CMakeLists.tx改变了解决方案

在VC 10中,这个宏被破坏,进一步扼制了ide。我有另一种自动重新加载外部更改的项目/解决方案(VSCommands插件)的解决方案,并希望禁用cmake的宏。有谁知道一种方式?

回答

3

为“Disable”运行,以提示解决重装CMake的宏,您可以编辑标记“DO NOT EDIT这个宏”宏...

在Visual Studio中,选择“工具>宏>宏IDE ...“,将CMakeVSMacros2.Macros模块中的”ReloadProjects“和”StopBuild“宏的主体注释掉,然后即使CMake调用这些宏,它们也不起作用。

也许你能做到这一点,也尝试在该主题的CMake的bug报告中提到的VS插件:http://public.kitware.com/Bug/view.php?id=11258#c27652

+0

我使用VSCommands插件,但我需要禁用cmake宏被破坏。我认为这是诀窍。谢谢! 虽然一般情况下都很好,但VSaddin无法将新添加的项目加载到解决方案。它只是重新加载现有项目的修改:/ – octi

4

以下是我在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来一次重装的整体解决方案,而不是问你每一个项目, 。

+0

这看起来像它只是附加与注释新行“这应该是再生”,然后一个新的换行符。 – octi

+0

对不起,如果它没有帮助你。对我来说,VS让我用“重新加载解决方案”提示我?对话。 – arrowd

+0

+1太棒了!好主意。 –

相关问题