On 05/07/2018 12:01 PM, Stephen Kelly wrote: > Hopefully Brad or someone else can provide other input from research already > done.
I'm not particularly familiar with what compiler writers or the modules standard specification expects build systems to do w.r.t modules. However, IIUC at least at one time the expectation was that the module files would not be installed like headers and are used only within a local build tree. Are modules even supposed to be first-class entities in the build system specification that users write? In the Fortran world users just list all the sources and build systems are expected to figure it out. CMake has very good support for Fortran modules. Our Ninja generator has rules to preprocess the translation units first, then parse the preprocessed output to extract module definitions and usages, then inject the added dependencies into the build graph, and then begin compilation of sources ordered by those dependencies (this requires a custom fork of Ninja pending upstream acceptance). Is that what is expected from C++ buildsystems for modules too? -Brad -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: https://cmake.org/mailman/listinfo/cmake-developers