News for hackers. Stuff that matters.
Re:“Modern” C++ Lamentations (2018) by dureuill on Wednesday January 12, 2022 @03:13AM (#29903718)
I never found a C++ IDE capable of understanding our root CMake project so it can gives us autocompletion and inline errors.

We have a root project that's fully CMake, that orchestrates our sub libraries (also using CMake, declared with ExternalProject_Add) so the dependees are built before their dependents (and also to handle final packaging). The subprojects are added as git submodules.

I tried VSCode and QtCreator but none of them seem to support CMake multi-projects defined in this way. I have to create a build directory per subproject, which can be painful when we have so many subprojects.

Re:“Modern” C++ Lamentations (2018) by jcelerier on Wednesday January 12, 2022 @05:11AM (#29904442)
> We have a root project that's fully CMake, that orchestrates our sub libraries (also using CMake, declared with ExternalProject_Add)

well, those are not sub-libraries but external projects with their own build-system. I have sublibraries in submodules and add them with add_subdirectory and everything shows and is auto-completed correctly.

Re:“Modern” C++ Lamentations (2018) by dureuill on Wednesday January 12, 2022 @07:42AM (#29905542)
Thanks. We've been using external projects since some of them are old style CMake, ripe with global variables, but apparently we could've used add_subdirectory for some other libs. I'll keep that in mind for future refactorings and libraries.
Re:“Modern” C++ Lamentations (2018) by gpderetta on Wednesday January 12, 2022 @05:26AM (#29904555)
Even if you can't make the IDE work, having a link target that does -fsyntax-only and skip linking should still greatly speed up your compile-edit loop.