You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.4 KiB
37 lines
1.4 KiB
# genchk.cmake.in |
|
# Generate .chk from .out with awk (generic), based upon the automake logic. |
|
|
|
# Copyright (C) 2016 Glenn Randers-Pehrson |
|
# Written by Roger Leigh, 2016 |
|
|
|
# This code is released under the libpng license. |
|
# For conditions of distribution and use, see the disclaimer |
|
# and license in png.h |
|
|
|
# Variables substituted from CMakeLists.txt |
|
set(SRCDIR "@CMAKE_CURRENT_SOURCE_DIR@") |
|
|
|
set(AWK "@AWK@") |
|
|
|
get_filename_component(INPUTEXT "${INPUT}" EXT) |
|
get_filename_component(OUTPUTEXT "${OUTPUT}" EXT) |
|
get_filename_component(INPUTBASE "${INPUT}" NAME_WE) |
|
get_filename_component(OUTPUTBASE "${OUTPUT}" NAME_WE) |
|
get_filename_component(INPUTDIR "${INPUT}" PATH) |
|
get_filename_component(OUTPUTDIR "${OUTPUT}" PATH) |
|
|
|
if("${INPUTEXT}" STREQUAL ".out" AND "${OUTPUTEXT}" STREQUAL ".chk") |
|
# Generate .chk from .out with awk (generic) |
|
file(REMOVE "${OUTPUT}" "${OUTPUTDIR}/${OUTPUTBASE}.new") |
|
execute_process(COMMAND "${AWK}" -f "${SRCDIR}/scripts/checksym.awk" |
|
"${SRCDIR}/scripts/${INPUTBASE}.def" |
|
"of=${OUTPUTDIR}/${OUTPUTBASE}.new" |
|
"${INPUT}" |
|
RESULT_VARIABLE AWK_FAIL) |
|
if(AWK_FAIL) |
|
message(FATAL_ERROR "Failed to generate ${OUTPUTDIR}/${OUTPUTBASE}.new") |
|
endif() |
|
file(RENAME "${OUTPUTDIR}/${OUTPUTBASE}.new" "${OUTPUT}") |
|
else() |
|
message(FATAL_ERROR "Unsupported conversion: ${INPUTEXT} to ${OUTPUTEXT}") |
|
endif()
|
|
|