这两个不是在同一抽象层次,应当很难简单地转换,除非AI。Makefile是描述一系列生成文件、它们的依赖关系,和具体执行的命令行。CMake是描述一系列编译目标(动态库、静态库、可执行程序)和它们的源代码文件。而具体使用什么编译器、使用什么参数,很大程度上是自动决定的。中间有那些必要的obj文件,也是自动决定的,不需要像makefile那样逐一显式声明。实际上CMake支持生成Makefile作为自己的执行层。那么反过来显然很难。
这两个不是在同一抽象层次,应当很难简单地转换,除非AI。
Makefile是描述一系列生成文件、它们的依赖关系,和具体执行的命令行。
CMake是描述一系列编译目标(动态库、静态库、可执行程序)和它们的源代码文件。而具体使用什么编译器、使用什么参数,很大程度上是自动决定的。中间有那些必要的obj文件,也是自动决定的,不需要像makefile那样逐一显式声明。
实际上CMake支持生成Makefile作为自己的执行层。那么反过来显然很难。