cmake:如何从项目目录中包含/编译文件?

时间:2013-02-22 17:13:07

标签: build cmake project external

我有这个目录结构:

projects/
    project1/
        src/
            main.cpp
            CMakeLists.txt
    project2/
        src/
            file1.h
            file1.cpp
            test1.cpp

顶级项目目录不能被视为顶级项目,而只是一组不相关的项目,因此我不会将CMakeLists.txt文件放在该级别。

我希望project1包含来自project2的文件而不指定完整路径,例如:

// main.cpp
#include "file1.h"

我还希望在project1中构建project2的实现文件。

我需要project2不是一个库,而只是使用它的文件,就像它们是project1的一部分一样。

我正在使用cmake,这是我写的CMakeLists.txt文件(它不起作用):

cmake_minimum_required(VERSION 2.8)
project(project1)
add_subdirectory(src)
add_subdirectory(../../project2/src)

即使指定project2的完整路径也不起作用:${CMAKE_CURRENT_SOURCE_DIR)/../../project2/src

我从make收到“致命错误:file1.h:没有此类文件或目录”。

1 个答案:

答案 0 :(得分:1)

要使用外部包含文件,这可以:

include_directories