2013-02-22 186 views
0

我有這樣的目錄結構: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

回答

1

使用外部包括文件,這個工程:

include_directories 
+0

這是否解決您所有的構建問題? – ronkot 2013-02-25 05:50:51