/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file LICENSE.rst or https://cmake.org/licensing for details. */ #pragma once #include #include #include #include "cmJSONState.h" class cmInstrumentationQuery { public: enum Option { StaticSystemInformation, DynamicSystemInformation, CDashSubmit, CDashVerbose, Trace }; static std::vector const OptionString; enum Hook { PostGenerate, PreBuild, PostBuild, PreCMakeBuild, PostCMakeBuild, PostCTest, PostCMakeInstall, PrepareForCDash, Manual }; static std::vector const HookString; struct QueryJSONRoot { std::vector options; std::vector hooks; std::vector callbacks; int version; }; cmInstrumentationQuery() = default; bool ReadJSON(std::string const& file, std::string& errorMessage, std::set