cmake
简介
cmake 是一个软件自动化构建工具,在使用C/C++ 编写程序的时候,多个源文件编译一般是通过makefile 工具进行编译生成。可以通过使用cmake 生成一个 makefile文件,再通过 makefile文件生成程序。
简而言之:cmake 用于生成 makefile文件,makefile 文件用于编译源文件生成程序。
在没有cmake 之前,makefile 也可以自己写。
但既然有了cmake,就没有必要再自己写makefile文件了(但对makefile文件仍然要有了解和认识)
CMakeLists.txt
CMakeLists.txt 文件是构建cmake 的核心,配置信息,加载源文件都在其中编写。
一般在文件中首先指定cmake的最低版本。
cmake_minimum_required(VERSION 2.8)
常见参数:
project(name)
定义项目名称add_executable(target_name file1.cc file2.cc )
指定要编译的源文件和生成的可执行文件add_library(target_name STATIC/SHARED file1.cc file2.cc)
生成库文件(静态/动态)find_package(package_name)
查找并使用一个外部库include_directories(dir1 dir2)
指定头文件的搜索路径target_link_libraries(target_name lib1 lib2)
指定链接时需要的库set(variable value)
设置一个变量
示例
比如,我当前有多个源文件,分别为:a.cc, b.cc, c.cc,那么我的CMakeLists.txt 就可以这样写
cmake_minimum_required(VERSION 2.8)
project(out) # 这里的out表示这个工程的名字,默认和变量 PROJECT_NAME 一致。
# 在这里定义project之后,就可以使用 PROJECT_NAME 这个变量。
add_executable(a.out a.cc b.cc c.cc) # 这里的a.out表示即将生成的可执行程序
可以通过set设置一些变量,在文件中使用 ${}
使用变量的值。
set(target_name "a.out")
add_executable(${target_name} a.cc b.cc c.cc)
标签:文件,cmake,target,cc,makefile,使用,name
From: https://www.cnblogs.com/zxinlog/p/17902951.html