使用cmake

时间:2016-02-26 02:05:57

标签: cmake makefile

所有

我的主程序使用第三方库A. 主程序使用autoconf和 库A使用cmakefile来构建。 由于将一个框架转换为另一个框架对我来说很痛苦 我想保留两种不同的构建机制。

由于main取决于libA,因此我main依赖于libAlibA作为强制构建目标。

当我更改main的源文件并在make上执行main时, libA得到cmake并保持完整,因为libA上的任何内容都没有更改, 然后只有main才能构建。

当我在libA中更改源文件并在make上执行main时, libA得到强制建设。但是计算了mainlibA的依赖性 在构建新libA之前,链接无法完成。 现在我每次都做两次以安全地获得主力。

如何改进此版本? 总结一下:

  • main取决于libA(A)
  • 在更改make的源文件后执行libA时,我想首先构建libA并构建main(B)
  • 在更改make的源文件后执行main时,我想仅使用原始libA(C)构建main
  • 当我做make而没有做任何事情时,我想什么都不做。 (d)

使用当前设置,我无法获得(B)。

任何帮助都将深受赞赏。

1 个答案:

答案 0 :(得分:1)

好的旧shell脚本(或bat文件,如果你碰巧在Windows上)怎么样?为libA运行cmake,运行make for main,profit!

您可以使用make作为批处理引擎,例如

all:
        Cmake libA
        $(MAKE) -f main.mk main