2011-11-05 22 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太棒了!好主意。 –

相關問題