diff --git a/cmake/scripts/SquirrelExport.cmake b/cmake/scripts/SquirrelExport.cmake index f7f01c7c87..477e2ae782 100644 --- a/cmake/scripts/SquirrelExport.cmake +++ b/cmake/scripts/SquirrelExport.cmake @@ -614,8 +614,10 @@ foreach(LINE IN LISTS SOURCE_LINES) string(REGEX REPLACE "\\*" "" LINE "${LINE}") string(REGEX REPLACE "\\(.*" "" LINE "${LINE}") - string(REGEX REPLACE ".*\\(" "" PARAM_S "${PARAM_S}") + # Parameters start at first "(". Further "(" will appear in ctor lists. + string(REGEX MATCH "\\(.*" PARAM_S "${PARAM_S}") string(REGEX REPLACE "\\).*" "" PARAM_S "${PARAM_S}") + string(REGEX REPLACE "^\\(" "" PARAM_S "${PARAM_S}") string(REGEX MATCH "([^ ]+)( ([^ ]+))?" RESULT "${LINE}") set(FUNCTYPE "${CMAKE_MATCH_1}")