zoukankan      html  css  js  c++  java
  • 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命令。

    <<<------------- 欢迎转载;转载请标明出处。 ------------->>>
  • 相关阅读:
    【Java】Java创建String时,什么情况放进String Pool?
    【Java】代理模式,静态代理和动态代理(基于JDK或CGLib)
    【Java】Float计算不准确
    【Spring】初始化Spring IoC容器(非Web应用),并获取Bean
    【Eclipse】安装subclipse的Eclipse插件
    【多线程】如何通过线程返回值?如何使用多线程并发查询数据
    【多线程】并发执行指定数量的线程
    【ActiveMQ】ActiveMQ在Windows的安装,以及点对点的消息发送案例
    DBCP连接Oracle,数据库重启后现OALL8 is in an inconsistent state异常
    jQuery Validation remote的缓存请求
  • 原文地址:https://www.cnblogs.com/coderfenghc/p/2677767.html
Copyright © 2011-2022 走看看