[英]How to link debug executable with release library using CMake FetchContent?
[英]Using CMAKE how to stop the “Debug” and “Release” subdirectories
要直接回答您的問題:使用生成器表達式,如文檔所示。 這是一個例子:
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY $<1:${CMAKE_SOURCE_DIR}/bin>)
$<1:xxx>
是一個擴展到xxx
的genex,這意味着最終值將是您想要的值。
但是,請注意,這意味着在構建時,當前構建的配置中的二進制文件將覆蓋先前構建中的二進制文件,即使這是不同的配置。 你確定要的嗎?
作為旁注,您指定的路徑是相對於源目錄的。 這聽起來也很不尋常,很容易導致問題。 例如,如果您從同一個源生成多個構建系統(到不同的二進制目錄),那么它們的.exe
文件將存儲在同一個位置,最后一個構建將覆蓋任何以前的。 這聽起來像一堆堅固的蠕蟲和未來的維護噩夢。
雖然我不知道您的設置細節,但我建議您重新考慮在源代碼樹中存儲構建工件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.