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

  Рет қаралды 15,828

CppNow

CppNow

Күн бұрын

#Boost #Cpp #CppNow
Slides: cppnow.org/his...
CppNow Website: cppnow.org
CppNow Twitter: @CppNow
Streamed & Edited By Digital Medium Ltd: events.digital...
------
Originally developed as part of the National Institutes of Health (NIH) open source medical segmentation and registration toolkit ITK in 1999, CMake has grown to take on a vital role in the C++ ecosystem. Bill Hoffman, a founder of Kitware (www.kitware.com), and the creator of CMake will talk about how CMake fits into the C++ world. This talk will describe how CMake is more than just a build system, but a tool chain that transforms C, C++, Fortran, CUDA, and C# code into a final, shippable product.
The heart of CMake is the codification of the complex knowledge between the C, C++, and Fortran language standards, and the diversity of available compilers, linkers, archivers, packagers, run-time loaders, and operating systems. CMake's ability to encode translation and artifact unit dependencies, manage language levels and compiler parameters via usage requirements, and support the mixing of multiple languages seamlessly are all designed to support the driving purpose of CMake: "to build software everywhere, correctly, with the user’s preferred tools.”
Once a project is correctly built, there is still work to be done to test and package the project. CMake provides a single cross platform process to install, package and test C++ software. With its open source development and large developer and user community, CMake is able to adapt to new tools and compilers quickly. Continuous testing on all supported platforms and a quarterly release cycle provide new features that are both stable and quick. CMake has a strong commitment to backwards compatibility assuring its user base that future versions will continue to build software into the future.
In summary, this talk will give the history behind CMake and explain how it fits into the areas not specified by the C++ standard, enabling developers to take advantage of the rich C++ ecosystem. The talk will introduce users to important CMake features supporting the seamless building, testing and deployment of C++ across most computing platforms.
------
Bill Hoffman
Mr. Hoffman is a founder of Kitware and currently serves as Chairman of the Board, Vice President, and Chief Technical Officer (CTO). He is the original author and lead architect of CMake, an open source, cross-platform build and configuration tool that is used by hundreds of projects around the world, and he is the co-author of the accompanying text, Mastering CMake. Using his 20+ years of experience with large software systems development, Mr. Hoffman is also a major technical contributor to Kitware’s Visualization Toolkit, Insight Toolkit, and ParaView projects.
------
May 1, 2022 - May 6, 2022 - Aspen, Colorado
-------------------------
---
*--*
---

Пікірлер: 8
@GC-qe8vc
@GC-qe8vc 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.
@coolwinder
@coolwinder 4 ай бұрын
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 4 ай бұрын
I suppose if it was expanded here, there would be no need for paid courses.
@victoreijkhout7115
@victoreijkhout7115 3 жыл бұрын
"Professional Cmake" is bad. It lists all commands but with hardly any paradigmatic examples. I learned more from asking on reddit.
@osaijeigbafen6323
@osaijeigbafen6323 Жыл бұрын
Exactly
@SimonToth83
@SimonToth83 3 жыл бұрын
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 жыл бұрын
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.
CMake 2022 C++ Modules and More - Bill Hoffman - CppNow 2022
1:15:57
Deep CMake for Library Authors - Craig Scott - CppCon 2019
1:01:35
LIFEHACK😳 Rate our backpacks 1-10 😜🔥🎒
00:13
Diana Belitskay
Рет қаралды 3,9 МЛН
Ozoda - Lada (Official Music Video)
06:07
Ozoda
Рет қаралды 13 МЛН
Introduction to CMake Crash Course
14:08
PunchedTape
Рет қаралды 18 М.
Being Competent With Coding Is More Fun
11:13
TheVimeagen
Рет қаралды 81 М.
Nix explained from the ground up
23:39
Surma
Рет қаралды 33 М.
Florent Castelli: Introduction to CMake
1:25:49
SwedenCpp
Рет қаралды 46 М.
Why Isn't Functional Programming the Norm? - Richard Feldman
46:09