我想在我自己的软件的makefile中包含来自外部库的makefile.最简单的方法是找出Makefile等效的CMake代码include ${dir}/makefile.
但也许我应该给出一点背景.我正在尝试将PETSc(和SLEPc)集成到我的代码中.以下是使用SLEPc的示例中的一些代码(尽管PETSc几乎相同):
hello: hello.o chkopts
-${CLINKER} -o hello hello.o ${SLEPC_LIB}
${RM} hello.o
include ${SLEPC_DIR}/conf/slepc_common
Run Code Online (Sandbox Code Playgroud)
如您所见,它需要包含一个特定的makefile,其中包含一堆其他makefile.这有点奇怪,因为看起来只有一个包含目录会更简单,但显然它比我理解的更多.无论如何,我的第一个解决方案是简单地包含它想要的makefile,看看是否有效.
我相信这个要求根本不适合 CMake 的设计模型,因为 Makefile 是在生成阶段生成的,而 CMake 的核心原则之一是使其跨平台,所以更好的想法可能是:
如果工作量很大,您可以尝试使用add_custom_target/add_custom_command执行一些开箱即用的命令来调整生成的文件,但这些也需要付出相当大的努力 - 只需阅读手册并寻求更多机会。
| 归档时间: |
|
| 查看次数: |
5209 次 |
| 最近记录: |