常用命令
-
add_executable
- 原型: add_executable(
[WIN32][MACOSX_BUNDLE] [EXCLUDE_FROM_ALL] source1 source2 … sourceN) - 作用: 用于指定从一组源文件 source1 source2 … sourceN 编译出一个可执行文件且命名为 name
- 示例: add_executable(Main ${DIR_SRCS})
- 原型: add_executable(
-
add_library
- 原型: add_library([STATIC | SHARED |MODULE] [EXCLUDE_FROM_ALL] source1 source2 … sourceN)
- 作用: 用于指定从一组源文件 source1 source2 … sourceN 编译出一个库文件且命名为 name
- 示例: add_library(Lib ${DIR_SRCS})
-
add_subdirectory
- 原型: add_subdirectory(source_dir[binary_dir] [EXCLUDE_FROM_ALL])
- 作用: 用于添加一个需要进行构建的子目录
- 示例: add_subdirectory(Lib)
-
aux_source_directory
- 原型: "aux_source_directory(
) - 作用: 用于将 dir 目录下的所有源文件的名字保存在变量variable中
- 示例: aux_source_directory(. DIR_SRCS)
- 原型: "aux_source_directory(
-
cmake_minimum_required
- 原型: cmake_minimum_required(VERSIONmajor[.minor[.patch[.tweak]]][FATAL_ERROR])
- 作用: 用于指定需要的Cmake的最低版本
- 示例: cmake_minimum_required(VERSION 2.8)
-
find_library
- 原型: find_library (name1 [path1 path2 …])
- 作用: 用于查找库文件 name1 的路径,如果找到则将路径保存在 VAR中(此路径为一个绝对路径),如果没有找到则结果为-NOTFOUND。
- 示例:
-
find_path
- 原型: find_path(name1 [path1 path2 …])
- 作用: 用于查找包含文件 name1 的路径,如果找到则将路径保存在 VAR中(此路径为一个绝对路径),如果没有找到则结果为-NOTFOUND. 默认的情况下,VAR会被保存在 Cache中,这时候我们需要清除 VAR 才可以进行下一次查询(使用 unset命令)
- 示例: find_path(LUA_INCLUDE_PATH lua.h ${LUA_INCLUDE_FIND_PATH})
-
find_package
- 原型: FIND_PACKAGE(
[major.minor] [QUIET] [NO_MODULE] [[REQUIRED|COMPONENTS] [componets …]]) - 作用: 用来调用预定义在CMAKE_MODULE_PATH下的Find
.cmake模块,也可以自己定义Find 模块,通过SET(CMAKE_MODULE_PATH dir)将其放入工程的某个目录供工程使用
- 原型: FIND_PACKAGE(
-
mark_as_advanced
- 原型: mark_as_advanced([CLEAR|FORCE]
…) - 作用: 标记已命名的缓冲变量为advanced,advanced变量不会在cmake图形界面中显示除非advanced选项开启
- 原型: mark_as_advanced([CLEAR|FORCE]
-
message
- 原型: message([STATUS | WARNING | AUTHOR_WARNING | FATAL_ERROR | SEND_ERROR]“message to display” …)
- 作用: 用于输出信息
- 示例: message(“Hello World”)
-
project
- 原型: project(
[languageName1 languageName2 … ] ) - 作用: 用于指定项目的名称
- 示例: project(Main)
- 原型: project(
-
set
- 原型: set(
[[CACHE [FORCE]] | PARENT_SCOPE]) - 作用: 用于设定变量variable的值为value. 如果指定了CACHE变量将被放入Cache(缓存)中
- 示例: set(ProjectName Main)
- 原型: set(
-
target_link_libraries
- 原型: target_link_libraries(
[item1 [item2 […]]] [[debug | optimized | general] ] …) - 作用: 用于指定target需要链接item1、item2. 这里 target必须已经被创建,链接的item可以是已经存在的target(依赖关系会自动添加)
- 示例: target_link_libraries(Main Lib)
- 原型: target_link_libraries(