Files
ESPEasy/tools/pio/concat_cpp_files.py
T

57 lines
1.7 KiB
Python

Import("env")
import os
import glob
import filecmp
def do_concat_cpp_files(cpp_files, output_file):
with open(output_file, 'wb') as newf:
for filename in cpp_files:
with open(filename, 'rb') as hf:
newf.write(hf.read())
newf.write(os.linesep.encode()) # append newline to separate files.
def concat_cpp_files(paths_to_concat):
cpp_files = []
cpp_path = paths_to_concat[0]
cpp_path_out = '{}_tmp'.format(cpp_path)
if not os.path.exists(cpp_path_out):
os.makedirs(cpp_path_out)
tmp_cpp_file = os.path.join(cpp_path_out, '__tmpfile.cpp')
tmp2_cpp_file = os.path.join(cpp_path_out, '__tmpfile.cpp.test')
for path_to_concat in paths_to_concat:
print("\u001b[32m Concat {}/*.cpp to {} \u001b[0m".format(path_to_concat, tmp_cpp_file))
for root, dirs, files in os.walk(path_to_concat):
for file in files:
if file.endswith('.cpp'):
fullname = os.path.join(root, file)
cpp_files.append(fullname)
print("\u001b[33m Add: \u001b[0m {}".format(fullname))
if os.path.exists(tmp_cpp_file):
os.remove(tmp_cpp_file)
do_concat_cpp_files(cpp_files, tmp_cpp_file)
print("\u001b[32m ------------------------------- \u001b[0m")
concat_cpp_files(['./src/src/Commands',
'./src/src/ControllerQueue',
'./src/src/DataStructs',
'./src/src/DataTypes',
'./src/src/ESPEasyCore',
'./src/src/Globals',
'./src/src/Helpers',
'./src/src/PluginStructs',
'./src/src/WebServer'])