在Visual Studio 2010中将文件添加到cmake项目

Ian*_*Lee 3 projects-and-solutions cmake visual-studio-2010 visual-studio

我已经在Linux中使用cmake一段时间了,但我需要转移到Visual Studio中工作,原因有两个......

我生成了cmake项目,我可以在Visual Studio中加载解决方案,但是当我尝试添加文件时,它会被添加到构建文件的位置,而不是添加到源目录中.有什么方法可以解决这个问题,还是必须通过资源管理器添加它们,然后重新生成cmake构建文件,然后重新打开解决方案?这似乎有点笨重,我希望有一个更简单的方法.

Fra*_*ser 9

是的,您应该通过CMakeLists.txt文件而不是通过VS添加文件.这里有几个选择.

建议的方法是在CMakeLists文件中明确列出所有源文件.如果要添加新文件,则必须将其添加到CMakeLists.txt.此方法的优点是,在修改CMakeLists文件后,整个构建"过时",因此只是尝试在VS中构建任何目标将导致CMake重新运行并将文件添加到适当的目标.

另一个选择是使用CMake的file(GLOB ...)命令.这将在给定的路径中搜索源,并可用于自动生成源列表.好处是它比在CMakeLists文件中手动列出所有文件更乏味.但是,缺点是如果将新文件添加到源目录,则必须手动重新运行CMake,因为CMake不会知道源目录已过期.我不得不说我一般都不认为这是一个问题 - 如果你刚刚添加了一个文件并且它没有出现在你的VS资源管理器中那么非常明显,当然,由于构建时间它更加明显构建失败(或者你不是使用文件).

请注意,对于任一选项,如果重新运行CMake,则无需关闭VS.