如何为不同文件夹中的多个.cpp文件和标头编写Cmake?

时间:2018-07-17 11:42:35

标签: c++ cmake

我有一些.cpp文件及其标头,包括在单独的文件夹中,我应如何为它们编写CMakeLists.txt。我无法写出他们的地址,因此编译器会收到这样的错误->没有此类文件

2 个答案:

答案 0 :(得分:2)

这是CMake用于多个文件项目的简单示例。您需要根据自己的情况进行调整:

 |-- CMakeLists.txt <<---- cMAKEfile
 |-- include
 |   \-- header.h
 \-- src
     |-- header.cpp
     \-- main.cpp

您的CMakeLists.txt应该如下所示:

project(test)
include_directories(include)
file(GLOB SOURCES "src/*.cpp")
add_executable(test ${SOURCES})

然后,您可以执行cmakemake命令。

答案 1 :(得分:0)

基于ConsistentProgrammer的回答:您可以创建两个变量来保存文件列表。

标题列表将文件包含在include目录中,其内容将如下所示:“ ./include/foo.h”,“ ./ include / bar.h” ...

源列表将类似,但是会将文件保存在源目录中。

我假设目录位于包含CMakeLists.txt的目录内。

此外,您还必须使用命令include_directories(dir)来通知要包含目录。

我在github上有个小例子:Simple separated includes and cpps.