我有Mingw64 GCC 6.3.0(始终在PATH中)和来自Visual Studio 2017 RTM的Visual C++编译器工具(不在PATH中)。
如果我运行"cmake . -G "MinGW Makefiles"", 将会选择GCC 6.3.0。
如果我运行"cmake . -G "Ninja"", 将会选择GCC 6.3.0。
我的Visual C++编译器工具是非标准的,我只保留我需要的部分并删除其余部分(如MSBuild、IDE等)。我使用自己的批处理脚本来设置PATH、INCLUDE和LIB(完全正常)。
如果我运行这个批处理脚本并运行"cmake .", MSVC将被选择并使用NMake构建。
在相同的环境下,如果我运行"cmake . -G "Ninja"", 会选择GCC 6.3.0而不是MSVC。
所以我的问题是,当两者都在PATH中时,如何告诉CMake我想要使用MSVC+Ninja而不是GCC+Ninja?我应该设置哪些环境变量?
如果我运行"cmake . -G "MinGW Makefiles"", 将会选择GCC 6.3.0。
如果我运行"cmake . -G "Ninja"", 将会选择GCC 6.3.0。
我的Visual C++编译器工具是非标准的,我只保留我需要的部分并删除其余部分(如MSBuild、IDE等)。我使用自己的批处理脚本来设置PATH、INCLUDE和LIB(完全正常)。
如果我运行这个批处理脚本并运行"cmake .", MSVC将被选择并使用NMake构建。
在相同的环境下,如果我运行"cmake . -G "Ninja"", 会选择GCC 6.3.0而不是MSVC。
所以我的问题是,当两者都在PATH中时,如何告诉CMake我想要使用MSVC+Ninja而不是GCC+Ninja?我应该设置哪些环境变量?