【发布时间】:2020-04-28 13:11:15
【问题描述】:
我使用Visual Studio IDE开发,VS C++编译,CMake在VS中生成项目,Ninja构建。
我有一个脚本,它可以从 git 服务器克隆一个项目,并在开始处理它之前自动执行我需要执行的几个步骤。
在此脚本结束时,我想在 Visual Studio 中打开该项目。之前我习惯用生成VS解决方案,然后使用带有sln文件的devenv作为参数打开它。但是现在我使用 VS 对 CMake 的支持,如果我使用 CMakeList.txt 文件作为参数,它只会打开这个文件而不是完整的项目。
有没有办法做我想做的事??
提前致谢。
【问题讨论】:
-
您能提供一个脚本示例吗?请展示它目前的功能。它会为你运行 CMake 吗? CMake生成的Visual Studio解决方案文件创建后为什么打不开?
-
我的脚本在做什么并不重要。我需要一种使用命令行在 Visual Studio 中打开 CMake 项目的方法。这有效:devenv solution.sln(其中 solution.sln 是 Visual Studio 解决方案)但此 devenv CMakeList.txt(其中 CMakeList.txt 是项目根目录中的 CMake 文件)确实在 Visual Studio 中打开文件,但没有加载整个项目。我需要从命令行在 Visual Studio 中加载 CMake 项目,以便能够从我的脚本或批处理文件中加载它。
-
所以,重新表述我之前的问题,这是否有效:
mkdir build && cd build && cmake .. && devenv solution.sln? -
不,我不再使用 Visual Studio 解决方案。我只使用 IDE 和编译器,但我使用 Ninja 构建。要从 IDE 打开项目,请转到 File -> Open -> CMake... 并从项目的根文件夹中选择 CMakeList.txt 文件。但是从命令行执行此操作只是在编辑器中打开文件,而不是加载项目。可能没有办法做到这一点,因为对 CMake 的支持越来越好,但距离对 Microsoft 解决方案的支持还很远。
标签: cmake visual-studio-2019 devenv