On 05/15/2018 03:22 AM, Stephen Kelly wrote: > So, the answer for cmake might be that CMake can learn to extract that > stuff, but ignore certain cases like imports within ifdefs.
We'd need to do the extraction from already-preprocessed sources. This is how Fortran+Ninja+CMake works. Unfortunately for C++ this will typically require preprocessing twice: once just to extract module dependencies and again to actually compile. With Fortran we compile using the already-preprocessed source but doing that with C++ will break things like Clang's nice handling of macros in diagnostic messages. -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