工作目录下有多个源文件,那么CMakeLists.txt 手动键入源文件名称,很麻烦。
文件结构如下. ├── CMakeLists.txt ├── main.cpp ├── multiple.cpp ├── operation.cpp └── operation.h
文件内容multiple.cpp
int mul(int a,int b) { return a*b; }
operation.cpp:
#include "operation.h" int add(int a,int b) { return a+b; }
operation.h
#ifndef _OPERTION_H #define _OPERTION_H int add(int a,int b); #endif
main.cpp
#include #include "operation.h" int mul(int a,int b); int main() { int a=1; int b=2; std::cout<<"你好啊,朋友"<<std::endl; std::cout<<"a+b = "<<add(a,b)<<std::endl; std::cout<<"a*b = "<<mul(a,b)<<std::endl; }CMakeList.txt技巧
对于多个源文件可以通过两步减少繁杂的源文件名书写: 将所有源文件变量保存在DIR_SRCS中,使用变量时应该用大括号说明美元作用范围${VAR}
aux_source_directory ( . DIR_SRCS) add_executable(Demo ${DIR_SRCS})
更改后的CMakeLists.txt
aux_source_directory (. DIR_SRCS) #目录,代号 add_executable(Demo main.cpp ${DIR_SRCS})# 你当然可以add_executable(Demo main.cpp operation.cpp multiple.cpp) include_directories(.)检验结果