mirror of
https://git.lynn.is/Gwen/argparser.git
synced 2024-04-24 14:45:22 +02:00
24 lines
1.3 KiB
Bash
24 lines
1.3 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
rm -rf header-build
|
|
mkdir -p header-build/headers
|
|
|
|
for header in src/*.h; do
|
|
grep -E '^#include <' "$header" >> "header-build/system-includes-1.h"
|
|
sed -e '/^#include </d' "$header" > "header-build/headers/$(basename "$header")"
|
|
done
|
|
sed -i '1s/^/\/*START*\/\n/' header-build/headers/_include_order.h
|
|
gcc -E -C -P "header-build/headers/_include_order.h" > header-build/combined-1.h
|
|
sed '0,/^\/\*START\*\/$/d' header-build/combined-1.h > header-build/combined-2.h
|
|
sort header-build/system-includes-1.h | uniq > header-build/system-includes-2.h
|
|
sed -r -e '/^namespace argparser \{/d' -e '/}\/\/ namespace argparser$/d' header-build/combined-2.h > header-build/combined-3.h
|
|
sed -r -e 's/^namespace argparser::(.*) \{/namespace \1 {/' -e 's/}\/\/ namespace argparser::(.*)$/}\/\/ namespace \1/' header-build/combined-3.h > header-build/combined-4.h
|
|
cat header-build/system-includes-2.h > header-build/combined.h
|
|
echo "namespace argparser {" >> header-build/combined.h
|
|
cat header-build/combined-4.h >> header-build/combined.h
|
|
echo "}// namespace argparser" >> header-build/combined.h
|
|
clang-tidy --fix-errors --quiet header-build/combined.h >/dev/null 2>&1
|
|
clang-format -i -style=file:.clang-format header-build/combined.h
|
|
mkdir -p dist/include/argparser
|
|
cp header-build/combined.h dist/include/argparser/argparser.h
|
|
rm -rf header-build |