]> git.tdb.fi Git - builder.git/blobdiff - plugins/builtin/vcxprojectfile.cpp
Rearrange sources into subdirectories
[builder.git] / plugins / builtin / vcxprojectfile.cpp
diff --git a/plugins/builtin/vcxprojectfile.cpp b/plugins/builtin/vcxprojectfile.cpp
new file mode 100644 (file)
index 0000000..3ec7da1
--- /dev/null
@@ -0,0 +1,24 @@
+#include <msp/builder/builder.h>
+#include <msp/builder/sourcepackage.h>
+#include <msp/crypto/md5.h>
+#include <msp/strings/format.h>
+#include "vcxprojectfile.h"
+
+using namespace Msp;
+
+VcxProjectFile::VcxProjectFile(Builder &b, const SourcePackage &p):
+       FileTarget(b, p, p.get_source_directory()/(p.get_name()+".vcxproj"))
+{
+       tool = &builder.get_toolchain().get_tool("VCXG");
+
+       char digest[16];
+       Crypto::MD5(package->get_name()).get_digest(digest, sizeof(digest));
+       digest[6] = 3;
+       digest[8] = (digest[6]&0x3F)|0x80;
+       for(unsigned j=0; j<sizeof(digest); ++j)
+       {
+               if(j==4 || j==6 || j==8 || j==10)
+                       guid += '-';
+               guid += format("%02x", static_cast<unsigned char>(digest[j]));
+       }
+}