Тёмный

import CMake: // 2023 State of C++20 modules in CMake - Bill Hoffman - CppNow 2023 

CppNow
Подписаться 30 тыс.
Просмотров 6 тыс.
50% 1

www.cppnow.org​
/ cppnow
---
import CMake: // 2023 State of C++20 modules in CMake - Bill Hoffman - CppNow 2023
Slides: github.com/boostcon
---
Since February 2019 when modules were applied to the C++20 working draft in Kona, the CMake team has been working to support modules in CMake. The decade long experience with Fortran modules provided a roadmap for handling modules in the build system. The main issue is that binary module interface files (BMIs) must exist before they can be imported. Since a BMI is not created until a translation unit (TU) is compiled, this puts a restriction on the ordering of the compilation TUs. It requires the build system to have the ability to know for each TU which modules are produced and what modules are consumed. This of course requires a C++ parser to accurately discover this information. Since C++ parsing is significantly more complicated than Fortran, mimicking the minimal Fortran parser built into CMake with a C++ version was not a tractable solution.
The CMake team has worked with SG15 and compiler vendors to establish a standard format for C++ compilers to communicate this information to the build system in the p1689 paper. The idea is for compilers to provide a pre-scan option that will quickly determine the production and consumption of modules for each TU before it is compiled. This has been implemented in Visual Studio (VS), Clang, and gcc. As of the writing of this abstract Clang and gcc implementations exist only as patches.
This talk will be a "state of the union" talk on C++ modules and the CMake build system. It will cover the implementation of CMake module scanning and collation of the depend information. In addition, the CMake language API for working with modules in CMake projects will be described. Both the exporting and importing of libraries containing modules from CMake will be discussed. Additional CMake features around module such as the creation of module_config.json files and the discovery of built modules not created by CMake will be covered. CMake's approach to static checkers such as Include What you Use, Clang Tidy, CppLint and others and how it is friendly to the approach taken with modules will be discussed.
Attendees will come away with the concepts required to try C++20 modules in projects built with CMake. In addition, challenges, performance implications, and issues with header modules will be covered. In short, all things C++ 20 modules and CMake will be covered.
Note: Depending on the state of the implementation at the talk additional features may be covered.
---
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.
As CTO, Mr. Hoffman’s emphasis is on software development methodologies and establishing best practices across the breadth of Kitware’s development efforts. As one of the visionaries leading the quality software process efforts at Kitware, Bill has been instrumental in adopting agile programming practices, fueling Kitware’s software development.
Mr. Hoffman received a B.S. in Computer Science from the University of Central Florida and an M.S. in Computer Science from Rensselear Polytechnic Institute (RPI). Prior to the formation of Kitware, he spent nine years at the General Electric Corporate Research and Development center, working in the Computer Vision Group.
---
Video Sponsors: think-cell and Bloomberg Engineering
Audience Audio Sponsors: Innoplex and Maryland Research Institute
---
Videos Filmed & Edited By Bash Films: bashfilms.com/
RU-vid Channel Managed & Optimized By Digital Medium Ltd: events.digital-medium.co.uk
---
CppNow 2024
www.cppnow.org​
/ cppnow
---
#boost #cpp #cmake

Наука

Опубликовано:

 

29 авг 2023

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 2   
@TheLavaBlock
@TheLavaBlock 10 месяцев назад
Thanks for the update. Here is the mentioned talk "The Challenges of Implementing C++ Header Units: C++ Modules" by Daniel Ruoso 👉 ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-_LGR0U5Opdg.html
@retropaganda8442
@retropaganda8442 9 месяцев назад
Well, for named modules, I've just been using GNU make's metaprogramming abilities for about 5 years. The build system itself has been working fine for about 5 years. The problem has been compiler bugs. For header-units, you have to use build2. So, cmake still ain't the production-ready tool, after 5 years the ISO standard was stable enough to do actual implementations.
Далее
Guess The Drawing! ✍️✨🧐 #shortsart
00:14
Просмотров 1,7 млн
What’s New in C++26 - Alexander Fokin
1:08:56
Просмотров 14 тыс.
An Introduction to CMakePresets.json
24:19
Просмотров 8 тыс.
Applied C++20 Coroutines - Jim Pascoe - ACCU 2023
1:15:43
Магниты и S Pen 🖊️
0:37
Просмотров 83 тыс.
YOTAPHONE 2 - СПУСТЯ 10 ЛЕТ
15:13
Просмотров 160 тыс.