在visual studio中有没有什么方法可以让你的项目CMakeLists.txt
文件控制所有的东西,而不需要VS覆盖值?
这意味着如果我在CMakeLists.txt
文件中设置CMAKE_INSTALL_PREFIX
,visual studio将覆盖此值。我知道我可以在visual studio中将CMakeSettings.json
设置到我想要的位置,但我想在cmake中控制我的整个构建系统,而不必维护cmake和visual studio。
注意:我使用的是VS 17。
2条答案
按热度按时间gjmwrych1#
在VS 2017之前,您将使用
cmake
从CMakeLists.txt
生成Visual Studio解决方案。请参阅Using CMake to generate Visual Studio C++ project files。在这个工作流中,VS不会覆盖任何内容,因为它是CMake和VS之间的松散耦合。您仍然可以使用较新版本的VS进行相同的操作,并获得CMake和VS的全部优点。
rqenqsqc2#
此功能仅在Visual Studio 2019中可用,在VS 2022中不可用。
您可以在CMakeSettings.json中创建一个"Open Existing Cache"配置。Visual Studio只允许您建置或安装,但不会以任何方式产生或变更CMake快取。
要利用此功能,您可以:
File -> Open -> CMake
,并选择要处理的构建目录的CMakeCache.txt文件。请记住,Visual Studio会自动开启CMakeCache.txt档中指定的原始程式目录。