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

时间:2017-09-25 01:30:08

标签: c++ cmake clion

只有CMakeLists.txt文件位于项目根目录中时才会构建。例如,为什么它不能驻留在src子目录中?有没有办法更改设置,以便它可以看到那里?

2 个答案:

答案 0 :(得分:3)

CMake层次结构如何工作,因为您已经创建了项目,您应该有根目录(${CMAKE_SOURCE_DIR}变量),其中放置了顶级CMake文件,项目名称和其他项目范围偏好。如果您想要包含带有源代码或子项目的其他子目录,您应该使用add_subdirectory()函数,它将包含子CMake文件到您的项目。您的子目录可能只放在项目根目录中。查看official CMake example以便更好地理解。

答案 1 :(得分:1)

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