本文目录
前言
在学习x265工程过程中,以source下的CMakeLists.txt和Version.cmake为例学习了CMake语法知识,常用命令和语法总结于此。
1、CMake简介
CMake 是一个跨平台的,开源的构建系统(BuildSystem)。CMake 可以通过 CMakeLists.txt 文件来产生特定平台的标准的构建文件,例如:为 Unix 平台生成makefiles文件(使用GCC编译),为 Windows MSVC 生成 projects/workspaces(使用VS IDE编译)或Makefile文件(使用nmake编译)。
CMake官方网址: https://cmake.org/
2、CMake常用命令和语法
CMake指令查找手册:https://cmake.org/cmake/help/latest/
2.1、set
set(
命令含义:将变量variable设置为值
set(
命令含义:将缓存条目variable设置为值
set(ENV{
命令含义:将环境变量设置为值
2.2、include
Load and run CMake code from a file or module.
include 指令用来载入并运行来自于文件或模块的 CMake 代码。
2.3、include_directories
include_directories ([AFTER|BEFORE] [SYSTEM] dir1 [dir2 …])
作用:将指定目录添加到编译器的头文件搜索路径之下,指定的目录被解释成当前源码路径的相对路径。
2.4、option
option(
其中
2.5、list
list (subcommand [args…])
作用:subcommand为具体的列表操作子命令,例如读取、查找、修改、排序等。为待操作的列表变量,[args…]为对列表变量操作需要使用的参数表,不同的子命令对应的参数也不一致。
GET:子命令GET用于读取列表中指定索引的的元素,可以指定多个索引。
2.6、string
字符串操作
string(FIND
string(REPLACE
string(TOLOWER
2.7、find_program
find_program( name1 [path1 path2 …])
作用:查找名为name1的可执行程序,路径存在在中
2.8、find_package
作用:对外部库进行查找
2.9、execute_process
execute_process(COMMAND
[COMMAND
[WORKING_DIRECTORY
[TIMEOUT
[RESULT_VARIABLE
[OUTPUT_VARIABLE
[ERROR_VARIABLE
[INPUT_FILE
[OUTPUT_FILE
[ERROR_FILE
[OUTPUT_QUIET]
[ERROR_QUIET]
[OUTPUT_STRIP_TRAILING_WHITESPACE]
[ERROR_STRIP_TRAILING_WHITESPACE])
作用:执行系统子进程
2.10、configure_file
Copy a file to another location and modify its contents.
configure_file(
2.11、add_definitions
add -D define flags to the compilation of source files.
CMAKE_CXX_FLAGS/CMAKE_C_FLAGS:设置C++/C的编译器选项
2.12、find_library
find_library ( name1 [path1 path2 …])
用于查找库。
2.13、add_subdirectory
add a subdirectory to the build.
add_subdirectory(source_dir [binary_dir] [EXCLUDE_FROM_ALL])
2.14、add_executable
使用指定的源文件来生成目标可执行文件。
2.15、file
文件操作
file(READ
THE END!
本博文只能阅读,谢绝转载,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 2963033731@qq.com