2012-01-13 32 views
5

這裏是我的當前設置輸出:如何不將發佈或調試添加到輸出路徑?

set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/bin") 
set(LIBRARY_OUTPUT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/bin") 
set(RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/bin") 

但出於某種原因我不想(MSVS)也發出文件斌/ Release或Debug文件夾在我的bin文件夾。我能以某種方式意識到使用CMake嗎?

謝謝

回答

9

一個similar question被要求在幾個月前,當我建議使用target properties和也稱爲another answer。對於MSVC,您可以在每個配置的基礎上完整指定可執行文件,庫,檔案等的位置。

例如使用類似:

if (MSVC) 
    set_target_properties(${targetname} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${youroutputdirectory}) 
    set_target_properties(${targetname} PROPERTIES LIBRARY_OUTPUT_DIRECTORY_DEBUG ${youroutputdirectory}) 
    set_target_properties(${targetname} PROPERTIES LIBRARY_OUTPUT_DIRECTORY_RELEASE ${youroutputdirectory}) 
    # etc for the other available configuration types (MinSizeRel, RelWithDebInfo) 
endif (MSVC) 

將放在一個單一的輸出目錄$ {} youroutputdirectory所有的圖書館,不管是在調試或發佈配置。

相關問題