=待创建的工程二进制路径。--target=构建,而不是默认目标。
--config=对于多重配置工具,选择配置。
--clean-first=首先构建目标的clean伪目标,然后再构建。
(如果仅仅要clean掉,使用--target'clean'选项。
)
--=向内置工具(nativetools)传递剩余的选项。
运行不带选项的cmake--build来获取快速帮助信息。
∙-N:
查看模式。
仅仅加载缓存信息,并不实际运行配置和生成步骤。
∙-P:
处理脚本模式。
将给定的cmake文件按照CMake语言编写的脚本进行处理。
不执行配置和生成步骤,不修改缓存信息。
如果要使用-D选项定义变量,-D选项必须在-P选项之前。
∙--graphviz=[file]:
生成依赖的graphviz图。
生成一个graphviz软件的输入文件,其中包括了项目中所有库和可执行文件之间的依赖关系。
∙--system-information[file]:
输出与该系统相关的信息。
输出范围比较广的、与当前使用的系统有关的信息。
如果在一个CMake工程的二进制构建树的顶端运行该命令,它还会打印一些附加信息,例如缓存,日志文件等等。
∙--debug-trycompile:
不删除“尝试编译”路径。
不删除那些为try_compile调用生成的路径。
这在调试失败的try_compile文件时比较有用。
不过,因为上一次“尝试编译”生成的旧的垃圾输出文件也许会导致一次不正确通过/不通过,且该结果与上次测试的结果不同,所以该选项可能会改变“尝试编译”的结果。
对于某一次“尝试编译”,该选项最好只用一次;并且仅仅在调试时使用。
∙--debug-output:
将cmake设置为调试模式。
在cmake运行时,打印额外的信息;比如使用message(send_error)调用得到的栈跟踪信息。
∙--trace:
将cmake设置为跟踪模式。
用message(send_error)调用,打印所有调用生成的跟踪信息,以及这些调用发生的位置。
(这句话含义不是很确定—译注。
)
∙--help-commandcmd[file]:
打印单个命令cmd的帮助信息,然后退出。
显示给定的命令的完整的文档。
如果指定了[file]参数,该文档会写入该文件,其输出格式由该文件的后缀名确定。
支持的文件类型有:
manpage,HTML,DocBook以及纯文本。
∙--help-command-list[file]:
列出所有可用命令的清单,然后退出。
该选项列出的信息含有所有命令的名字;其中,每个命令的帮助信息可以使用--help-command选项后跟一个命令名字得到。
如果指定了[file]参数,帮助信息会写到file中,输出格式依赖于文件名后缀。
支持的文件格式包括:
manpage,HTML,DocBook以及纯文本。
∙--help-commands[file]:
打印所有命令的帮助文件,然后退出。
显示所有当前版本的命令的完整文档。
如果指定了[file]参数,帮助信息会写到file中,输出格式依赖于文件名后缀。
支持的文件格式包括:
manpage,HTML,DocBook以及纯文本。
∙--help-compatcommands[file]:
打印兼容性命令(过时的命令—译注)的帮助信息。
显示所有关于兼容性命令的完整文档。
如果指定了[file]参数,帮助信息会写到file中,输出格式依赖于文件名后缀。
支持的文件格式包括:
manpage,HTML,DocBook以及纯文本。
∙--help-modulemodule[file]:
打印某单一模块的帮助信息,然后退出。
打印关于给定模块的完整信息。
如果指定了[file]参数,帮助信息会写到file中,且输出格式依赖于文件名后缀。
支持的文件格式包括:
manpage,HTML,DocBook以及纯文本。
∙--help-module-list[file]:
列出所有可用模块名,然后退出。
列出的清单包括所有模块的名字;其中,每个模块的帮助信息可以使用--help-module选项,后跟模块名的方式得到。
如果指定了[file]参数,帮助信息会写到file中,且输出格式依赖于文件名后缀。
支持的文件格式包括:
manpage,HTML,DocBook以及纯文本。
∙--help-modules[file]:
打印所有模块的帮助信息,然后退出。
显示关于所有模块的完整文档。
如果指定了[file]参数,帮助信息会写到file中,且输出格式依赖于文件名后缀。
支持的文件格式包括:
manpage,HTML,DocBook以及纯文本。
∙--help-custom-modules[file]:
打印所有自定义模块名,然后退出。
显示所有自定义模块的完整文档。
如果指定了[file]参数,帮助信息会写到file中,且输出格式依赖于文件名后缀。
支持的文件格式包括:
manpage,HTML,DocBook以及纯文本。
∙--help-policycmp[file]:
打印单个策略的帮助信息,然后退出。
显示给定的策略的完整文档。
如果指定了[file]参数,帮助信息会写到file中,且输出格式依赖于文件名后缀。
支持的文件格式包括:
manpage,HTML,DocBook以及纯文本。
∙--help-policies[file]:
打印所有策略的帮助信息,然后退出。
显示所有策略的完整文档。
如果指定了[file]参数,帮助信息会写到file中,且输出格式依赖于文件名后缀。
支持的文件格式包括:
manpage,HTML,DocBook以及纯文本。
∙--help-propertyprop[file]:
打印单个属性的帮助信息,然后退出。
显示指定属性的完整文档。
如果指定了[file]参数,帮助信息会写到file中,且输出格式依赖于文件名后缀。
支持的文件格式包括:
manpage,HTML,DocBook以及纯文本。
∙--help-property-list[file]:
列出所有可用的属性,然后退出。
该命令列出的清单包括所有属性的名字;其中,每个属性的帮助信息都可以通过--help-property选项后跟一个属性名的方式获得。
如果指定了[file]参数,帮助信息会写到file中,且输出格式依赖于文件名后缀。
支持的文件格式包括:
manpage,HTML,DocBook以及纯文本。
∙--help-properties[file]:
打印所有属性的帮助信息,然后退出。
显示所有属性的完整文档。
如果指定了[file]参数,帮助信息会写到file中,且输出格式依赖于文件名后缀。
支持的文件格式包括:
manpage,HTML,DocBook以及纯文本。
∙--help-variablevar[file]:
打印单个变量的帮助信息,然后退出。
显示指定变量的完整文档。
如果指定了[file]参数,帮助信息会写到file中,且输出格式依赖于文件名后缀。
支持的文件格式包括:
manpage,HTML,DocBook以及纯文本。
∙--help-variable-list[file]:
列出文档中有记录的变量,然后退出。
该命令列出的清单包括所有变量的名字;其中,每个变量的帮助信息都可以通过--help-variable选项后跟一个变量名的方式获得。
如果指定了[file]参数,帮助信息会写到file中,且输出格式依赖于文件名后缀。
支持的文件格式包括:
manpage,HTML,DocBook以及纯文本。
∙--help-variables[file]:
打印所有变量的帮助信息,然后退出。
显示所有变量的完整帮助文档。
如果指定了[file]参数,帮助信息会写到file中,且输出格式依赖于文件名后缀。
支持的文件格式包括:
manpage,HTML,DocBook以及纯文本。
∙--copyright[file]:
打印CMake的版权信息,然后退出。
如果指定了[file]参数,版权信息会写到这个文件中。
∙--help:
打印用法信息,然后退出。
用法信息描述了基本的命令行界面及其选项。
∙--help-full[file]:
打印完整的帮助信息,然后退出。
显示大多数UNIXmanpage提供的帮助信息。
该选项是为非UNIX平台提供的;但是如果man手册页没有安装,它也能提供便利。
如果制定了[file]参数,帮助信息会写到这个文件中。
∙--help-html[file]:
以HTML格式打印完整的帮助信息,然后退出。
CMake的作者使用该选来帮助生成web页面。
如果指定了[file]参数,帮助信息会写到这个文件中。
∙--help-man[file]:
以UNIX的man手册页格式打印完整的帮助信息,然后退出。
cmake使用该选生成UNIX的man手册页。
如果指定了[file]参数,帮助信息会写到这个文件中。
∙--version[file]:
显示程序名/版本信息行,然后退出。
如果指定了[file]参数,版本信息会写到这个文件中。
生成器
在CMake2.8.3平台上,CMake支持下列生成器:
∙BorlandMakefiles:
生成Borlandmakefile。
∙MSYSMakefiles:
生成MSYSmakefile。
生成的makefile用use/bin/sh作为它的shell。
在运行CMake的机器上需要安装msys。
∙MinGWMakefiles:
生成供mingw32-make使用的makefile。
生成的makefile使用cmd.exe作为它的shell。
生成它们不需要msys或者unixshell。
∙NMakeMakefiles:
生成NMakemakefile。
∙NMakeMakefilesJOM:
生成JOMmakefile。
∙UnixMakefiles:
生成标准的UNIXmakefile。
在构建树上生成分层的UNIXmakefile。
任何标准的UNIX风格的make程序都可以通过默认的make目标构建工程。
生成的makefile也提供了install目标。
∙VisualStudio10:
生成VisualStudio10 工程文件。
∙VisualStudio10Win64:
生成VisualStudio10Win64 工程文件。
∙VisualStudio6:
生成VisualStudio6 工程文件。
∙VisualStudio7:
生成VisualStudio.NET2002 工程文件。
∙VisualStudio7.NET2003:
生成VisualStudio.NET2003工程文件。
∙VisualStudio82005:
生成VisualStudio.NET2005 工程文件。
∙VisualStudio82005Win64:
生成VisualStudio.NET2005Win64工程文件。
∙VisualStudio92008:
生成VisualStudio92008 工程文件。
∙VisualStudio92008Win64:
生成VisualStudio92008Win64工程文件。
∙WatcomWMake:
生成WatcomWMakemakefiles。
∙CodeBlocks-MinGWMakefiles:
生成CodeBlock工程文件。
在顶层目录以及每层子目录下为CodeBlocks生成工程文件,生成的CMakeList.txt的特点是都包含一个PROJECT()调用。
除此之外还会在构建树上生成一套层次性的makefile。
通过默认的make目标,正确的make程序可以构建这个工程。
makefile还提供了install目标。
∙CodeBlocks-NMakeMakefiles:
生成CodeBlocks工程文件。
在顶层目录以及每层子目录下为CodeBlocks生成工程文件,生成的CMakeList.txt的特点是都包含一个PROJECT()调用。
除此之外还会在构建树上生成一套层次性的makefile。
通过默认的make目标,正确的make程序可以构建这个工程。
makefile还提供了install目标。
∙CodeBlocks-UnixMakefiles:
生成CodeBlocks工程文件。
在顶层目录以及每层子目录下为CodeBlocks生成工程文件,生成的CMakeList.txt的特点是都包含一个PROJECT()调用。
除此之外还会在构建树上生成一套层次性的makefile。
通过默认的make目标,正确的make程序可以构建这个工程。
makefile还提供了install目标。
∙EclipseCDT4-MinGWMakefiles:
生成EclipseCDT4.0工程文件。
在顶层目录下为Eclipse生成工程文件。
在运行源码外构建时,一个连接到顶层源码路径的资源文件会被创建。
除此之外还会在构建树上生成一套层次性的makefile。
通过默认的make目标,正确的make程序可以构建这个工程。
makefile还提供了install目标。
∙EclipseCDT4-NMakeMakefiles:
生成EclipseCDT4.0工程文件。
在顶层目录下为Eclipse生成工程文件。
在运行源码外构建时,一个连接到顶层源码路径的资源文件会被创建。
除此之外还会在构建树上生成一套层次性的makefile。
通过默认的make目标,正确的make程序可以构建这个工程。
makefile还提供了install目标。
∙EclipseCDT4-UnixMakefiles:
生成EclipseCDT4.0工程文件。
在顶层目录下为Eclipse生成工程文件。
在运行源码外构建时,一个连接到顶层源码路径的资源文件会被创建。
除此之外还会在构建树上生成一套层次性的makefile。
通过默认的make目标,正确的make程序可以构建这个工程。
makefile还提供了install目标。
CMake手册的客套话总算说完了,开始进入正题。
第一部分是CMake命令。
命令就相当于命令行下操作系统提供的各种命令,重要性不言而喻;可以说,这些命令是CMake构建系统的骨架。
CMake2.8.3共有80条命令,分别是:
add_custom_command,add_custom_target,add_definitions,add_dependencies,add_executable,add_library,add_subdirectory,add_test,aux_source_directory,break,build_command,cmake_minimum_required,cmake_policy,configure_file,create_test_sourcelist,define_property,else,elseif,enable_language,enable_testing,endforeach,endfunction,endif,endmacro,endwhile,execute_process,export,file,find_file,find_library,find_package,find_path,find_program,fltk_wrap_ui,foreach,function,get_cmake_property,get_directory_property,get_filename_component,get_property,get_source_file_property,get_target_property,get_test_property,if,include,include_directories,include_external_msproject,include_regular_expression,install,link_directories,list,load_cache,load_command,macro,mark_as_advanced,math,message,option,output_required_files,project,qt_wrap_cpp,qt_wrap_ui,remove_definitions,return,separate_arguments,set,set_directory_properties,set_property,set_source_files_properties,set_target_properties,set_tests_properties,site_name,source_group,string,target_link_libraries,try_compile,try_run,unset,variable_watch,while。
这些命令在手册中是字典序排列的;为了便于查找,翻译也按照字典序来组织。
但是在翻译结束后,会对命令进行小结,与大家讨论一下这些命令的使用方法和使用时机。
====================================