本文主要是介绍CMake aux_source_directory 学习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
如下,prj是空文件夹;
add.h;
#include <iostream>using namespace std;int add1(int a, int b);
num.h;
int num1=100;
int num2=301;
add.cpp;
#include "add.h"int add1(int i, int j)
{return i + j;
}
main.cpp;
#include <conio.h>
#include "add.h"
#include "num.h"int main()
{cout << add1(num1, num2) << endl;getch();return 0;
}
CMakeLists.txt如下;
cmake_minimum_required(VERSION 3.10)
project(myadd VERSION 1.0)
aux_source_directory(. ALL_SRCS)
add_executable(myadd ${ALL_SRCS})
project指令,之前只是指定了项目名,这次也指定了项目版本,生成的项目的版本;
aux_source_directory指令,
aux_source_directory(< dir > < variable >)
搜集所有在指定路径下的源文件的文件名,将输出结果列表储存在指定的变量中。
就是把一个文件夹下的全部源文件的文件名,存到一个变量中;
aux_source_directory(. ALL_SRCS),这是把当前目录下的所有源文件名存入变量ALL_SRCS;点应该是代表所有的文件名;
cmake语法中,${变量名} 这是引用变量的语法;
add_executable(myadd ${ALL_SRCS}),这样就把全部文件名加入myadd项目;
然后进行cmake;
红的先不管;
done了以后看一下生成了解决方案;
从VS2015打开生成的sln,像前文删除多余的;
看一下都有了;但是这次不知道为什么自己的两个头文件是在外部依赖项中,之前是单独有一个头文件的文件夹;从效果来说是一样的;
运行一下;自己的四个文件都包含进来了;结果如下;
这篇关于CMake aux_source_directory 学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!