为什么 CMakeLists 文件需要位于 CLion 项目文件夹的根目录中?

Why does CMakeLists file need to be in root of project folder in CLion?

仅当 CMakeLists.txt 文件位于项目根目录时才会构建。例如,为什么它不能驻留在 src 子目录中?有没有办法更改设置,使其显示在那里?

这就是 CMake 层次结构的工作方式,因为您已经创建了项目,您应该有根目录(${CMAKE_SOURCE_DIR} 变量)放置您的顶级 CMake 文件,以及项目名称和其他项目范围首选项。如果您想包含带有源代码或子项目的其他子目录,您应该使用 add_subdirectory() function, it will include child CMake file to your project. Your sub directory may be placed only inside your project root directory. Look into official CMake example 以便更好地理解。

默认情况下,CLion 将包含顶级 CMakeLists.txt 文件的目录视为包含所有源代码的主项目目录。如果你想更改它,你需要更改 CMake 项目根目录,如下所示:https://www.jetbrains.com/help/clion/changing-project-root-directory.html