使用[CMake / Command Line]构建VS 2015解决方案

时间:2015-10-11 19:23:49

标签: msbuild cmake visual-studio-2015 appveyor

到目前为止,这是我启动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. 运行测试(从CTest所在的同一文件夹中调用Tests.exe
  4. 到目前为止,我尝试使用命令

    进行构建
    msbuild Infectorpp2.sln
    

    但这是失败的(error log只是为了很长时间才能发布),如果这有助于github上的script。主要的问题是我无法最终生成Tests.exe文件,一旦完成调用CTest就很简单了。提前谢谢。

2 个答案:

答案 0 :(得分:4)

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

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

它将为您调用适当的编译器/工具链命令。

请参阅cmake(1)以获取cmake命令接受的参数的完整列表。

答案 1 :(得分:0)

要完成随机浏览器的信息,问题最终是错误的功能签名。

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

int filename(int, char*[])

GCC / Clang接受此签名

int filename(int, char**)

而Visual Studio需要

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