你可以在 CMakeLists.txt 中使用 glob 表达式添加文件,像这样:
file(GLOB SRC . *.cpp)
add_executable (your_exe_name ${SRC})
CMake 下次运行时会选择你的新 cpp 文件,而 QtCreator 将在项目浏览器中显示它们。
更新
这个解决方案可能很有用,但是如评论中所述 - 这不是一个好习惯。每当有人添加新的源文件并提交更改时,您需要重新运行 CMake 以构建所有源文件。通常情况下,如果我的构建在从存储库中获取最近更改后出现故障,我只需触摸其中一个 CMakeLists.txt 文件。之后,make
将自动运行 cmake
,我无需手动运行它。尽管如此,我认为在 CMakeLists.txt 中明确列出源代码列表是一件好事,毕竟它们被称为 CMake Lists。
我解决了这个问题,我按标准方式添加了新文件(CTRL + N),然后在CMakeLists中添加了所需的文件。之后,在项目树视图中右键单击项目并选择选项“运行CMake”。之后,文件显示在项目列表树中。仅构建是不够的。
我在这里进行了测试,发现因为你所问的那些选项确实被禁用了,所以出现了相同的行为。
使用文件->“新建文件或项目...”或CTRL+N添加新文件,然后将其添加到CMakeLists.txt中。
这样,当您想要向项目添加新文件时,在“项目”视图中,右键单击所需的CMake可执行文件/库的名称,然后选择“添加新建...”,通过“添加对话框”,并在验证对话框时,QtCreator将在“编辑器”视图中打开“CMakeLists.txt”。最后,将剪贴板的内容粘贴到相应源文件列表的末尾,并保存“CMakeLists.txt”。 CMake项目将被解析,并且您的新文件将显示在“项目”视图中。