V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zycpp
V2EX  ›  程序员

请问那种好几千行的 CMakeLists 是手写的吗?

  •  
  •   zycpp · May 29, 2020 via Android · 2855 views
    This topic created in 2173 days ago, the information mentioned may be changed or developed.
    还是有什么自动生成软件?
    后续维护更新也是人工的吗?
    grpc 的 CMakeLists 都一万多行了,给跪了。
    5 replies    2021-10-20 08:03:01 +08:00
    dilu
        1
    dilu  
       May 29, 2020
    我也很好奇,看一些 C 项目的时候,那 Makefile 多的也有三四百行了,全靠人工?求 C/C++大佬解惑
    reus
        2
    reus  
       May 29, 2020
    看一下历史不就知道了: https://github.com/grpc/grpc/commits/master/CMakeLists.txt

    代码几千几万行有什么奇怪的?还是你认为构建文件不配称作代码?
    zengguibo
        3
    zengguibo  
       May 29, 2020
    真是手写的,又不是一天内写的,都是好几年的产物了
    icylogic
        4
    icylogic  
       May 29, 2020
    - 一个项目总共成千上万行不奇怪,cmake 作为一种极其难用又没啥库的脚本语言,写得很啰嗦是很容易的,而且完全可以写一大段删掉也不会影响最终编译结果的东西。
    - 不过 cmake 又是一种难读难改难维护的配置文件,我一般习惯到了一定规模就抽出来一部分模块化,不然几千行的 cmake 真是一种 san check,不可直视,不可调试。
    - 可是因为 cmake 的 function 没有返回值,语法设计奇诡,又让分离模块这件事本身变得很痛苦……

    整到最后,主要目的不过是为了生成一堆正确的 `gcc -isystem xxx fxxk.cpp -l yyy`
    所以结论是,远离 cmake,远离艹
    waruqi
        5
    waruqi  
       Oct 20, 2021 via Android
    可以用 xmake 更简单
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5724 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 06:55 · PVG 14:55 · LAX 23:55 · JFK 02:55
    ♥ Do have faith in what you're doing.