使用C ++脚本自动化CMake构建

时间:2019-04-24 15:10:54

标签: c++ build cmake cmake-gui

我想使用MSVC C ++脚本而不是使用CMake-gui生成CMake终端或使用MSVC 2017上集成的CMake来自动构建CMake,方法是右键单击CMakeLists.txt手动构建它。假设我们有一个包含CMakeLists.txt和initialize.cpp的项目(命名为:initialize),所以我的问题是,假设build_initialize.cpp:

,我如何将这些命令转换为C ++代码?
  • mkdir构建
  • cd build /
  • cmake ..

因此,这个小巧的C ++代码的要求是

  • 设置该项目的路径
  • 创建构建文件夹
  • 运行CMake

最后,如果我执行build_initialize.exe,则工作就是使用CMake构建initialize.cpp。目的是测试构建是否成功,作为具有多个测试案例的另一个项目中的测试案例。

您可能会问,为什么我没有将其包含在顶部CMakelists.txt中,然后从一开始就使用CMake构建它。如果要这样做,我将获得一个可执行文件。结果,通过运行CMake的ctest,initialize.exe将需要一定的硬件速度。这不是目标。我的目标只是建立它。如果我运行build_initialize.exe,只需使用CMake重复构建,而无需执行initialize.exe。

对不起,这可能非常简单,但是我缺乏C ++或CMake方面的丰富经验。失去了两天没有成功。

1 个答案:

答案 0 :(得分:0)

感谢大家的评论。答案已由@Fred给出。要从C ++脚本运行cmake,只需使用system(),例如:System(cmake -S path_to_src -B path_to_bld)。 有用的链接:https://faq.cprogramming.com/cgi-bin/smartfaq.cgi?id=1043284392&answer=1044654269