AUX_SOURCE_DIRECTORY的命令形式如下
aux_source_directory(<dir> <variable>)
AUX_SOURCE_DIRECTORY的案例的目录如下
├── CMakeLists.txt
├── main.cpp
├── sum.cpp
└── sum.h
main.cpp的内容如下
#include "sum.h"
#include<iostream>
using namespace std;
void test()
{
>---cout<<sum(1,2)<< endl;
}
int main()
{
>---test();
>--- return 0;
}
sum.h的内容如下
#include<stdlib.h>
int sum(int a, int b);
sum.cpp的内容如下
#include "sum.h"
int sum(int a, int b)
{
>---return a + b;
}
下一步,上CMakeLists.txt
#定义需用的cmake的最低版本
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
#项目信息
PROJECT(main)
#用于头文件的添加,注意必须是绝对路径,否则可能编译不过
#不过,此处可以用cmake的环境变量PROJECT_SOURCE_DIR或者
#CMAKE_SOURCE_DIR,他两都是指向工程顶层目录
INCLUDE_DIRECTORIES(PROJECT_SOURCE_DIR)
# 查找当前目录下的所有源文件
# 并将名称保存到 DIR_SRCS 变量
AUX_SOURCE_DIRECTORY(. DIR_SRCS)
#指定生产目标
ADD_EXECUTABLE(main ${DIR_SRCS})
依次执行以下命令,即可编译完成
mkdir build //在CMakeLists.txt的同等目录下创建build文件夹
cmake .. //cmake编译,其结果是Makefile,及一系列依赖文件
make //编译,生产最终可执行文件
结果截图如下
![](https://img-blog.csdnimg.cn/20210724170357453.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjEwODUzMw==,size_16,color_FFFFFF,t_70)