使用C++脚本自动执行 CMake 生成

Automate CMake build using C++ script

本文关键字:执行 CMake 生成 C++ 脚本 使用      更新时间:2023-10-16

我想使用 MSVC C++ 脚本自动构建 CMake,而不是使用 CMake-gui 生成构建或 CMake 终端或使用 MSVC 2017 上集成的 CMake 通过右键单击 CMakeList 手动构建它.txt手动构建它。假设我们有一个包含 CMakeLists.txt 和 initialify.cpp 的项目(命名为:initialize),所以我的问题是如何将这些命令转换为C++代码,假设build_initialize.cpp:

  • MKDIR 构建
  • 光盘版本/
  • cmake ..

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

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

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

你可能会问,为什么我没有把它包含在顶级CMakelists.txt,然后使用CMake从头开始构建它。如果我要这样做,我会得到一个可执行文件。因此,通过运行 CMake 的测试,初始化.exe将需要一定的硬件速度。这不是目标。我的目标只是建造它。如果我运行build_initialize.exe,只需使用 CMake 重复构建而不进行初始化.exe执行。

抱歉,这可能非常简单,但我在C++或CMake方面都缺乏良好的经验。浪费了两天没有成功。

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