include(FindPerl) if(NOT PERL_EXECUTABLE) message(FATAL_ERROR "Perl is required to autogenerate sbcsdat.c") endif() set(GENERATED_SBCSDAT_C ${GENERATED_SOURCES_DIR}/sbcsdat.c) add_custom_command(OUTPUT ${GENERATED_SBCSDAT_C}.tmp COMMAND ${PERL_EXECUTABLE} ${CMAKE_SOURCE_DIR}/charset/sbcsgen.pl -o ${GENERATED_SBCSDAT_C}.tmp DEPENDS ${CMAKE_SOURCE_DIR}/charset/sbcsgen.pl ${CMAKE_SOURCE_DIR}/charset/sbcs.dat) add_custom_target(generated_sbcsdat_c BYPRODUCTS ${GENERATED_SBCSDAT_C} COMMAND ${CMAKE_COMMAND} -E copy_if_different ${GENERATED_SBCSDAT_C}.tmp ${GENERATED_SBCSDAT_C} DEPENDS ${GENERATED_SBCSDAT_C}.tmp COMMENT "Updating sbcsdat.c") add_library(charset STATIC fromucs.c localenc.c macenc.c mimeenc.c sbcs.c ${GENERATED_SBCSDAT_C} slookup.c toucs.c utf8.c xenc.c) add_dependencies(charset generated_sbcsdat_c)