Keynote: CMake: One Tool To Build Them All - Bill Hoffman [ CppNow 2021 ]

Поделиться
HTML-код
  • Опубликовано: 24 дек 2024
  • НаукаНаука

Комментарии • 8

  • @GC-qe8vc
    @GC-qe8vc 3 года назад +3

    Python is great but it's a general-purpose language. A build system needs a domain-specific language, otherwise all but trivial tasks will require very verbose code. CMake should converge to conventions that are almost universal in modern interpreted languages, but having a DSL instead of whatever g.p. interpreted language happens to be fashionable today is a wise choice.

  • @toddseiler
    @toddseiler 3 года назад

    I would like to see support for a FASTBUILD as a generator.

  • @SimonToth83
    @SimonToth83 3 года назад +1

    I'm very confused by the C++20 modules part. Are you trying to make CMake figure out module dependencies automatically? That sounds kind of crazy. Why not just do what Bazel has been doing for ages?

    • @gracicot42
      @gracicot42 3 года назад +5

      Modules != packages. A module is a unit of code, kind of a combined cpp + hpp file, optionaly combined with implementation units and partition units. A package can be composed of many modules. The dependencies he talk about are that when you import a module from another file, that file *must* be compiled first. If the other file has not be compiled first, the build fails. So the build system must scan the dependencies before compiling those files.

  • @coolwinder
    @coolwinder 7 месяцев назад +2

    Why is it so hard for people to explain CMake, this is perfect example, i just wasted an hour in this, gained zero.

    • @coolwinder
      @coolwinder 7 месяцев назад

      I suppose if it was expanded here, there would be no need for paid courses.

  • @victoreijkhout7115
    @victoreijkhout7115 3 года назад +6

    "Professional Cmake" is bad. It lists all commands but with hardly any paradigmatic examples. I learned more from asking on reddit.