ADD_EXECUTABLE(schemacompiler schemacompiler.c)
FILE(GLOB SCHEMA_FILES CONFIGURE_DEPENDS "*_schema_*.json")

FOREACH(INPUT_FILE ${SCHEMA_FILES})
    CMAKE_PATH(GET INPUT_FILE FILENAME OUTPUT_FILE)
    STRING(APPEND OUTPUT_FILE ".h")
    ADD_CUSTOM_COMMAND(
        OUTPUT ${OUTPUT_FILE}
        DEPENDS schemacompiler ${INPUT_FILE}
        COMMAND schemacompiler ${INPUT_FILE} ${OUTPUT_FILE}
    )
    LIST(APPEND SCHEMA_HEADERS ${OUTPUT_FILE})
ENDFOREACH()

ADD_LIBRARY(carta-schemas INTERFACE ${SCHEMA_HEADERS})
