【发布时间】:2014-08-01 03:35:20
【问题描述】:
作为对这个问题的跟进: Add Source in a subdirectory to a cmake project
选择所有子目录中的 .cpp 和 .h 文件并将它们添加到父目录中定义的 SOURCE 变量的最佳方法是什么(可能使用 FILE 指令?)?
上述问题的答案示例:
set(SOURCE
${SOURCE}
${CMAKE_CURRENT_SOURCE_DIR}/file1.cpp
${CMAKE_CURRENT_SOURCE_DIR}/file2.cpp
PARENT_SCOPE
)
set(HEADERS
${HEADERS}
${CMAKE_CURRENT_SOURCE_DIR}/file1.hpp
${CMAKE_CURRENT_SOURCE_DIR}/file2.hpp
PARENT_SCOPE
)
有可能做这样的事情吗?
FILE(GLOB SUB_SOURCES *.cpp)
set(SOURCE
${SOURCE}
${CMAKE_CURRENT_SOURCE_DIR}/${SUB_SOURCES}
PARENT_SCOPE
)
将目录和子目录中的所有源代码编译成单个输出文件(而不是多个库?)的最佳方法是什么(使用 CMake)?
【问题讨论】:
-
您的
FILE(SUB_SOURCES *.cpp)中缺少 GLOB。将其更改为FILE(GLOB SUB_SOURCES *.cpp)