23 lines
581 B
CMake
23 lines
581 B
CMake
if(NOT DEFINED INPUT)
|
|
message(FATAL_ERROR "INPUT is required")
|
|
endif()
|
|
|
|
if(NOT DEFINED OUTPUT)
|
|
message(FATAL_ERROR "OUTPUT is required")
|
|
endif()
|
|
|
|
file(STRINGS "${INPUT}" OFFSET_LINES REGEX "->")
|
|
|
|
set(OFFSET_CONTENT "/* Generated by GenerateAsmOffsets.cmake. */\n")
|
|
|
|
foreach(LINE IN LISTS OFFSET_LINES)
|
|
string(REGEX MATCH "-->([A-Za-z0-9_]+)[^0-9-]*(-?[0-9]+)" _ "${LINE}")
|
|
if(NOT CMAKE_MATCH_1)
|
|
continue()
|
|
endif()
|
|
|
|
string(APPEND OFFSET_CONTENT "#define ${CMAKE_MATCH_1} ${CMAKE_MATCH_2}\n")
|
|
endforeach()
|
|
|
|
file(WRITE "${OUTPUT}" "${OFFSET_CONTENT}")
|