替代make的工具scons? ninja? cmake?

2020-05-20

走出新世界,发现替代make的工具汹涌而来~

之前所在的公司,因为是基于vxWorks,因此大部分的项目都是使用make和makefile来进行编译构建的。直到2019年,才开始尝试使用cmake和cmakelist进行编译流程的进化。

当时会觉得,嗯,真香。相比于makefile晦涩的语法,cmakelist就要简单很多了。就好像汇编和c语言的差异吧。

2020年换了工作,进而又接触了scons,一个基于python的scons工具,通过编写SConstruct和SConscript来实现工具链的调用,增量构建等。请记住:scons使用python语言,SConstruct和SConscript也是使用python。所以,拥抱python吧!不要嫌弃它已经过时,也不要嫌弃漫天飞的python培训,它正当时!

最近一个项目,竟然又发现了一个新的工具ninja

须知:

  • cmake只是使用cmakelist替代了makefile,最终还是会调用make。
  • scons基于python完全替换了make,以及通过SConstruct和SConscript也完全替代了makefile。good!看好你哟~
  • ninja还是使用cmake,只不过最终调用的就不是make了,而是ninja。也就是说ninja联合cmake完全替换了make和makefile。

你要说,我选择谁?

也许我会选择scons吧~,NO!不是也许,人生苦短,我用python!

接下来,有时间,或者我对scons更加熟悉了以后,我会多写写~ 奥里给!

最后,想对my friends say:

走出舒适区,发现更大的世界,收获更好的自己。