diff --git a/cmake/scripts/SquirrelExport.cmake b/cmake/scripts/SquirrelExport.cmake index a9ca76c73e..ef32cda997 100644 --- a/cmake/scripts/SquirrelExport.cmake +++ b/cmake/scripts/SquirrelExport.cmake @@ -365,176 +365,62 @@ foreach(LINE IN LISTS SOURCE_LINES) string(APPEND SQUIRREL_EXPORT "\n") # Enum values - set(MLEN 0) foreach(ENUM_VALUE IN LISTS ENUM_VALUES) - string(LENGTH "${ENUM_VALUE}" LEN) - if(MLEN LESS LEN) - set(MLEN ${LEN}) - endif() + string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.DefSQConst(engine, ${CLS}::${ENUM_VALUE}, \"${ENUM_VALUE}\");") endforeach() - foreach(ENUM_VALUE IN LISTS ENUM_VALUES) - string(LENGTH "${ENUM_VALUE}" LEN) - math(EXPR LEN "${MLEN} - ${LEN}") - unset(SPACES) - foreach(i RANGE ${LEN}) - string(APPEND SPACES " ") - endforeach() - string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.DefSQConst(engine, ${CLS}::${ENUM_VALUE},${SPACES}\"${ENUM_VALUE}\");") - endforeach() - if(MLEN) - string(APPEND SQUIRREL_EXPORT "\n") - endif() # Const values - set(MLEN 0) foreach(CONST_VALUE IN LISTS CONST_VALUES) - string(LENGTH "${CONST_VALUE}" LEN) - if(MLEN LESS LEN) - set(MLEN ${LEN}) - endif() + string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.DefSQConst(engine, ${CLS}::${CONST_VALUE}, \"${CONST_VALUE}\");") endforeach() - foreach(CONST_VALUE IN LISTS CONST_VALUES) - string(LENGTH "${CONST_VALUE}" LEN) - math(EXPR LEN "${MLEN} - ${LEN}") - unset(SPACES) - foreach(i RANGE ${LEN}) - string(APPEND SPACES " ") - endforeach() - string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.DefSQConst(engine, ${CLS}::${CONST_VALUE},${SPACES}\"${CONST_VALUE}\");") - endforeach() - if(MLEN) - string(APPEND SQUIRREL_EXPORT "\n") - endif() # Mapping of OTTD strings to errors - set(MLEN 0) - foreach(ENUM_STRING_TO_ERROR IN LISTS ENUM_STRING_TO_ERRORS) - string(REPLACE ":" ";" ENUM_STRING_TO_ERROR "${ENUM_STRING_TO_ERROR}") - list(GET ENUM_STRING_TO_ERROR 0 ENUM_STRING) - string(LENGTH "${ENUM_STRING}" LEN) - if(MLEN LESS LEN) - set(MLEN ${LEN}) - endif() - endforeach() foreach(ENUM_STRING_TO_ERROR IN LISTS ENUM_STRING_TO_ERRORS) string(REPLACE ":" ";" ENUM_STRING_TO_ERROR "${ENUM_STRING_TO_ERROR}") list(GET ENUM_STRING_TO_ERROR 0 ENUM_STRING) list(GET ENUM_STRING_TO_ERROR 1 ENUM_ERROR) - string(LENGTH "${ENUM_STRING}" LEN) - math(EXPR LEN "${MLEN} - ${LEN}") - unset(SPACES) - foreach(i RANGE ${LEN}) - string(APPEND SPACES " ") - endforeach() - string(APPEND SQUIRREL_EXPORT "\n\tScriptError::RegisterErrorMap(${ENUM_STRING},${SPACES}${CLS}::${ENUM_ERROR});") + string(APPEND SQUIRREL_EXPORT "\n\tScriptError::RegisterErrorMap(${ENUM_STRING}, ${CLS}::${ENUM_ERROR});") endforeach() - if(MLEN) - string(APPEND SQUIRREL_EXPORT "\n") - endif() # Mapping of errors to human 'readable' strings. - set(MLEN 0) foreach(ENUM_ERROR_TO_STRING IN LISTS ENUM_ERROR_TO_STRINGS) string(LENGTH "${ENUM_ERROR_TO_STRING}" LEN) - if(MLEN LESS LEN) - set(MLEN ${LEN}) - endif() + string(APPEND SQUIRREL_EXPORT "\n\tScriptError::RegisterErrorMapString(${CLS}::${ENUM_ERROR_TO_STRING}, \"${ENUM_ERROR_TO_STRING}\");") endforeach() - foreach(ENUM_ERROR_TO_STRING IN LISTS ENUM_ERROR_TO_STRINGS) - string(LENGTH "${ENUM_ERROR_TO_STRING}" LEN) - math(EXPR LEN "${MLEN} - ${LEN}") - unset(SPACES) - foreach(i RANGE ${LEN}) - string(APPEND SPACES " ") - endforeach() - string(APPEND SQUIRREL_EXPORT "\n\tScriptError::RegisterErrorMapString(${CLS}::${ENUM_ERROR_TO_STRING},${SPACES}\"${ENUM_ERROR_TO_STRING}\");") - endforeach() - if(MLEN) - string(APPEND SQUIRREL_EXPORT "\n") - endif() # Static methods - set(MLEN 0) - foreach(STATIC_METHOD IN LISTS STATIC_METHODS) - string(REPLACE ":" ";" STATIC_METHOD "${STATIC_METHOD}") - list(GET STATIC_METHOD 0 FUNCNAME) - string(LENGTH "${FUNCNAME}" LEN) - if(MLEN LESS LEN) - set(MLEN ${LEN}) - endif() - endforeach() foreach(STATIC_METHOD IN LISTS STATIC_METHODS) string(REPLACE ":" ";" STATIC_METHOD "${STATIC_METHOD}") list(GET STATIC_METHOD 0 FUNCNAME) list(GET STATIC_METHOD 1 TYPES) list(GET STATIC_METHOD 2 SUSPENDABLE) - string(LENGTH "${FUNCNAME}" LEN) - math(EXPR LEN "${MLEN} - ${LEN}") - if("${TYPES}" STREQUAL "v") - if(LEN GREATER 8) - math(EXPR LEN "${LEN} - 8") - else() - set(LEN 0) - endif() - endif() - unset(SPACES) - foreach(i RANGE ${LEN}) - string(APPEND SPACES " ") - endforeach() if(SUSPENDABLE) set(SUSPENDABLE ", true") endif() if("${TYPES}" STREQUAL "v") - string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.DefSQAdvancedStaticMethod(engine, &${CLS}::${FUNCNAME},${SPACES}\"${FUNCNAME}\"${SUSPENDABLE});") + string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.DefSQAdvancedStaticMethod(engine, &${CLS}::${FUNCNAME}, \"${FUNCNAME}\"${SUSPENDABLE});") else() - string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.DefSQStaticMethod(engine, &${CLS}::${FUNCNAME},${SPACES}\"${FUNCNAME}\",${SPACES}\"${TYPES}\"${SUSPENDABLE});") + string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.DefSQStaticMethod(engine, &${CLS}::${FUNCNAME}, \"${FUNCNAME}\", \"${TYPES}\"${SUSPENDABLE});") endif() endforeach() - if(MLEN) - string(APPEND SQUIRREL_EXPORT "\n") - endif() # Non-static methods - set(MLEN 0) - foreach(METHOD IN LISTS METHODS) - string(REPLACE ":" ";" METHOD "${METHOD}") - list(GET METHOD 0 FUNCNAME) - string(LENGTH "${FUNCNAME}" LEN) - if(MLEN LESS LEN) - set(MLEN ${LEN}) - endif() - endforeach() foreach(METHOD IN LISTS METHODS) string(REPLACE ":" ";" METHOD "${METHOD}") list(GET METHOD 0 FUNCNAME) list(GET METHOD 1 TYPES) list(GET METHOD 2 SUSPENDABLE) - string(LENGTH "${FUNCNAME}" LEN) - math(EXPR LEN "${MLEN} - ${LEN}") - if("${TYPES}" STREQUAL "v") - if(LEN GREATER 8) - math(EXPR LEN "${LEN} - 8") - else() - set(LEN 0) - endif() - endif() - unset(SPACES) - foreach(i RANGE ${LEN}) - string(APPEND SPACES " ") - endforeach() if(SUSPENDABLE) set(SUSPENDABLE ", true") endif() if("${TYPES}" STREQUAL "v") - string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.DefSQAdvancedMethod(engine, &${CLS}::${FUNCNAME},${SPACES}\"${FUNCNAME}\"${SUSPENDABLE});") + string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.DefSQAdvancedMethod(engine, &${CLS}::${FUNCNAME}, \"${FUNCNAME}\"${SUSPENDABLE});") else() - string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.DefSQMethod(engine, &${CLS}::${FUNCNAME},${SPACES}\"${FUNCNAME}\",${SPACES}\"${TYPES}\"${SUSPENDABLE});") + string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.DefSQMethod(engine, &${CLS}::${FUNCNAME}, \"${FUNCNAME}\", \"${TYPES}\"${SUSPENDABLE});") endif() endforeach() - if(MLEN) - string(APPEND SQUIRREL_EXPORT "\n") - endif() + string(APPEND SQUIRREL_EXPORT "\n") string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.PostRegister(engine);") string(APPEND SQUIRREL_EXPORT "\n}")