使用CMake调用外部程序

发布于 2024-11-11 08:34:09 字数 619 浏览 1 评论 0原文

我尝试搜索 CMake 文档,但不知道如何从 CMake 调用外部程序。

我想做的事情很少。

  1. 编译使用 makefile 的其他第三方依赖项
  2. Thrift 定义文件编译为 C++ / Python 存根。
  3. 编译 Cython 定义文件。

另一个问题是,处理这些情况的好方法是什么?当 CMake 中的“C”代表跨平台时,感觉直接从 CMake 调用 shell 脚本感觉不太干净。

编辑:我有一些额外的问题。之前,在我的构建中,我预先构建了依赖项,项目本身使用 FIND_PACKAGE(...) 来查找依赖项的标头/库。

现在,我使用ExternalProject_Add() 来编译依赖项,但问题是,当我运行cmake . 时,我所有的FindXYZ() 函数都会失败,因为执行CMake 时依赖项不存在。

在这种情况下,我应该如何在我的项目中包含第三方库?

I tried to search the CMake documentation, but I couldn't figure out how to call external programs from CMake.

There are few things I want to do.

  1. Compile other third-party dependencies that uses a makefile
  2. Compile Thrift definition files to C++ / Python stubs.
  3. Compile Cython definition files.

Another question is, what is a good way to handle those cases anyway? It feels like calling a shell script directly from CMake doesn't feel so clean, when "C" in CMake stands for Cross Platform.

EDIT: I have few extra questions. Before, in my build, I prebuilt my dependencies, and the project itself used FIND_PACKAGE(...) to find the header / libraries for the dependencies.

Now, I'm ExternalProject_Add() to compile the dependencies, but the problem is, all my FindXYZ() functions fails when I run cmake ., because the dependencies aren't present when CMake gets executed.

How should I include the third-party libraries in my project in this case?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱,才寂寞 2024-11-18 08:34:09
  1. http://www.kitware.com/media/html/BuildingExternalProjectsWithCMake2.8.html 2+ 3

。可以使用 CONFIGURE_COMMAND/BUILD_COMMAND/INSTALL_COMMAND 进行黑客攻击

  1. http://www.kitware.com/media/html/BuildingExternalProjectsWithCMake2.8.html

2+3. can be hacked with CONFIGURE_COMMAND/BUILD_COMMAND/INSTALL_COMMAND

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文