2010-08-07 106 views
6

在我的項目中,所有源代碼駐留在名爲「src」的文件夾中。在我的項目根目錄(在「src」之上)有一個CMakeLists.txt文件,但它只是聲明瞭項目幷包含了「src」子目錄。 src下的CMakeLists.txt文件完成所有工作,包括「add_binary」。把CMake中的二進制文件放在哪裏?

(是不是這樣做的一種常見的方式,或者我應該放在在根級別的CMakeLists.txt文件中的所有智慧?)

如果我現在建項目,我的二進制文件置入src文件夾,但這並沒有多大意義,我寧願將它放在根文件夾或專用的「bin」文件夾中。

你是如何做到這一點的?

回答

6

如果你想要把你的所有可執行文件在一個名爲「bin」的,那麼你可以使用下面的一行在頂部的CMakeLists.txt文件子目錄:

SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") 

只是刪除/bin和可執行文件會在根目錄下創建。庫存在類似的變量:CMAKE_LIBRARY_OUTPUT_DIRECTORY

PS。添加每個目錄的邏輯很好。這似乎是做事情和保持組織良好的常用方式。