summaryrefslogtreecommitdiffstats
path: root/Source/cmVisualStudioWCEPlatformParser.h
diff options
context:
space:
mode:
authorPatrick Gansterer <paroga@paroga.com>2012-11-20 12:12:27 (GMT)
committerBrad King <brad.king@kitware.com>2012-11-27 13:31:17 (GMT)
commit6fe4fcba787e4e27a4863faa28aa41ae11026d6b (patch)
tree9c8059ebf44b70194a71f6e777de6befac1896be /Source/cmVisualStudioWCEPlatformParser.h
parent2118a2016f69f3c7cdb711eaaa2f6ca9374103ce (diff)
downloadCMake-6fe4fcba787e4e27a4863faa28aa41ae11026d6b.zip
CMake-6fe4fcba787e4e27a4863faa28aa41ae11026d6b.tar.gz
CMake-6fe4fcba787e4e27a4863faa28aa41ae11026d6b.tar.bz2
VS: Add parser for WCE.VCPlatform.config to read WinCE platforms
Parse the WCE.VCPlatform.config file, which contains the installed WindowsCE SDKs in XML format, and add possibility to generate Visual Studio generators for them.
Diffstat (limited to 'Source/cmVisualStudioWCEPlatformParser.h')
-rw-r--r--Source/cmVisualStudioWCEPlatformParser.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/Source/cmVisualStudioWCEPlatformParser.h b/Source/cmVisualStudioWCEPlatformParser.h
new file mode 100644
index 0000000..28061fd
--- /dev/null
+++ b/Source/cmVisualStudioWCEPlatformParser.h
@@ -0,0 +1,55 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2000-2012 Kitware, Inc., Insight Software Consortium
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+#ifndef cmVisualStudioWCEPlatformParser_h
+#define cmVisualStudioWCEPlatformParser_h
+#include "cmStandardIncludes.h"
+
+#include "cmXMLParser.h"
+
+// This class is used to parse XML with configuration
+// of installed SDKs in system
+class cmVisualStudioWCEPlatformParser : public cmXMLParser
+{
+public:
+ cmVisualStudioWCEPlatformParser(const char* name = NULL)
+ : RequiredName(name)
+ , FoundRequiredName(false)
+ {
+ }
+
+ int ParseVersion(const char* version);
+
+ bool Found() const {return this->FoundRequiredName;}
+ const char* GetArchitectureFamily() const;
+ std::string GetOSVersion() const;
+ const std::vector<std::string>& GetAvailablePlatforms() const {
+ return this->AvailablePlatforms; }
+
+protected:
+ virtual void StartElement(const char* name, const char** attributes);
+ void EndElement(const char* name);
+ void CharacterDataHandler(const char* data, int length);
+
+private:
+ std::string CharacterData;
+
+ std::string PlatformName;
+ std::string OSMajorVersion;
+ std::string OSMinorVersion;
+ std::map<std::string, std::string> Macros;
+ std::vector<std::string> AvailablePlatforms;
+
+ const char* RequiredName;
+ bool FoundRequiredName;
+};
+
+#endif