resolve build issue under windows with pre-build script
This commit is contained in:
parent
a98f1d4504
commit
49eb17b221
@ -12,6 +12,8 @@ platform = espressif8266
|
||||
board = esp12e
|
||||
board_build.f_cpu = 160000000L
|
||||
|
||||
extra_scripts = pre:timelib_fix.py
|
||||
|
||||
framework = arduino
|
||||
;upload_flags = --port=8266 --auth=esp-react
|
||||
;upload_port = 192.168.0.6
|
||||
|
31
timelib_fix.py
Normal file
31
timelib_fix.py
Normal file
@ -0,0 +1,31 @@
|
||||
import os
|
||||
import sys
|
||||
import re
|
||||
Import("env")
|
||||
|
||||
# Find files under 'root' of a given 'fileName' in directories matching 'subDirectoryPattern'
|
||||
# This will allow us to safely find the offending Time.h file for removal prior to building
|
||||
def findSubDirectoryFiles(root, subDirectoryPattern, fileName):
|
||||
subDirectories = os.listdir(root)
|
||||
subDirectories = filter(lambda d: re.match(subDirectoryPattern, d), subDirectories)
|
||||
result = []
|
||||
for subDirectory in subDirectories:
|
||||
candidateFile = os.path.join(root, subDirectory, fileName)
|
||||
if os.path.isfile(candidateFile):
|
||||
result.append(candidateFile)
|
||||
return result
|
||||
|
||||
# lib deps directory
|
||||
libDepsDir = os.path.join(env.subst('$PROJECT_DIR'), '.piolibdeps')
|
||||
timeHeaderFile = "Time.h"
|
||||
timeLibDirectoryPattern = "Time(_ID[0-9]+)?"
|
||||
|
||||
# delete the file, as long as we only find one
|
||||
if os.path.isdir(libDepsDir) :
|
||||
deletionCandidates = findSubDirectoryFiles(libDepsDir, timeLibDirectoryPattern, timeHeaderFile)
|
||||
numDeletionCandidates = len(deletionCandidates)
|
||||
if numDeletionCandidates == 1:
|
||||
os.remove(deletionCandidates[0])
|
||||
elif numDeletionCandidates > 1:
|
||||
os.write(2, 'Can\'t delete Time.h, more than one instance found:\n' + '\n'.join(deletionCandidates))
|
||||
sys.exit(1)
|
Loading…
Reference in New Issue
Block a user