【发布时间】:2017-11-05 19:56:46
【问题描述】:
例如,如果我有一个包含以下内容的 makefile:
dynArray.o: dynArray.c dynArray.h type.h
gcc -Wall -ansi -c dynArray.c
我如何将其转换为CMakeLists.txt 文件?
【问题讨论】:
-
我对你的目的有点困惑。如果您生成一个 Unix Makefile,您(隐式地)将所有单独的目标文件作为目标(检查
make help)。您显然想对目标文件做更多的事情,为什么不告诉我们? -
我们的教授给了我们一个 makefile,其中内置了我们需要开发的项目的命令(dynArray 文件)。我使用 CLion 作为我的开发环境,它使用 CMake 而不是 make,所以我正在尝试翻译 make 文件,以便我可以在编写代码时对其进行测试。
-
您不会将 Makefile 文件“翻译”成 CMake。如果您正在寻找一个快速的“使这项工作”解决方案,我理解您的困境,但这让 CMake 非常不受欢迎。 CMake 在比 Makefile 更高的抽象级别上工作。 (这就是为什么它可以使用一个配置文件来生成 Makefile、Ninja 文件或 MSVC 项目。)
-
CMake 已经完成了您的要求,只需要求它编译一个
.c文件。在决定如何处理目标文件之前,我不知道有任何生成器不会从单个源文件构建单个目标文件(将它们链接到共享库,将它们链接到可执行文件,将它们归档到静态库等.)