2017-05-12 74 views
-1

我有一個名爲A的共享庫和一個名爲B的鏈接A的可執行文件的簡單項目。我在源代碼之外創建一個Visual Studio 2017構建,以便構建目錄和源代碼目錄具有相同的父目錄。這可以。如何避免使用CMake目標日誌污染目錄

但是,當我構建我的Visual Studio 2017解決方案時,許多不受歡迎的目錄也出現在父目錄下;一個針對每個運行的目標(A,B,INSTALL等),其中包含該目標的生成日誌。我不想要那些污染性的日誌目錄,或者如果它們出現在我的構建目錄下,如果無法避免,它們將在Visual Studio 2017中出現。任何人都知道如何處理這個?

CMake的版本:3.8.1

編輯

最後3個目錄是那些不需要的:

Parent directory 
|-- build-vc15-x64 directory 
    |-- VS 2017 related stuff 
|-- sources directory 
    |-- CMakeLists.txt 
    |-- libA sources directory 
     |-- stuff for libA 
    |-- execB sources directory 
     |-- stuff for execB 
|-- unexpected directory here when building libA in solution in build-vc15-x64 (contains build log file of libA) 
|-- unexpected directory here when building execB in solution in build-vc-15-x64 (contains build log file of execB) 
|-- x64 (contains build log file of target INSTALL) 

回答

0

使用亂源建立,換句話說,你的構建和源代碼目錄應該是不同的目錄。另外,你必須調用CMake並且在你的build目錄中構建,而不是在父目錄中。 CMake在它被調用的地方創建一堆輔助文件和目錄。

在源代碼和編譯目錄的共同父目錄中調用CMake沒有意義。

+0

它們位於不同的目錄中。 – RCYR

+0

哦,我錯過了。查看更新後的答案。 – usr1234567

+0

我用模式編輯了我的問題。你會更好地理解發生了什麼。 – RCYR