generate_headers.py 1.3 KB

12345678910111213141516171819202122232425262728293031
  1. #!/usr/bin/env python3
  2. import os
  3. import re
  4. import shutil
  5. # create src/common/pico_base/include/pico/config_autogen.h
  6. f = open('src/common/pico_base/include/pico/config_autogen.h', 'w')
  7. f.write('#include "boards/pico.h"\n')
  8. f.close()
  9. with open('pico_sdk_version.cmake', 'r') as f:
  10. contents = f.read()
  11. major_match = re.search(r'set\(PICO_SDK_VERSION_MAJOR (\d+)\)', contents)
  12. minor_match = re.search(r'set\(PICO_SDK_VERSION_MINOR (\d+)\)', contents)
  13. revision_match = re.search(r'set\(PICO_SDK_VERSION_REVISION (\d+)\)', contents)
  14. major_version = major_match.group(1)
  15. minor_version = minor_match.group(1)
  16. revision_version = revision_match.group(1)
  17. # replace the version numbers in src/common/pico_base/include/pico/version.h
  18. with open('src/common/pico_base/include/pico/version.h.in', 'r') as f:
  19. contents = f.read()
  20. with open('src/common/pico_base/include/pico/version.h', 'w') as f:
  21. contents = contents.replace('${PICO_SDK_VERSION_MAJOR}', major_version)
  22. contents = contents.replace('${PICO_SDK_VERSION_MINOR}', minor_version)
  23. contents = contents.replace('${PICO_SDK_VERSION_REVISION}', revision_version)
  24. contents = contents.replace('${PICO_SDK_VERSION_STRING}', f'{major_version}.{minor_version}.{revision_version}')
  25. f.write(contents)