2011-08-07 62 views
2

我對CMake很新,但是在將現有的庫移植到它時遇到問題。 爲了簡化,我將只處理2個文件:angle.cpp和angle.h。 該文件是這樣的:CMake問題與表單<src/header.h>包含的頭文件相關聯

/cmaketest/CMakeLists 
/cmaketest/src/angle.cpp 
/cmaketest/src/angle.h 

,我會運行CMake和中/ cmaketest /產生Makefile文件。

我CMakeLists目前這一個:

CMAKE_MINIMUM_REQUIRED(VERSION 2.6) 
PROJECT(cmaketest) 

SET(cmaketest_SRCDIR src) 
AUX_SOURCE_DIRECTORY(${cmaketest_SRCDIR} cmaketest_SOURCES) 
FILE(GLOB cmaketest_HEADERS ${cmaketest_SRCDIR}/*.h) 

ADD_EXECUTABLE(cmaketest ${cmaketest_SOURCES} ${cmaketest_HEADERS}) 

但問題是,在angle.cpp,頭不被"angle.h"<src/angle.h>

當前cmake的文件我

所以包括我執行make時出現以下錯誤:

/cmaketest/src/angle.cpp:1:23: fatal error: src/angle.h: file not found

如何解決問題? (爲了向後兼容,我無法修改.cpp文件中的<src/angle.h>

非常感謝。

回答

2

嘗試使用include_directories命令添加項目目錄作爲include目錄:

... 
file (GLOB cmaketest_HEADERS ${cmaketest_SRCDIR}/*.h) 

include_directories(${CMAKE_SOURCE_DIR}) 
add_executable(cmaketest ${cmaketest_SOURCES} ${cmaketest_HEADERS})