mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
32 lines
1014 B
CMake
32 lines
1014 B
CMake
#
|
|
# This file is distributed under the MIT License. See LICENSE.md for details.
|
|
#
|
|
|
|
# Code generation requirements
|
|
|
|
|
|
# Generate headers for ABI analyses
|
|
set(ABIANALYSIS_TEMPLATE
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/ABIAnalysis.template")
|
|
|
|
set(ABIANALYSIS_GRAPHS
|
|
"DeadRegisterArgumentsOfFunction"
|
|
"DeadReturnValuesOfFunctionCall"
|
|
"RegisterArgumentsOfFunctionCall"
|
|
"UsedArgumentsOfFunction"
|
|
"UsedReturnValuesOfFunctionCall"
|
|
"UsedReturnValuesOfFunction")
|
|
|
|
foreach(GRAPH IN LISTS ABIANALYSIS_GRAPHS)
|
|
add_custom_command(OUTPUT "${GRAPH}.h"
|
|
COMMAND "${CMAKE_SOURCE_DIR}/scripts/monotone_framework_lattice.py"
|
|
${ABIANALYSIS_TEMPLATE} "${CMAKE_CURRENT_SOURCE_DIR}/${GRAPH}.dot" > "${GRAPH}.h"
|
|
DEPENDS "${CMAKE_SOURCE_DIR}/scripts/monotone_framework_lattice.py"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/${GRAPH}.dot"
|
|
${ABIANALYSIS_TEMPLATE}
|
|
VERBATIM)
|
|
list(APPEND ABIANALYSIS_HEADERS "${GRAPH}.h")
|
|
endforeach()
|
|
|
|
add_custom_target(abi-analyses-headers DEPENDS ${ABIANALYSIS_HEADERS})
|