跨平台自动构建非C项目

时间:2011-12-19 11:11:02

标签: java c++ build cmake pascal

实际上,我需要在Windows / Linux平台下为不同的语言构建二进制文件--Java,Pascal(Delphi / FPC),C ++,C#等。

如何做到这一点?我现在正在使用CMake for C项目:

cmake --build .CMakeLists.txt提供。

2 个答案:

答案 0 :(得分:3)

每个*make系统对Java项目都没有用,因为make基本上假设“一个文件输入,一个文件输出”(例如.c.o)或“N个文件输入,一个文件输出”(例如*.o.a.dll.exe之一。利用这些“原语”,可以执行构建。

但Java编译器本质上需要“完整的sourcetree in,comlete class-tree out”。

这两个范式不匹配,并且尝试做的事情迟早会引入比其价值更少的讨厌问题。去过也做过。

您可以做的最好的事情是从顶级Makefile中调用Ant或Maven(或其他)。

修改:不要忘记另外两件事:

  • 使用make编译Java内容是一种黑暗,神秘的艺术。您将找不到许多了解Java和make以及谁可以解决该组合问题的人。 Ant / Maven和Java是标准组合。找到帮助或建议使用该组合是没有问题的。

  • Java中的许多框架都需要特殊的编译步骤。几乎在所有情况下都有可用的Ant和Maven插件。使用make你将不得不每次重新发明轮子。

答案 1 :(得分:1)

Free Pascal提供自己的构建系统。参见例如

http://www.stack.nl/~marcov/buildfaq.pdf

默认的makefile(基于主要生成的gmake makefile)已经具有交叉功能。

我不认识任何使用cmake和Free Pascal的人,而且我已经在他们的maillist上工作了十多年。