Skip to content
This repository was archived by the owner on Apr 21, 2020. It is now read-only.

Commit 87289e9

Browse files
committed
Added single header generator and file
1 parent 790d5d7 commit 87289e9

File tree

5 files changed

+1685
-4
lines changed

5 files changed

+1685
-4
lines changed

include/single_header.py

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import os
2+
3+
def include(header, incs, root, included):
4+
file = open(root, "r")
5+
6+
for line in file:
7+
if line == "#pragma once\n" or line == "\n":
8+
pass
9+
elif line[:10] == "#include \"":
10+
if not line in included:
11+
included += [line]
12+
include(header, incs, line[10:-2], included)
13+
elif line[:10] == "#include <":
14+
incs += [line]
15+
else:
16+
header.write(line)
17+
break
18+
19+
for line in file:
20+
header.write(line)
21+
header.write("\n")
22+
23+
return included, incs
24+
25+
def main():
26+
header = open("temp.hpp", "w")
27+
included, incs = include(header, [], "sql/schema.hpp", [])
28+
included, incs = include(header, incs, "sql/query.hpp", included)
29+
header.close()
30+
header = open("../sql.hpp", "w")
31+
32+
for line in set(incs):
33+
header.write(line)
34+
header.write("\n")
35+
36+
for line in open("temp.hpp"):
37+
header.write(line)
38+
39+
os.remove("temp.hpp")
40+
41+
if __name__ == "__main__":
42+
main()

include/sql/index.hpp

-1
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,3 @@ namespace sql
4141
};
4242

4343
} // namespace sql
44-

resources/sql/build.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
g++ -std=c++2a -O3 -I../../include -o test table_test.cpp
1+
g++ -std=c++2a -O3 -I../../ -o test table_test.cpp

resources/sql/table_test.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22
#include <string>
33
#include <vector>
44

5-
#include "sql/query.hpp"
6-
#include "sql/schema.hpp"
5+
#include "sql.hpp"
76

87
namespace
98
{

0 commit comments

Comments
 (0)