platformio_pre.py

This commit is contained in:
Andrey
2022-01-14 18:15:56 +03:00
parent 0504fa187e
commit a7df53fbfe
34 changed files with 200 additions and 117 deletions

85
platformio_pre.py Normal file
View File

@@ -0,0 +1,85 @@
import os
import glob
import shutil
import re
# The list of items
files = glob.glob('libs/main/*/*.h', recursive=True)
files += glob.glob('libs/main/*.h', recursive=True)
tdir = './include/'
if os.path.exists(tdir):
shutil.rmtree(tdir)
os.mkdir(tdir)
for filename in files:
shutil.copy(filename, tdir)
with open(tdir+'pip_defs.h', 'w') as f:
f.write('// This file was generated by PlatformIO, don`t edit it!')
with open(tdir+'pip_export.h', 'w') as f:
f.write('''
#ifndef PIP_EXPORT_H
#define PIP_EXPORT_H
# define PIP_EXPORT
# define PIP_NO_EXPORT
#ifndef PIP_DEPRECATED
# define PIP_DEPRECATED __attribute__ ((__deprecated__))
#endif
#ifndef PIP_DEPRECATED_EXPORT
# define PIP_DEPRECATED_EXPORT PIP_EXPORT PIP_DEPRECATED
#endif
#ifndef PIP_DEPRECATED_NO_EXPORT
# define PIP_DEPRECATED_NO_EXPORT PIP_NO_EXPORT PIP_DEPRECATED
#endif
#endif /* PIP_EXPORT_H */
''')
version_h = '''
#ifndef PIP_VERSION_H
#define PIP_VERSION_H
// Project
#define PIP_VERSION_MAJOR ${VERSION_MAJOR}
#define PIP_VERSION_MINOR ${VERSION_MINOR}
#define PIP_VERSION_REVISION ${VERSION_REVISION}
#define PIP_VERSION_BUILD 0
#define PIP_VERSION_SUFFIX \"${VERSION_SUFFIX}\"
#define PIP_VERSION_NAME \"${VERSION}\"
#define PIP_MAKE_VERSION(major, minor, revision) ((major << 16) | (minor << 8) | revision)
#define PIP_VERSION PIP_MAKE_VERSION(PIP_VERSION_MAJOR, PIP_VERSION_MINOR, PIP_VERSION_REVISION)
#endif // PIP_VERSION_H
'''
with open('CMakeLists.txt') as cm:
str = cm.read()
v_major = re.findall(r'pip_MAJOR\s+(\d+)\)', str)
v_minor = re.findall(r'pip_MINOR\s+(\d+)\)', str)
v_rev = re.findall(r'pip_REVISION\s+(\d+)\)', str)
v_suffix = re.findall(r'pip_SUFFIX\s+(\w+)\)', str)
ver = ''
ver = v_major[0]+'.'+v_minor[0]+'.'+v_rev[0]
version_h.replace('${VERSION_MAJOR}', v_major[0])
version_h.replace('${VERSION_MINOR}', v_minor[0])
version_h.replace('${VERSION_REVISION}', v_rev[0])
if len(v_suffix):
ver += v_suffix[0]
version_h.replace('${VERSION_SUFFIX}', v_suffix[0])
else:
version_h.replace('${VERSION_SUFFIX}', '')
print('PIP version = '+ver)
with open(tdir+'pip_version.h', 'w') as f:
f.write(version_h)