mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
29 lines
1014 B
CMake
29 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})
|