21 lines
698 B
CMake
21 lines
698 B
CMake
if(NOT DEFINED INPUT)
|
|
message(FATAL_ERROR "write_json_header.cmake: INPUT not defined")
|
|
endif()
|
|
if(NOT DEFINED OUTPUT)
|
|
message(FATAL_ERROR "write_json_header.cmake: OUTPUT not defined")
|
|
endif()
|
|
|
|
find_package(Python3 COMPONENTS Interpreter REQUIRED)
|
|
|
|
execute_process(
|
|
COMMAND ${Python3_EXECUTABLE} -c "import json,sys;print(json.dumps(json.load(open(sys.argv[1])),separators=(', ',':')) )" ${INPUT}
|
|
OUTPUT_VARIABLE MINIFIED_JSON
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
)
|
|
|
|
if(NOT MINIFIED_JSON)
|
|
message(FATAL_ERROR "write_json_header.cmake: failed to minify ${INPUT}")
|
|
endif()
|
|
|
|
file(WRITE ${OUTPUT} "#pragma once\nstatic const char MTR_LINE_STATION_JSON[] = R\"json(${MINIFIED_JSON})json\";\n")
|