Skip to main content

Timeline for answer to How to use c++20 modules with CMake? by ComicSansMS

Current License: CC BY-SA 4.0

Post Revisions

27 events
when toggle format what by license comment
Feb 14, 2024 at 14:55 comment added ComicSansMS @AnatolyBugakov gcc 14 has not been released at the time of this writing, but you can compile the current gcc 14 development branch from source on your own to get a working compiler with all the relevant features. That's obviously not a great idea for production environments, but if you want to start playing around with the feature already, that's the way to do it.
Feb 14, 2024 at 14:24 comment added Anatoly Bugakov sorry for a dumb question, but how do you get gcc 14, currently latest is 13.2: gcc.gnu.org/releases.html
Jan 6, 2024 at 10:49 comment added Dean Note: regarding Clang 17, clang-scan-deps is required but on Macs, I can't find it on Macports. Not sure with Homebrew.
Dec 15, 2023 at 8:28 history edited ComicSansMS CC BY-SA 4.0
added compiler explorer link
Dec 15, 2023 at 7:16 history edited ComicSansMS CC BY-SA 4.0
added link to cppcon video
Dec 13, 2023 at 14:12 history edited ComicSansMS CC BY-SA 4.0
updated answer for cmake 3.28
Nov 3, 2023 at 3:36 comment added Joey Sabey This config doesn't quite work for me, unfortunately. If I add in add_compile_options(-fmodules) it stops failing saying it can't find the module, though unfortunately then clang-scan-deps shits the bed (total crash with a stack dump) unless I also add in add_compile_options(-fno-implicit-module-maps)... I honestly don't really know the ramifications of doing this, and information around it seems scant and arcane and even contradictory, but it does appear to work with at least this kind of very minimal test.
Aug 5, 2023 at 9:47 history edited ComicSansMS CC BY-SA 4.0
rephrased original answer into the intro section
Aug 5, 2023 at 9:34 history edited ComicSansMS CC BY-SA 4.0
updated for CMake 3.27
Jun 3, 2023 at 4:40 history edited ComicSansMS CC BY-SA 4.0
updated issue link
Jun 2, 2023 at 16:16 comment added Splines With Ninja 1.10.0, I get an error suggesting that "Ninja 1.11 or higher is required" ("The Ninja generator does not support C++20 modules using Ninja version 1.10.0 due to lack of required features.")
Jun 2, 2023 at 15:59 comment added Splines (Note that at least that's the date the commit was pushed, don't know in which CMake version this will be reflected).
Jun 2, 2023 at 15:51 comment added Splines Note that as of 1st June 2023, the CMAKE_EXPERIMENTAL_CXX_MODULE_DYNDEP flag is not necessary anymore and got removed from CMake here.
May 15, 2023 at 17:33 comment added Tsyvarev But your first part is titled "Experimental Modules Support" and you intend to update it regularly. It looks like the better place for the issue link and explanations why modules support is currently experimental.
May 15, 2023 at 15:05 comment added Tsyvarev Does the last part - "Original answer" - have any value except historical one? If no, then it could be safely removed: the edit history already incorporates that info.
May 13, 2023 at 11:05 history edited ComicSansMS CC BY-SA 4.0
current status of header units
Apr 9, 2023 at 12:52 history edited ComicSansMS CC BY-SA 4.0
corrected paragraph about implementation units
Apr 2, 2023 at 12:54 history edited ComicSansMS CC BY-SA 4.0
added note about internal partitions
Apr 2, 2023 at 12:40 history edited ComicSansMS CC BY-SA 4.0
fixed youtube link to point to the correct talk
Apr 1, 2023 at 22:33 history edited ComicSansMS CC BY-SA 4.0
additional reference; removed cmake 3.20 update
Apr 1, 2023 at 12:17 history edited ComicSansMS CC BY-SA 4.0
expanded the answer to reflect the latest developments
Nov 2, 2022 at 21:07 comment added adentinger The CppCon channel just released a talk of one of the Kitware founders sharing an update on C++20 modules support. Basically: it's coming.
Jul 19, 2022 at 1:12 comment added Lothar So now 3 and a half years later there is still no support for modules and everything is still experimental (based on gitlab.kitware.com/cmake/cmake/-/issues/18355) . So sad.
Feb 8, 2021 at 6:40 history edited ComicSansMS CC BY-SA 4.0
added update about experimental ninja support
Sep 27, 2020 at 13:36 comment added ComicSansMS @Lothar MSVC is now shipping a much more capable Modules implementation than before on version 16.8 and higher. However, this version is currently still in preview and not available on the main release channel. It is also unclear at the moment, whether that implementation already provides everything that would be needed for a proper build system integration with CMake. In general, due to the deep impact of the feature for the overall build process, I expect it will take a couple of more years (!) before this issue is resolved to a level where you can use it for a productive code base.
Sep 27, 2020 at 10:51 comment added Lothar Did anything change in the last 18 month?
Apr 16, 2020 at 6:55 history answered ComicSansMS CC BY-SA 4.0