使用 [CMake / 命令行] 构建 VS 2015 解决方案

Build VS 2015 solution with [CMake / Command Line]

到目前为止,这是我启动 Cmake 构建的命令行:

cmake .. --build .. -DCMAKE_BUILD_TYPE:STRING=release

这很好而且有效,它会生成

Project.sln

tests/ProjectTests.sln

解决方案文件。

我可以使用 visual studio 打开解决方案文件并构建它们并从 Visual Studio 进行 运行 测试,但是 我正在 运行 编写脚本来自 Continuos Integration 服务器 ,因此我还需要从命令行开始构建和 运行 测试:我该怎么做?


我需要

  1. 构建库 (Project.sln)
  2. 构建测试可执行文件 (tests/ProjectTests.sln)
  3. 运行 测试(从 Tests.exe 所在的同一文件夹调用 CTest

直到现在我尝试使用命令

构建
msbuild Infectorpp2.sln

但这是失败的(error log just to long to post), if that can helps here's the script 在 github。主要问题是我无法最终生成 Tests.exe 文件,一旦完成调用 CTest这是微不足道的。提前致谢。

the documentation中所述,构建目标的一般语法(即在生成 .sln 文件 cmake -G) 使用 CMake 是:

cmake --build . [--config <config>] [--target <target>] [-- -i]

它将为您调用适当的 compiler/toolchain 命令。

有关 cmake 命令接受的参数的完整列表,请参阅 cmake(1)

完成随机浏览器的信息,最后问题是函数签名错误。

CMake 测试驱动程序需要这样的签名:

int filename(int, char*[])

GCC/Clang接受签名

int filename(int, char**)

而 Visual studio 需要

int filename(int char**const) //still works with GCC/Clang luckily