mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-02-18 19:03:16 +00:00
59 lines
1.6 KiB
Python
59 lines
1.6 KiB
Python
import sys
|
|
import os
|
|
|
|
def printWarning(message):
|
|
if sys.platform == 'win32':
|
|
print(f"ERROR: {message}")
|
|
else:
|
|
print(f"\033[93mWARNING: {message}\033[m")
|
|
|
|
def printError(message):
|
|
if sys.platform == 'win32':
|
|
print(f"ERROR: {message}")
|
|
else:
|
|
print(f"\033[91mERROR: {message}\033[m")
|
|
|
|
def exitWithError(message):
|
|
printError(message)
|
|
sys.exit(1)
|
|
|
|
def isValidPlatformName(name):
|
|
return name == "all" or name == "esp32" or name == "esp32s3"
|
|
|
|
def build(platformName):
|
|
print(f"Platform: {platformName}")
|
|
os.system(f"cp sdkconfig.{platformName} sdkconfig")
|
|
os.system(f"idf.py -B build-{platformName} build")
|
|
|
|
def buildAll():
|
|
build("esp32")
|
|
build("esp32s3")
|
|
|
|
def printHelp():
|
|
print("Usage:")
|
|
print("\tpython ttbuild.py [platformName]")
|
|
print("\tplatformName: all|esp32|esp32s3")
|
|
|
|
if __name__ == "__main__":
|
|
print("Tactility Build System v0.1.0")
|
|
# Environment
|
|
if os.environ.get('IDF_PATH') == None:
|
|
exitWithError("IDF is not installed or activated. Ensure you installed the toolset and ran the export command.")
|
|
if os.environ.get('TACTILITY_SDK_PATH') != None:
|
|
printWarning("TACTILITY_SDK_PATH is set, but will be ignored by this command")
|
|
os.environ['TACTILITY_SDK_PATH'] = '../../release/TactilitySDK'
|
|
# Argument validation
|
|
if len(sys.argv) == 1:
|
|
printHelp()
|
|
sys.exit()
|
|
platformName = sys.argv[1]
|
|
if not isValidPlatformName(platformName):
|
|
printHelp()
|
|
exitWithError("Invalid platform name")
|
|
# Build
|
|
if platformName == "all":
|
|
buildAll()
|
|
else:
|
|
build(sys.argv[1])
|
|
|