2011-05-05 94 views
1

時忽略單個文件是否有告訴CMake在使用include_directories時忽略一個特定的頭文件?在使用include_directories和CMake

由於目錄沒有展開爲單個文件,因此我不能將list(REMOVE_ITEM ..)文件移出。

歡呼丹尼爾

+0

你的問題不清楚。你是否想忽略一個頭文件(如果是這樣,在某種意義上?)還是你想從include_directories調用中忽略一個目錄?我不知道如何忽略單個文件,但是我知道如何刪除文件... – DLRdave 2011-05-05 20:45:05

+0

我有一個目錄在兩個項目之間共享。由於某些原因,我希望其中一個項目包含除三個特定頭文件以外的所有內容。 – luuke 2011-05-07 12:47:58

回答

3

的include_directories在CMakeLists調用不會導致所有可用的報頭文件的列表。它只是將這些目錄直接傳遞給編譯器,作爲「#include < ...>」的搜索目錄。在GCC 4.6的「-I」選項中查看documentation

另外:我不知道爲什麼你想要排除單個文件。通常你可以通過在自己的項目中創建自己的頭文件來解決有問題的頭文件,除了單文件外,它包括了所有的東西...

如果你確實想要這樣的東西,而且你堅持用CMake解決它,你可能最終會得到file-globing所有的頭文件,將它們手工複製(當然沒有那一個文件),然後將它們手動添加到新的include-dir中,然後包含新的目錄。

+0

感謝您的建議安德烈,我已經做了文件全球化的一部分,但沒有拿出臨時移動文件的想法。然而,鑑於你說的手動,我認爲沒有機制在CMake中可以爲我做到這一點。不管怎麼說,還是要謝謝你.. – luuke 2011-05-07 12:49:52