gpt4 book ai didi

c++ - 使特定于 Unix 的 CMake 过程跨平台

转载 作者:行者123 更新时间:2023-11-30 04:59:57 25 4
gpt4 key购买 nike

我写了一个小的 CMake 模块,嗯,不管是为了什么。关键是它的作用如下:

  • 当调用适当的 CMake 函数时,将调用相对路径为 scripts/whatever.sh(在项目目录下)的 shell 脚本。
  • shell 脚本 cat 是一个“here-file”,其中包含 CMake 找到的 C 编译器的 C 程序(回退到 cc)
  • 程序已编译、链接并运行,生成一些文本
  • 输出文本保存为CMake变量

这在类 Unix 系统上相对健壮,其中 catbash 可用并且路径分隔符是 /。 (我可能忽略了其他假设。)但是 - 我希望它能在 Windows 和其他系统上运行。我该怎么做?

注意事项:

最佳答案

您可以使用 CMake 脚本实现跨平台。许多事情可以直接在 CMakeLists.txt 和其中包含的脚本中执行:

  • CMake 中的“Here in document”支持不是最好的,但是将小程序的文本存储到 CMake 变量中并不是很难。

  • execute_process 能够从 CMake 脚本运行外部程序并将该程序的输出存储在 CMake 变量中。此外,try_compiletry_run 在某些情况下可能会有用。

关于c++ - 使特定于 Unix 的 CMake 过程跨平台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51004175/

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