我有一个git repo,里面有很多项目。我正在尝试使用MSVC和Clang-cl以及CMake,Git。
我开始直接在MSVC中构建一个项目:
CMakePresets.json
CMakeLists.txt
asource.file.cpp
当我对代码的工作感到满意时,我将这些文件移到/repo/subfolder中,并提交它们。
现在,我将我的repo克隆为一个新项目:我在MSVC项目创建时选择了"克隆存储库",并且我希望避免构建/repo根目录CMake项目,而是构建/repo/子文件夹CMake项目。如何实现这一点?
假设我在Linux命令行上,而不是:
cd myrepo
mkdir -p build && pushd build
cmake .. -G Ninja
我想:
cd myrepo/subfolder
mkdir -p build && pushd build
cmake .. -G Ninja
不同的是我想使用子文件夹中的CMake项目而不是根文件夹中的项目。除了根项目之外,我无法构建任何东西。
我试过了
1.右键单击CMakeLists.txt并配置CMake-它配置顶级CMake项目,而不是我正在单击的文件。
1.右键单击CMakePresets.json并单击所有"添加..."等。它似乎编辑预置文件本身。
1条答案
按热度按时间fdbelqdn1#
我不知道如何在一个项目中从repo克隆许多CMake构建,但我知道如何打开任何文件夹作为它自己的CMake项目:
文件-〉打开-〉CMake...
选择该子文件夹作为您的项目。然后MSVC将破坏您的CMakePresets.json(将其截断为0字节),您可以使用Git -〉Undo Changes重置它。一旦您撤消了更改,您将需要重置CMake缓存并重新配置以避免失败的CMake编译测试。
现在它应该可以工作了,不幸的是,克隆一个repo并在其中使用$project似乎并不容易。