Refactoring editor

This commit is contained in:
2026-03-31 10:56:44 -05:00
parent 0885da8d44
commit 888918face
21 changed files with 235 additions and 111 deletions

View File

@@ -3,5 +3,4 @@
# This software is released under the MIT License.
# https://opensource.org/licenses/MIT
add_subdirectory(run_python)
add_subdirectory(env_to_h)
add_subdirectory(run_python)

View File

@@ -1,15 +0,0 @@
# Copyright (c) 2026 Dominic Masters
#
# This software is released under the MIT License.
# https://opensource.org/licenses/MIT
function(dusk_env_to_h INPUT_PATH OUTPUT_NAME_RELATIVE)
set(DUSK_DEFS_TARGET_NAME "DUSK_DEFS_${OUTPUT_NAME_RELATIVE}")
dusk_run_python(
${DUSK_DEFS_TARGET_NAME}
tools.env_to_h
--env "${CMAKE_CURRENT_LIST_DIR}/${INPUT_PATH}"
--output ${DUSK_GENERATED_HEADERS_DIR}/${OUTPUT_NAME_RELATIVE}
)
add_dependencies(${DUSK_LIBRARY_TARGET_NAME} ${DUSK_DEFS_TARGET_NAME})
endfunction()

View File

@@ -1,46 +0,0 @@
import argparse
import os
from dotenv import load_dotenv, dotenv_values
parser = argparse.ArgumentParser(description="Convert .env to .h defines")
parser.add_argument("--env", required=True, help="Path to .env file")
parser.add_argument("--output", required=True, help="Path to output .h file")
args = parser.parse_args()
# Load .env file
load_dotenv(dotenv_path=args.env)
fileDefs = dotenv_values(dotenv_path=args.env)
outHeader = ""
outHeader += "#include \"dusk.h\"\n\n"
for key, value in fileDefs.items():
# Determine type and print out appropriate C type define.
# Integer
try:
asInt = int(value)
outHeader += f"#define {key} {asInt}\n"
continue
except:
pass
# Float
try:
asFloat = float(value)
outHeader += f"#define {key} {asFloat}f\n"
continue
except:
pass
# Boolean
if value.lower() in ['true', 'false']:
asBool = '1' if value.lower() == 'true' else '0'
outHeader += f"#define {key} {asBool}\n"
continue
# String
outHeader += f'#define {key} "{value}"\n'
# Write to output file
with open(args.output, 'w') as outFile:
outFile.write(outHeader)