工作目录下有多个源文件,那么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 <iostream>
#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(.)