我正在嘗試使用GLOB_RECURSE來指定我的源文件和頭文件。目前,我的靜態庫的CMakeLists.txt是:如何正確使用文件GLOB?
project(LinearSystemLib)
file(GLOB_RECURSE ${PROJECT_NAME}_headers ${PROJECT_SOURCE_DIR}/*.h)
file(GLOB_RECURSE ${PROJECT_NAME}_sources ${PROJECT_SOURCE_DIR}/*.cpp)
add_library(
${PROJECT_NAME} STATIC ${${PROJECT_NAME}_headers}
${${PROJECT_NAME}_sources}
)
install(
TARGETS ${PROJECT_NAME}
LIBRARY DESTINATION libs
ARCHIVE DESTINATION archives
)
圖書館目錄如下:
LinearSystemLib
CMakeLists.txt
source
LinearSystemLib.cpp
include
LinearSystemLib.h
當我運行命令cmake .. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug
(build目錄),一切都OK。然而,命令make
它顯示以下內容:
/home/felipe/Documents/Dados/SINMEC/Eclipse/LinearSystemLib/source/LinearSystemLib.cpp:1:29: fatal error: LinearSystemLib.h: No such file or directory
我的CMakeLists錯了嗎?我不想按名稱指定源文件和頭文件。我沒有找到有關glob_recurse的信息。
我可以通過名稱列出源文件和頭文件使其工作。但是,它必須使用glob_recurse或glob來完成。
的可能的複製[如何正確添加包括與CMake的目錄?(http://stackoverflow.com/questions/13703647/how-to-properly-add-include-directories-with-cmake) –
請參閱[CMake/Examples:將遞歸目錄添加到INCLUDE_DIRECTORIES](http://www.vtk.org/Wiki/CMake/Examples#Recursively_add_subdirectories_to_INCLUDE_DIRECTORIES) – Florian
請不要在您的問題標題中添加「已解決」等字樣,因爲這會使它不再是一個問題。如果答案已解決您的問題,請將其標記爲已接受。 –