mirror of
https://github.com/OpenTTD/OpenTTD
synced 2026-02-03 09:30:10 +01:00
Codefix: script_window.hpp contains invalid links in docs.
This commit is contained in:
@@ -25,6 +25,13 @@ endif()
|
||||
|
||||
file(STRINGS ${GENERATE_SOURCE_FILE} ENUM_LINES REGEX "@enum")
|
||||
|
||||
function(remove_invalid_links VARIABLE)
|
||||
string(REGEX REPLACE "#([A-Za-z0-9_]*Widgets)" "@hash \\1" VARIABLE "${VARIABLE}")
|
||||
string(REPLACE "#" "" VARIABLE "${VARIABLE}")
|
||||
string(REPLACE "@hash " "#" VARIABLE "${VARIABLE}")
|
||||
set(NO_INVALID_LINKS ${VARIABLE} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
foreach(ENUM IN LISTS ENUM_LINES)
|
||||
string(REGEX REPLACE "^( )// @enum ([^ ]+) ([^ ]+)@([^ ]+)@" "\\4" PLACE_HOLDER "${ENUM}")
|
||||
set(ADD_INDENT "${CMAKE_MATCH_1}")
|
||||
@@ -49,10 +56,12 @@ foreach(ENUM IN LISTS ENUM_LINES)
|
||||
|
||||
# Remember possible doxygen comment before enum declaration
|
||||
if((NOT ACTIVE) AND "${LINE}" MATCHES "/\\*\\*")
|
||||
set(COMMENT "${ADD_INDENT}${LINE}")
|
||||
remove_invalid_links("${LINE}")
|
||||
set(COMMENT "${ADD_INDENT}${NO_INVALID_LINKS}")
|
||||
set(ACTIVE_COMMENT 1)
|
||||
elseif(ACTIVE_COMMENT EQUAL 1)
|
||||
string(APPEND COMMENT "\n${ADD_INDENT}${LINE}")
|
||||
remove_invalid_links("${LINE}")
|
||||
string(APPEND COMMENT "\n${ADD_INDENT}${NO_INVALID_LINKS}")
|
||||
endif()
|
||||
|
||||
# Check for enum match
|
||||
@@ -100,23 +109,23 @@ foreach(ENUM IN LISTS ENUM_LINES)
|
||||
endforeach()
|
||||
|
||||
if(CMAKE_MATCH_3)
|
||||
string(APPEND ${PLACE_HOLDER} "\n${ADD_INDENT}${CMAKE_MATCH_1}${CMAKE_MATCH_2}${SPACES} = ::${CMAKE_MATCH_2},${SPACES}${CMAKE_MATCH_3}")
|
||||
# CMAKE_MATCH_3 contains inline comment.
|
||||
remove_invalid_links("${CMAKE_MATCH_3}")
|
||||
string(APPEND ${PLACE_HOLDER} "\n${ADD_INDENT}${CMAKE_MATCH_1}${CMAKE_MATCH_2}${SPACES} = ::${CMAKE_MATCH_2},${SPACES}${NO_INVALID_LINKS}")
|
||||
else()
|
||||
string(APPEND ${PLACE_HOLDER} "\n${ADD_INDENT}${CMAKE_MATCH_1}${CMAKE_MATCH_2}${SPACES} = ::${CMAKE_MATCH_2},")
|
||||
endif()
|
||||
elseif("${LINE}" STREQUAL "")
|
||||
string(APPEND ${PLACE_HOLDER} "\n")
|
||||
elseif("${LINE}" MATCHES "^ *\};")
|
||||
string(APPEND ${PLACE_HOLDER} "\n${ADD_INDENT}${LINE}\n")
|
||||
unset(ACTIVE)
|
||||
else()
|
||||
string(APPEND ${PLACE_HOLDER} "\n${ADD_INDENT}${LINE}")
|
||||
# Line is not an enum member, so it might be a comment.
|
||||
remove_invalid_links("${LINE}")
|
||||
string(APPEND ${PLACE_HOLDER} "\n${ADD_INDENT}${NO_INVALID_LINKS}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if("${LINE}" MATCHES "^ *\};")
|
||||
if(ACTIVE)
|
||||
string(APPEND ${PLACE_HOLDER} "\n")
|
||||
endif()
|
||||
unset(ACTIVE)
|
||||
endif()
|
||||
endforeach()
|
||||
endforeach()
|
||||
endforeach()
|
||||
|
||||
Reference in New Issue
Block a user