================ @@ -45,6 +45,10 @@ class GlobalCompilationDatabase { return std::nullopt; } + virtual std::vector<std::string> getAllFilesInProjectOf(PathRef File) const { ---------------- mathstuf wrote:
Probably easiest to see it by the writer code [here](https://gitlab.kitware.com/ben.boeckel/cmake/-/commit/9866da328034fbb3a0e96f5cca81e913c0ab8678#b94b7587efb540b6ad866ae5620492d78f6cff24_0_23). Basically, it is: ```json { "version": 1, "revision": 0, "module_sets": [ { "name": "unique name of module set", "visible_module_sets": [ "module sets", "which can satisfy", "required modules within this module set", ], "modules": [ "work-directory": "/path/to/working/directory", "source": "path/to/source/file", "name": "name.of.provided.module", "private": false, "requires": [ "list", "of", "required", "modulest" ], "flag_sets": [ "-fstandalone-flag", ["-fflag", "with-arg"], ] ] } ] } ``` The semantics are: - module sets may refer to other module sets named in order to satisfy their required modules; - however, private modules in other module sets are not usable; - `work-directory` is optional; - `private` defaults to `false`; - flag sets need to be used to compile the BMI in question (Daniel Ruoso's "local preprocessor arguments"); - flags may be deduplicated/merged by top-level identities. https://github.com/llvm/llvm-project/pull/66462 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits