From 8794c61f25dfe055296ed500c54d22613fbcb73f Mon Sep 17 00:00:00 2001 From: glx Date: Tue, 5 Mar 2019 15:52:41 +0100 Subject: Change: rewrote generate_widget in CMake --- src/script/api/generate_widget.awk | 114 ------------------------------------- 1 file changed, 114 deletions(-) delete mode 100644 src/script/api/generate_widget.awk (limited to 'src/script/api/generate_widget.awk') diff --git a/src/script/api/generate_widget.awk b/src/script/api/generate_widget.awk deleted file mode 100644 index fe9fbe834..000000000 --- a/src/script/api/generate_widget.awk +++ /dev/null @@ -1,114 +0,0 @@ -# This file is part of OpenTTD. -# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. -# OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . - -# -# Awk script to automatically generate the enums in script_window.hpp -# -# The file is scanned for @enum and @endenum tokens, and the content between them is replaced by an enum from a different file. -# -# Example: -# // @enum enumname filename -# ... content here is replaced ... -# // @endenum -# -# The parameter "enumname" specifies the enumeration to extract. This can also be a regular expression. -# The parameter "filename" specifies the relative path to the file, where the enumeration is extracted from. This can also be a glob expression. -# -# - -BEGIN { - skiptillend = 0; -} - -{ CR = (match($0, "\\r$") > 0 ? "\r" : "") } - -/@enum/ { - print; - add_indent = gensub("[^ ]*", "", "g"); - sub(".*@enum *", ""); - enum = $1; - pattern = $2; - - files = "echo " pattern; - files | getline filelist; - close(files); - - split(filelist, filearray); - count = asort(filearray); - for (i = 1; i <= count; i++) { - active = 0; - active_comment = 0; - comment = ""; - file = filearray[i]; - print add_indent "/* automatically generated from " file " */" CR - while ((getline < file) > 0) { - sub(rm_indent, ""); - - # Remember possible doxygen comment before enum declaration - if ((active == 0) && (match($0, "/\\*\\*") > 0)) { - comment = add_indent $0; - active_comment = 1; - } else if (active_comment == 1) { - comment = comment "\n" add_indent $0; - } - - # Check for enum match - if (match($0, "^ *enum *" enum " *\\{") > 0) { - rm_indent = $0; - gsub("[^ ]*", "", rm_indent); - active = 1; - if (active_comment > 0) print comment; - active_comment = 0; - comment = ""; - } - - # Forget doxygen comment, if no enum follows - if (active_comment == 2 && $0 != "" CR) { - active_comment = 0; - comment = ""; - } - if (active_comment == 1 && match($0, "\\*/") > 0) active_comment = 2; - - if (active != 0) { - if (match($0, "^ *[A-Za-z0-9_]* *[,=]") > 0) { - # Transform enum values - sub(" *=[^,]*", ""); - sub(" *//", " //"); - - match($0, "^( *)([A-Za-z0-9_]+),(.*)", parts); - - if (parts[3] == "" CR) { - printf "%s%s%-45s= ::%s\n", add_indent, parts[1], parts[2], (parts[2] "," CR) - } else { - printf "%s%s%-45s= ::%-45s%s\n", add_indent, parts[1], parts[2], (parts[2] ","), (parts[3]); - } - } else if ($0 == "" CR) { - print "" CR; - } else { - print add_indent $0; - } - } - - if (match($0, "^ *\\};") > 0) { - if (active != 0) print "" CR; - active = 0; - } - } - close(file); - } - - skiptillend = 1; - next; -} - -/@endenum/ { - print; - skiptillend = 0; - next; -} - -{ - if (skiptillend == 0) print; -} -- cgit v1.2.3-70-g09d2