gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 12:47:10 25 4
gpt4 key购买 nike

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

  • mkdir 构建
  • cd 构建/
  • cmake ..

所以,这个微小的 C++ 代码的要求是

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

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

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

抱歉,这可能很简单,但我在 C++ 或 CMake 方面缺乏良好的经验。已经耽误两天了,没有成功。

最佳答案

感谢大家的评论。 @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

关于c++ - 使用 C++ 脚本自动化 CMake 构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55833338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com