我正在尝试使用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
请不要在您的问题标题中添加“已解决”等字样,因为这会使它不再是一个问题。如果答案已解决您的问题,请将其标记为已接受。 –