CMake 手册详解(十八)

CMD#45 : include 从给定的文件中读取CMake的列表文件。

  include(<file|module> [OPTIONAL] [RESULT_VARIABLE <VAR>]
[NO_POLICY_SCOPE])

  从给定的文件中读取CMake的清单文件代码。在清单文件中的命令会被立即处理,就像它们是写在这条include命令展开的地方一样。如果指定了OPTIONAL选项,那么如果被包含文件不存在的话,不会报错。如果指定了RESULT_VARIABLE选项,那么var或者会被设置为被包含文件的完整路径,或者是NOTFOUND,表示没有找到该文件。

  如果指定的是一个模块(module)而不是一个文件,查找的对象会变成路径CMAKE_MODULE_PATH下的文件<modulename>.camke。

  参考cmake_policy()命令文档中关于NO_POLICY_SCOPE选项的讨论。

CMD#46 : include_directories 为构建树添加包含路径。

  include_directories([AFTER|BEFORE] [SYSTEM] dir1 dir2 ...)

  将给定的路径添加到编译器搜索包含文件(.h文件)的路径列表中。缺省情况下,该路径会被附加在当前路径列表的后面。这种缺省行为可以通过设置CMAKE_include_directories_BEFORE变量为ON被改变。通过将该变量改变为BEFORE或AFTER,你可以在追加和附加在前端这两种方式中选择,而不用理会缺省设置。如果指定了SYSTEM选项,编译器将会认为该路径是某种平台上的系统包含路径。

 CMD#47 : include_external_msproject 在一个workspace中包含一个外部的Microsoft工程。      

  include_external_msproject(projectname location dep1 dep2 ...)

  在生成的workspace文件中包含一个外部的Microsoft工程。它会创建一个名为[projectname]的目标。这个目标可以用在add_dependencies命令中让其他工程依赖于这个外部工程。当前版本下,该命令在UNIX平台上不会做任何事情。

CMD#48 : include_regular_expression 设置用于依赖性检查的正则表达式。

  include_regular_expression(regex_match [regex_complain])

  设置依赖性检查的正则表达式。这有匹配正则表达式regex_match的文件会成为依赖性跟踪的对象。只有匹配regex_complain的文件,在找不到它们的时候才会给出警告(标准头文件不会被搜索)。正则表达式的默认值是:

    regex_match    = "^.*$" (匹配所有文件)
   regex_complain = "^$" (仅匹配空字符串)

posted on 2012-08-05 21:54  SirDigit  阅读(13649)  评论(0编辑  收藏  举报