如何使用MSBuild.exe运行CMake单元测试

如何使用MSBuild.exe运行CMake单元测试,msbuild,cmake,Msbuild,Cmake,在从CMake构建文件生成Vistual Studio项目时,CMake生成一个解决方案,其中包含一个名为RUN_TESTS.vcproj的子项目,该子项目作为构建后操作运行所有单元测试 如何使用msbuild.exe从命令提示符调用RUN_测试 从生成目录运行msbuild RUN_TESTS.vcproj不起作用 在UNIX下,您将对CMake生成的Makefiles执行一个简单的make测试。似乎无法通过MSBuild.exe运行测试。您可以使用作为CMake安装一部分的可执行文件ctes

在从CMake构建文件生成Vistual Studio项目时,CMake生成一个解决方案,其中包含一个名为RUN_TESTS.vcproj的子项目,该子项目作为构建后操作运行所有单元测试

如何使用msbuild.exe从命令提示符调用RUN_测试

从生成目录运行msbuild RUN_TESTS.vcproj不起作用


在UNIX下,您将对CMake生成的Makefiles执行一个简单的
make测试。

似乎无法通过MSBuild.exe运行测试。您可以使用作为CMake安装一部分的可执行文件ctest.exe调用测试:

ctest -C "Debug"

这将运行与项目的“调试”配置相关联的测试。

您需要打开一个“管理员:Visual Studio命令Pormpt”,可以在Visual Studio工具下找到该命令。然后,运行“msbuild RUN_TESTS.vcproj”应该可以工作。

您还可以使用CMake来生成:

cd <path_to_build_dir>
cmake.exe --build . --target RUN_TESTS --config release
cd
cmake.exe——构建--目标运行测试--配置发布
CMake的
--build
功能围绕您正在使用的构建系统展开,因此在您的情况下,它将使用MsBuild,在Linux上,它将使用g++或类似工具。如果您想为您的项目提供可移植的构建脚本,这是一个很好的解决方案


诚然,您更愿意使用上述方法来构建安装目标。CTest是您案例中的首选工具。

@GermánDiago如果您是为发布而不是调试而构建的,请尝试
CTest-C“release”
,正如其他答案所解释的,这也可以使用MSBuild运行其他可能的语法:
cmake.exe--build--配置发布——目标测试