CMake 手冊詳解(二十一)


上個月為了一個新加的功能披星戴月,沒有時間照顧博文,很長時間木有更新。一直到長假即將收假,才有了時間重新打理這行將荒蕪的文章。所以嘛,這次一定要多翻譯些,好彌補下上個月的缺失~~

============================================================================

CMD#58: option 為用戶提供一個可選項。

  option(<option_variable> "描述選項的幫助性文字" [initial value])

  該命令為用戶提供了一個在ON和OFF中做出選擇的選項。如果沒有指定初始值,將會使用OFF作為初值。如果有些選項依賴於其他選項的值,參見CMakeDependentOption模塊的幫助文件。

CMD#59: output_required_files 輸出一個list,其中包含了一個給定源文件所需要的其他源文件。

  output_required_files(srcfile outputfile)

  輸出一個指定的源文件所需要的所有源文件的list。這個list會寫到outputfile變量中。該命令的功能是將srcfile的依賴性寫出到outputfile中,不過該命令將盡可能地跳過.h文件,搜索依賴中的.cxx,.c和.cpp文件。

CMD#60: project  為整個工程設置一個工程名。

  project(<projectname> [languageName1 languageName2 ... ] )

  為本工程設置一個工程名。而且,該命令還將變量<projectName>_BINARY_DIR和<projectName>_SOURCE_DIR設置為對應值。后面的可選項還可以讓你指定你的工程可以支持的語言。比如CXX(即C++),C,Fortran,等等。在默認條件下,支持C和CXX語言。例如,如果你沒有C++編譯器,你可以通過列出你想要支持的語言,例如C,來明確地禁止對它的檢查。使用特殊語言"NONE",針對任何語言的檢查都會被禁止。

CMD#61: qt_wrap_cpp  創建Qt包裹器。

  qt_wrap_cpp(resultingLibraryName DestName SourceLists ...)

  為所有在SourceLists中列出的.h文件生成moc文件。這些moc文件將會被添加到那些使用DestName源文件列表的庫文件中。

Produce moc files for all the .h files listed in the SourceLists. The moc files will be added to the library using the DestName source list.

CMD#62: qt_wrap_ui 創建Qt的UI包裹器。

  qt_wrap_ui(resultingLibraryName HeadersDestName SourcesDestName SourceLists ...)

  為所有在SourceLists中列出的.ui文件生成.h和.cxx文件。這些.h文件會被添加到使用HeadersDestNamesource列表的庫中。這些.cxx文件會被添加到使用SourcesDestNamesource列表的庫中。

CMD#63: remove_definitions 取消由add_definitions命令添加的-D定義標志。

  remove_definitions(-DFOO -DBAR ...)

  在當前及以下的路徑,從編譯命令行中取消(由add_definitions命令添加的)標志。

CMD#64: return  從一個文件,路徑或函數內返回。

  return()

  從一個文件,路徑或函數中返回。若出現在一個include文件里(經由include()或find_package()命令),該命令會導致當前文件的處理過程停止,並且將控制權轉移到試圖包含它的文件中。若出現在一個不被任何文件包含的文件中,例如,一個CMakeLists.txt中,那么該命令將控制權轉移到父目錄下,如果存在這樣的父目錄的話。如果在一個函數中調用return函數,控制權會返回到該函數的調用函數那里。注意,宏不是函數,它不會像函數那樣去處理return命令。


免責聲明!

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



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