From 6482e16564010151a7b8e7aa93a05a7c9a6457b0 Mon Sep 17 00:00:00 2001 From: glx22 Date: Wed, 4 Jun 2025 15:29:18 +0200 Subject: [PATCH] Codechange: Deduplicate namespace opening in squirrel-exporter --- cmake/scripts/SquirrelExport.cmake | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/cmake/scripts/SquirrelExport.cmake b/cmake/scripts/SquirrelExport.cmake index cddc804d15..109ad0328c 100644 --- a/cmake/scripts/SquirrelExport.cmake +++ b/cmake/scripts/SquirrelExport.cmake @@ -25,6 +25,13 @@ macro(dump_fileheader) endif() endmacro() +macro(open_namespace) + if(NOT NAMESPACE_OPENED) + string(APPEND SQUIRREL_EXPORT "\nnamespace SQConvert {") + set(NAMESPACE_OPENED TRUE) + endif() +endmacro() + macro(dump_class_templates NAME) string(REGEX REPLACE "^Script" "" REALNAME ${NAME}) @@ -305,32 +312,16 @@ foreach(LINE IN LISTS SOURCE_LINES) string(APPEND SQUIRREL_EXPORT "\n") if("${APIUC}" STREQUAL "Template") - # First check whether we have enums to print - if(DEFINED ENUMS) - if(NOT NAMESPACE_OPENED) - string(APPEND SQUIRREL_EXPORT "\nnamespace SQConvert {") - set(NAMESPACE_OPENED TRUE) - endif() - endif() - # Then check whether we have structs/classes to print if(DEFINED STRUCTS) - if(NOT NAMESPACE_OPENED) - string(APPEND SQUIRREL_EXPORT "\nnamespace SQConvert {") - set(NAMESPACE_OPENED TRUE) - endif() + open_namespace() string(APPEND SQUIRREL_EXPORT "\n\t/* Allow inner classes/structs to be used as Squirrel parameters */") foreach(STRUCT IN LISTS STRUCTS) dump_class_templates(${STRUCT}) endforeach() endif() - if(NOT NAMESPACE_OPENED) - string(APPEND SQUIRREL_EXPORT "\nnamespace SQConvert {") - set(NAMESPACE_OPENED TRUE) - else() - string(APPEND SQUIRREL_EXPORT "\n") - endif() + open_namespace() string(APPEND SQUIRREL_EXPORT "\n\t/* Allow ${CLS} to be used as Squirrel parameter */") dump_class_templates(${CLS})