CMAKE設置VS工程中Debug和Release不同的輸出名稱


CMAKE在管理工程時,需要同時編譯Debug和Release版本,但是兩個版本輸出的文件無論是lib還是dll,名稱都是是完全相同。

如果要輸出在同一個目錄中是非常麻煩的,非常容易混淆,可以使用以下命令設置debug和Release輸出文件后綴的方式進行區分:

if(WIN32 AND NOT MINGW)
  if(NOT DEFINED CMAKE_DEBUG_POSTFIX)
    set(CMAKE_DEBUG_POSTFIX "_debug")
  endif()
  if(NOT DEFINED CMAKE_RELEASE_POSTFIX)
    set(CMAKE_RELEASE_POSTFIX "_release")
  endif()
  if(NOT DEFINED CMAKE_RELWITHDEBINFO_POSTFIX)
    set(CMAKE_RELWITHDEBINFO_POSTFIX "_release")
  endif()
  if(NOT DEFINED CMAKE_MINSIZEREL_POSTFIX)
    set(CMAKE_MINSIZEREL_POSTFIX "_release")
  endif()
endif()

上面命令分別設置Debug模式下后綴為“_debug”,在Release模式下后綴為“_release”。

可以在根目錄下的的CMakeLists.txt文件中設置該命令,則整個項目中子工程的dll和lib都會添加相應的后綴。

要注意該命令要放在目標生成之前,放在后面是無效的。

個人建議只在Debug模式下添加后綴“D”,Release模式下不添加即可區分。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM