美文网首页
项目构建工具CMake、GYP、GN

项目构建工具CMake、GYP、GN

作者: 李里里Riss | 来源:发表于2017-02-24 19:02 被阅读0次

    最近在研究skia渲染库,发现谷歌的用gn来构建了

    说到构建工具,先说CMake

    CMake是一个比make更高级的编译配置工具,它可以根据不同平台、不同的编译器,生成相应的Makefile或者vcproj项目。

    通过编写CMakeLists.txt,可以控制生成的Makefile,从而控制编译过程。CMake自动生成的Makefile不仅可以通过make命令构建项目生成目标文件,还支持安装(make install)、测试安装的程序是否能正确执行(make test,或者ctest)、生成当前平台的安装包(make package)、生成源码包(make package_source)、产生Dashboard显示数据并上传等高级功能,只要在CMakeLists.txt中简单配置,就可以完成很多复杂的功能,包括写测试用例。

    如果有嵌套目录,子目录下可以有自己的CMakeLists.txt。

    总之,CMake是一个非常强大的编译自动配置工具,支持各种平台,KDE也是用它编译的,感兴趣的可以试用一下。

    用法:
    1、安装CMake
    2、cmd或powershell下键入 cmake查看,是否安装已加入到环境变量路径,若否,需手动设置
    3、cd 到工程目录下有CMakeLists.txt的目录下
    4、cmake . 开始构建vs解决方案,生成 xxx.sln
    5、vs打开即可


    在来说说谷歌开发的构建工具GYP

    GYP(Generate Your Projects)是由 Chromium 团队开发的跨平台自动化项目构建工具,Chromium 便是通过 GYP 进行项目构建管理。为什么要选择 GYP,而放弃 CMake 呢?功能上 GYP 和 CMake 很是相似,在我看来,它们的最大区别在于配置文件的编写方式和其中蕴含的思想。

    编写 CMake 配置文件相比 Autotools 来说已经简化很多,一个最简单的配置文件只需要写上源文件及生成类型(可执行文件、静态库、动态库等)即可。对分支语句和循环语句的支持也使得 CMake 更加灵活。但是,CMake 最大的问题也是在这个配置文件,编写 CMake 配置文件是一种线性思维,对于同一个目标的配置可能会零散分布在各个地方。而 GYP 则相当不同,GYP 的配置文件更多地强调模块化、结构化。

    所以说GYP代替CMake也是有其原因的。

    GN:谷歌最新构建工具

    GN比GYP速度快20倍,而且简单,所以谷歌就把GYP标注为过期,相关项目都迁到GN上来

    相关文章

      网友评论

          本文标题:项目构建工具CMake、GYP、GN

          本文链接:https://www.haomeiwen.com/subject/fruwwttx.html