Skip to content

Modularize code base. #101

Open
Open
@crud89

Description

@crud89

CMake 3.28 finally moves C++ module support from being experimental! This means that work on the cxx-modules branch can continue. I will track updates in this issue, if there are any.

I expect MSVC 17.9 to ship with CMake 3.28. At this point, the modularization of this project will be the main focus moving forward. The VS generator already supports building STL modules (it adds the BuildStlModules option to vcxproj files, which defaults to true). The Ninja generator will support this later on by allowing to define import targets for STL modules through CMake.

The planned roadmap after CMake 3.28 is available along Visual Studio is the following:

  • Use import std in conjunction with VS generator (Ninja requires manually pre-building STL modules at the beginning).
  • Use STL modules throughout the codebase.
  • Allow two three build modes:
    • shared library builds DLLs as is currently done
    • static library adds support for building the project as a static library
    • modules exports modules only which can be imported from applications directly and should be preferred in the future

I plan to update this issue infrequently to not lose track.

Metadata

Metadata

Assignees

Labels

Build 🛠Issues that involve the build process.

Projects

Status

Blocked

Relationships

None yet

Development

No branches or pull requests

Issue actions