使用C++脚本自动执行 CMake 生成
Automate CMake build using C++ script
我想使用 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
- CMake:如何将库 A 链接到库 B,然后将可执行文件链接到库 A
- CMake:我们可以为一组不形成可执行文件或库的特定文件指定包含目录吗?
- 在现有的C++可执行项目CMAKE中构建Apache Arrow
- 如何从命令行使用 cmake 为有根的安卓设备制作可执行文件?
- mingw32-make 使用"MinGW Makefiles"生成器跟踪 CMAKE 无法将可执行文件链接到对象库
- CMake 添加和删除宏定义以编译共享库/可执行文件
- CMake:防止在子目录库项目中生成测试可执行目标
- CMake将依赖项复制到可执行输出路径
- 如何将图像文件夹添加到CMake项目以便在c ++可执行文件中使用这些图像?
- 使用 CMake 在可执行文件中嵌入二进制数据
- 构建MacOS可执行文件,以便使用cmake(包括OpenCV)进行分发
- 如何仅在构建阶段执行 cmake::find_package
- Ogre 3D共享库与CMAKE链接时,在Linux上执行二进制时找不到
- cmake:构建可执行文件并库并链接它们
- CMake 项目结构:如何正确地将库合并在一起并将它们包含在多个可执行文件中
- 执行CMAKE目标的输出作为另一个目标的依赖
- 使用C++脚本自动执行 CMake 生成
- 如何使用qtcreator执行cmake项目的所有gtest
- CMake:在执行CMake脚本期间生成源
- Cmake:安装时执行Cmake命令