Files
2021-12-15 18:03:30 +01:00

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})