我目前在我的项目根目录${SRCS}中的CMakeLists.txt文件中定义一个变量,列出了我的可执行文件所需的每个源文件:
SET (SRCS main.cpp
dir1/file1.cpp
dir1/file2.cpp
dir2/file3.cpp
dir2/file4.cpp)
Run Code Online (Sandbox Code Playgroud)
如何CMakeLists.txt在每个子目录中的文件中分发此列表?那是:
CMakeLists.txt
Adds main.cpp to SRCS and subdirectories dir1 and dir2
dir1/CMakeLists.txt
Adds file1.cpp, file2.cpp to SRCS
dir2/CMakeLists.txt
Adds file3.cpp, file4.cpp to SRCS
Run Code Online (Sandbox Code Playgroud) 我目前正在使用这段代码来生成我的 CMake 源文件列表来编译我的 C++ 项目:
file(GLOB CPP_FILES src/*.cpp)
Run Code Online (Sandbox Code Playgroud)
正如我在此处读到的,CMake 不鼓励这样做,我想知道是否可以使用 CMake明确列出CMake的源文件,因为我不熟悉 Python 等脚本语言。
我问这个是因为将所有 cpp 文件手动添加到 CMake 中需要做很多工作,尤其是在与多人合作时。
该项目与平台无关,我的源文件位于子文件夹中。