cmake:如何在项目目录中包含/编译文件?
问题描述:
我有这样的目录结构:cmake:如何在项目目录中包含/编译文件?
projects/
project1/
src/
main.cpp
CMakeLists.txt
project2/
src/
file1.h
file1.cpp
test1.cpp
顶级项目目录不能算是一个顶级项目,而只是一个无关的项目的集合,所以我不会把一个CMakeLists.txt
文件在这一水平。
我想PROJECT1包括从项目2文件没有指定的完整路径,例如:
// main.cpp
#include "file1.h"
而且我也希望项目2的实现文件要建在PROJECT1。
我需要project2不是一个库,但只是使用它的文件,如果他们是project1的一部分。
我使用cmake
,这是CMakeLists.txt
文件我写的(它不工作):
cmake_minimum_required(VERSION 2.8)
project(project1)
add_subdirectory(src)
add_subdirectory(../../project2/src)
即使指定的完整路径项目2不工作:${CMAKE_CURRENT_SOURCE_DIR)/../../project2/src
我得到“致命错误:file1.h:没有这样的文件或目录“从make
。
答
使用外部包括文件,这个工程:
include_directories
这是否解决您所有的构建问题? – ronkot 2013-02-25 05:50:51