CMake的醫生說有關命令file GLOB:爲什麼cmake文件GLOB是邪惡的?
我們不建議使用GLOB收集源文件的列表,從你的源代碼樹。如果在添加或刪除源時未更改CMakeLists.txt文件,則生成的生成系統無法知道何時要求CMake重新生成。
在網絡上的幾個討論線程,其中通配源文件是邪惡的。
然而,爲了使構建系統知道源已被添加或刪除,這足以說
touch CMakeLists.txt
,對嗎?
然後,這比編輯CMakeLists.txt
插入或刪除源文件名更省力。也不難記得。所以我沒有看到有任何理由建議對file GLOB
。
這個說法有什麼問題?
另請參閱討論[這裏](http://stackoverflow.com/questions/30949452/cmake-ninja-attempting-to-compile-deleted-cpp-file/31183245)。正如我在我的回答中所描述的那樣,我使用了一種混合方法:將所有源文件列在'CMakeLists.txt'文件中(也因爲有時我會爲不同的構建配置精選源文件)和頭文件的globul(出於方便讓他們參加VS項目)。我提出了一個解決方法,例如'git'用'configure_file($ {CMAKE_SOURCE_DIR}/.git/index $ {PROJECT_BINARY_DIR} /git_index.tmp)''。 – Florian