1 /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2 file Copyright.txt or https://cmake.org/licensing for details. */
5 #include "cmConfigure.h" // IWYU pragma: keep
12 #include "cmXMLParser.h"
14 // This class is used to parse XML with configuration
15 // of installed SDKs in system
16 class cmVisualStudioWCEPlatformParser : public cmXMLParser
19 cmVisualStudioWCEPlatformParser(const char* name = NULL)
21 , FoundRequiredName(false)
25 int ParseVersion(const char* version);
27 bool Found() const { return this->FoundRequiredName; }
28 const char* GetArchitectureFamily() const;
29 std::string GetOSVersion() const;
30 std::string GetIncludeDirectories() const
32 return this->FixPaths(this->Include);
34 std::string GetLibraryDirectories() const
36 return this->FixPaths(this->Library);
38 std::string GetPathDirectories() const { return this->FixPaths(this->Path); }
39 const std::vector<std::string>& GetAvailablePlatforms() const
41 return this->AvailablePlatforms;
45 virtual void StartElement(const std::string& name, const char** attributes);
46 void EndElement(const std::string& name);
47 void CharacterDataHandler(const char* data, int length);
50 std::string FixPaths(const std::string& paths) const;
52 std::string CharacterData;
57 std::string PlatformName;
58 std::string OSMajorVersion;
59 std::string OSMinorVersion;
60 std::map<std::string, std::string> Macros;
61 std::vector<std::string> AvailablePlatforms;
63 const char* RequiredName;
64 bool FoundRequiredName;
65 std::string VcInstallDir;
66 std::string VsInstallDir;