相关疑难解决方法(0)

从子目录中的CMakeLists.txt填充$ {SRCS}

我目前在我的项目根目录${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

20
推荐指数
1
解决办法
3万
查看次数

CMake生成没有glob的源文件列表

我目前正在使用这段代码来生成我的 CMake 源文件列表来编译我的 C++ 项目:

file(GLOB CPP_FILES src/*.cpp)
Run Code Online (Sandbox Code Playgroud)

正如我在此处读到的,CMake 不鼓励这样做,我想知道是否可以使用 CMake明确列出CMake的源文件,因为我不熟悉 Python 等脚本语言。

我问这个是因为将所有 cpp 文件手动添加到 CMake 中需要做很多工作,尤其是在与多人合作时。

该项目与平台无关,我的源文件位于子文件夹中。

c++ cross-platform cmake visual-studio visual-studio-2017

7
推荐指数
1
解决办法
1万
查看次数