首頁 >後端開發 >C++ >如何將 CMake 建置輸出重新導向到單獨的'bin”目錄?

如何將 CMake 建置輸出重新導向到單獨的'bin”目錄?

Susan Sarandon
Susan Sarandon原創
2024-12-15 14:35:15175瀏覽

How Can I Redirect CMake Build Outputs to a Separate 'bin' Directory?

將CMake 建置輸出重新導向至「bin」目錄

使用CMake 使用外掛程式建置專案時,編譯的二進位檔案和庫通常是分散的在來源目錄結構中。為了組織這些文件,有必要將 CMake 的輸出導向到單獨的目錄,例如「./bin」。

解決方案在於設定適當的 CMake 變數來指定所需的輸出路徑。依照 Oleg 的建議,要修改的正確變數是 CMAKE_RUNTIME_OUTPUT_DIRECTORY。

在根CMakeLists.txt 檔案中,您可以指定輸出目錄,如下所示:

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)

這將設定輸出目錄將存檔、庫和運行時二進位檔案儲存到二進位檔案中的「lib」子目錄和「bin」子目錄

或者,您可以使用set_target_properties命令在每個目標的基礎上指定輸出目錄:

set_target_properties(targets...
    PROPERTIES
    ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
    LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
    RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
)

此方法可讓您為不同的目標指定不同的輸出目錄,提供對建置流程進行更細微的控制。

在這兩種情況下,您都可以將 '_[CONFIG]' 附加到變數或屬性名稱來設定特定配置的輸出目錄。標準配置值為 DEBUG、RELEASE、MINSIZEREL 和 RELWITHDEBINFO。

以上是如何將 CMake 建置輸出重新導向到單獨的'bin”目錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn