2 # Generate .chk from .out with awk (generic), based upon the automake logic.
4 # Copyright (C) 2016 Glenn Randers-Pehrson
5 # Written by Roger Leigh, 2016
7 # This code is released under the libpng license.
8 # For conditions of distribution and use, see the disclaimer
11 # Variables substituted from CMakeLists.txt
12 set(SRCDIR "@CMAKE_CURRENT_SOURCE_DIR@")
13 set(BINDIR "@CMAKE_CURRENT_BINARY_DIR@")
17 get_filename_component(INPUTEXT "${INPUT}" EXT)
18 get_filename_component(OUTPUTEXT "${OUTPUT}" EXT)
19 get_filename_component(INPUTBASE "${INPUT}" NAME_WE)
20 get_filename_component(OUTPUTBASE "${OUTPUT}" NAME_WE)
21 get_filename_component(INPUTDIR "${INPUT}" PATH)
22 get_filename_component(OUTPUTDIR "${OUTPUT}" PATH)
24 if("${INPUTEXT}" STREQUAL ".out" AND "${OUTPUTEXT}" STREQUAL ".chk")
25 # Generate .chk from .out with awk (generic)
26 file(REMOVE "${OUTPUT}" "${OUTPUTDIR}/${OUTPUTBASE}.new")
27 execute_process(COMMAND "${AWK}" -f "${BINDIR}/scripts/checksym.awk"
28 "${SRCDIR}/scripts/${INPUTBASE}.def"
29 "of=${OUTPUTDIR}/${OUTPUTBASE}.new"
31 RESULT_VARIABLE AWK_FAIL)
33 message(FATAL_ERROR "Failed to generate ${OUTPUTDIR}/${OUTPUTBASE}.new")
35 file(RENAME "${OUTPUTDIR}/${OUTPUTBASE}.new" "${OUTPUT}")
37 message(FATAL_ERROR "Unsupported conversion: ${INPUTEXT} to ${OUTPUTEXT}")