为什么建议先将源添加到列表中,而不是直接添加到可执行文件中?
PROJECT( helloworld )
SET( hello_SRCS hello.cpp )
ADD_EXECUTABLE( hello ${hello_SRCS} )
为什么不完全跳过SET
行?
答案 0 :(得分:2)
我经常看到这种做法,也认为它被认为是一种很好的做法。例如,如果您使用CLion IDE(实际上使用CMakeLists.txt作为其项目结构文件),您将看到在创建新项目时它默认创建一个SOURCE_FILES变量。
我可以想到为什么这是一个好的做法的一个原因是,如果你想将相同的文件构建到几个目标中。例如,您可能希望为lib提供静态二进制文件和共享二进制文件,因此如果您有一个SOURCE_FILES var,则只需编写类似的内容:
add_library(myLibStatic STATIC ${SOURCE_FILES})
add_library(myLibShared SHARED ${SOURCE_FILES})