summaryrefslogtreecommitdiff
path: root/bin/build-style.js
blob: 227c164a2814a181bdfd4ab268c795082ce0f6b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/env node
'use strict';

var fs = require('fs');

var name = 'style';
var data = fs.readFileSync('resources/style.pbf');

var length = data.length;

var header = '// NOTE: DO NOT CHANGE THIS FILE. IT IS AUTOMATICALLY GENERATED.\n\n';
header += '#ifndef LLMR_RESOURCE_' + name.toUpperCase() + '\n';
header += '#define LLMR_RESOURCE_' + name.toUpperCase() + '\n';
header += '\n';
header += 'namespace llmr {\n';
header += 'namespace resources {\n';
header += '\n';
header += 'extern const unsigned char ' + name + '[];\n';
header += 'extern const unsigned long ' + name + '_size;\n';
header += '\n';
header += '}\n';
header += '}\n';
header += '\n';
header += '#endif\n';
fs.writeFileSync('include/llmr/resources/' + name + '.hpp', header);

var code = '// NOTE: DO NOT CHANGE THIS FILE. IT IS AUTOMATICALLY GENERATED.\n';
code += '#include <llmr/resources/' + name + '.hpp>\n';
code += '\n';
code += 'using namespace llmr;\n';
code += '\n';
code += 'const unsigned char resources::' + name + '[] = {\n';
code += '    ' + Array.prototype.join.call(data, ', ') + '\n';
code += '};\n';
code += 'const unsigned long resources::' + name + '_size = sizeof(resources::' + name + ');\n';

fs.writeFileSync('src/resources/' + name + '.cpp', code);