如何将 cmake 输出设置为 make 的依赖项?
摘要:
我正在使用一个内部使用“make”的开源项目。我发现它使用起来非常复杂,所以我想在我自己的代码中使用“cmake”,而现有的开源项目代码仍然由 make 管理。
问题:
但是,我找不到任何方法从“make”内调用“cmake”构建脚本,并将“cmake”输出(这是一个 .so 库)作为“make”构建的依赖项。 我阅读了手册的大部分内容,并浏览了许多有关“make”的在线教程,但没有成功。
更多信息:
我自己的代码是用 C++ 编写的,因此我的“cmake”脚本有两个分支:要么创建可执行文件,要么如果设置了变量,则创建一个库。需要将命令行参数从“make”内传递给“cmake”脚本。
我希望你能帮忙!
Summary:
I am using an open source project which uses 'make' internally. I find it extremely complicated to use, so I want to use 'cmake' for my own code while the existing open source project code remains managed by make.
Problem:
However I can't find any way to invoke my 'cmake' build script from within 'make' and have the 'cmake' output (which is a .so library) as a dependency to the 'make' build.
I read large parts of the manual and looked through many online tutorials on 'make' with no luck.
Further info:
My own code is written in C++ and therefore my 'cmake' script has two branches: Either it creates an executable, or if a variable is set, it creates a library. It will be necessary to pass a command line argument to the 'cmake' script from within 'make'.
I hope you can help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果我正确理解你的问题,这就是如何做到这一点。 makefile 的默认目标(可能)是第一个目标,其规则如下:
将其更改为:
If I understand your question correctly, this is how to do it. The default target of the makefile will (probably) be the first target, with a rule like this:
Change it to this: