作为对这个问题的跟进:将子目录中的源代码添加到CMake项目中
最好的方法是什么(也许使用FILE指令?)来选择子目录中的所有.cpp和.h文件,并将它们添加到父目录中定义的SOURCE变量中?
上面问题的答案示例:
可以像这样做吗?
使用CMake编译一个目录及其子目录中所有源文件为一个单一输出文件(而不是多个库文件),最好的方法是什么?
上面问题的答案示例:
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)
。 - drescherjm