2016-11-09 163 views
0

我想我已經偶然發現了一個CMAKE錯誤,但我無法在網上找到足夠的信息來確認。在make clean上,我想要刪除兩個文件夾:foobar。我的問題是我只能刪除一個。ADDITIONAL_MAKE_CLEAN_FILES在多個目標

這將刪除foo

SET_DIRECTORIES_PROPERTIES(PROPERTIES 
    ADDITIONAL_MAKE_CLEAN_FILES "${CMAKE_CURRENT_SOURCE_DIR}/foo" 
) 

我預計這將刪除foobar,但它只是刪除bar

SET_DIRECTORIES_PROPERTIES(PROPERTIES 
    ADDITIONAL_MAKE_CLEAN_FILES "${CMAKE_CURRENT_SOURCE_DIR}/foo" 
    ADDITIONAL_MAKE_CLEAN_FILES "${CMAKE_CURRENT_SOURCE_DIR}/bar" 
) 

我也試過,但得到了同樣的結果如上:

SET_DIRECTORIES_PROPERTIES(PROPERTIES 
    ADDITIONAL_MAKE_CLEAN_FILES "${CMAKE_CURRENT_SOURCE_DIR}/foo" 
) 
SET_DIRECTORIES_PROPERTIES(PROPERTIES 
    ADDITIONAL_MAKE_CLEAN_FILES "${CMAKE_CURRENT_SOURCE_DIR}/bar" 
) 

Ca有人請告知我做錯了什麼?

+0

請問,如果你把它分成兩個'set_directories_properties()'調用它的工作? – Florian

回答

1

使用set_property,而不是set_directory_properties

set_property(DIRECTORY PROPERTY ADDITIONAL_MAKE_CLEAN_FILES 
    "${CMAKE_CURRENT_SOURCE_DIR}/foo" 
    "${CMAKE_CURRENT_SOURCE_DIR}/bar") 
+0

是的,這有效。謝謝。 – Stewart

+0

工作。謹慎解釋? – qweruiop