diff options
author | Brad King <brad.king@kitware.com> | 2019-06-07 14:22:34 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-06-07 15:08:38 (GMT) |
commit | c932f498426609beb14b9339c2a7dec3ea624998 (patch) | |
tree | 42e9db048344d39a576abe368dd111ba2f4afa4d /Source/cmFileAPI.cxx | |
parent | 6696855f72adebbb40d475c39dace1e9f855ca2a (diff) | |
download | CMake-c932f498426609beb14b9339c2a7dec3ea624998.zip CMake-c932f498426609beb14b9339c2a7dec3ea624998.tar.gz CMake-c932f498426609beb14b9339c2a7dec3ea624998.tar.bz2 |
cmake: Teach -E capabilities to report supported fileapi requests
Fixes: #19339
Diffstat (limited to 'Source/cmFileAPI.cxx')
-rw-r--r-- | Source/cmFileAPI.cxx | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Source/cmFileAPI.cxx b/Source/cmFileAPI.cxx index 9cb484c..ed45398 100644 --- a/Source/cmFileAPI.cxx +++ b/Source/cmFileAPI.cxx @@ -801,3 +801,35 @@ Json::Value cmFileAPI::BuildInternalTest(Object const& object) } return test; } + +Json::Value cmFileAPI::ReportCapabilities() +{ + Json::Value capabilities = Json::objectValue; + Json::Value& requests = capabilities["requests"] = Json::arrayValue; + + { + Json::Value request = Json::objectValue; + request["kind"] = ObjectKindName(ObjectKind::CodeModel); + Json::Value& versions = request["version"] = Json::arrayValue; + versions.append(BuildVersion(2, CodeModelV2Minor)); + requests.append(std::move(request)); + } + + { + Json::Value request = Json::objectValue; + request["kind"] = ObjectKindName(ObjectKind::Cache); + Json::Value& versions = request["version"] = Json::arrayValue; + versions.append(BuildVersion(2, CacheV2Minor)); + requests.append(std::move(request)); + } + + { + Json::Value request = Json::objectValue; + request["kind"] = ObjectKindName(ObjectKind::CMakeFiles); + Json::Value& versions = request["version"] = Json::arrayValue; + versions.append(BuildVersion(1, CMakeFilesV1Minor)); + requests.append(std::move(request)); + } + + return capabilities; +} |