C++ (软问题)自动CMakeLists编辑和;更新

C++ (软问题)自动CMakeLists编辑和;更新,c++,visual-studio,cmake,C++,Visual Studio,Cmake,我是使用CMake&Visual Studio 2017的团队的一员,目前我们在存储库的CmakeList上有3个深度级别: 解决方案级别CMAKEL列表,定义生成的MSVS解决方案中要包含的项目(存储库中有40多个项目,我只使用其中的10个) 项目级CMakeList:基本上设置了许多保存目录的变量,以便在下一个CMakeList中使用 源代码级CMakeList:包括目录和与框架相关的宏 现在,当我在源代码中添加一些类时,我需要更新项目级和源代码级的CMakeLists,如果我创建了一个新项

我是使用CMake&Visual Studio 2017的团队的一员,目前我们在存储库的CmakeList上有3个深度级别:

  • 解决方案级别CMAKEL列表,定义生成的MSVS解决方案中要包含的项目(存储库中有40多个项目,我只使用其中的10个)
  • 项目级CMakeList:基本上设置了许多保存目录的变量,以便在下一个CMakeList中使用
  • 源代码级CMakeList:包括目录和与框架相关的宏
  • 现在,当我在源代码中添加一些类时,我需要更新项目级和源代码级的CMakeLists,如果我创建了一个新项目,那么解决方案级的CMakeList也需要更新

    这对我的口味和工作来说太过手工、重复和容易出错(由于复制和粘贴) 我想知道是否有某种工具可以自动化这个过程,因为目前我必须手动更改这些文件,这是一个容易出错的过程(涉及大量的复制和粘贴)。我理解IDE应该注意这一点,但是AFAIK Visual Studio不提供此功能,事实上,通过Visual Studio添加类将在重新生成项目时被销毁(根据)


    基本上:当我添加一个新的源文件时,我希望有一些向导根据一些输入更新CMake文件。或者,让VisualStudio与CMake正确地工作,这样我就可以使用IDE特性来完成这一切。

    <代码>或者,使VisualStudio与CMake 正确地工作,您是否只在VisualC++中编写Windows?如果是这样的话,为什么还要使用cmake,为什么不直接使用VS呢?首先,因为我们不只是针对windows编译,我们希望过渡到Linux,然后再嵌入。第二,如果你到达一个新的项目,他们使用CMake,你也使用CGuess,就是这样。<代码>或者,让VisualStudio正确地与CMake < /Cord>一起工作:你只在Visual C++中编译Windows吗?如果是这样的话,为什么还要使用cmake,为什么不直接使用VS呢?首先,因为我们不只是针对windows编译,我们希望过渡到Linux,然后再嵌入。其次,如果你进入一个新项目,他们使用CMake,你也使用CMake,就是这样。