diff --git a/cmake/modules/envtoh.cmake b/cmake/modules/envtoh.cmake index 822e73b..ee65e97 100644 --- a/cmake/modules/envtoh.cmake +++ b/cmake/modules/envtoh.cmake @@ -15,17 +15,15 @@ file(STRINGS "${ENV_FILE}" ENV_LINES) set(HEADER_CONTENT "#pragma once\n#include \"dusk.h\"\n\n") foreach(line IN LISTS ENV_LINES) - # Only trim whitespace if line is not empty - if(NOT line STREQUAL "") - string(REGEX REPLACE "^[ \t]*" "" line "${line}") - string(REGEX REPLACE "[ \t]*$" "" line "${line}") - endif() - # Skip comments and empty lines (allow whitespace before # or ;) if(line STREQUAL "" OR line MATCHES "^[ \t]*[#;]") continue() endif() + # Trim whitespace only for non-empty, non-comment lines + string(REGEX REPLACE "^[ \t]*" "" line "${line}") + string(REGEX REPLACE "[ \t]*$" "" line "${line}") + # Expect KEY=VALUE (allow spaces around '=') if(NOT line MATCHES "^[A-Za-z_][A-Za-z0-9_]*[ \t]*=[ \t]*") message(WARNING "Skipping invalid line in ${ENV_FILE}: '${line}'")