CMake简介

CMake是一个开源、跨平台的工具,旨在构建、测试和打包软件,CMake可以使用简单的语句和编译配置文件来控制软件的编译过程。在这里主要介绍CMake语句、CMake的流程控制、内置变量、查看log

CMake语句主要有3类用法:

  • 设置变量:set、file、list、find_library、aux_source_directory、generator expressions;
  • 设置target:就是呀构建的目标是什么,语句有add_library、add_executable;
  • 设置target的属性:包括add_definitions、target_link_libraries、link_directories、include_directories、target_include_directories;

一、设置变量的CMake语句

set语句:可以将一个或者多边值赋值给变量

set(SystemPath  include/de/test/h);

set(SystemPath

include/de/test1/h

include/de/test2/h

include/de/test3/h

include/de/test4/h)

file:使用正则表达式来匹配文件,将文件路径赋值给第一个参数,通常和GLOB来一起使用

file(GLOB gemfield_SRC_list ${root}/*?*.cpp)

List:对list进行各种操作,第一个参数表示操作类型。

list(REMOVE_ITEM ......)

find_library:寻找一个库,将找到的库的绝对路径赋值给变量

find_library(libg_path lib.tt PATHS ${CUDA_TOOLKIT_ROOT_Dir}/lib32)

aux_source_directory:将指定目录中的所有文件名称存储在一个类型是list的集合变量中。

二、设置taget

Add_library :将名称为name参数的修改为一个Library

add_library(test SOURCES $(FileSources))

add_executable:使用指定的源文件来添加一个执行的工程

三、设置target属性

add_defintions:添加一个宏

target_link_libraries:添加编译lib库

target_link_libraries(test $(testLibes) name)

原文地址:https://www.cnblogs.com/VARForrest/p/15699271.html