Jag är inte bekant med Pro*C, men det verkar som att du blandar ihop de två olika versionerna av add_custom_command
.
Den första versionen add_custom_command(OUTPUT ...)
används för att generera en fil som sedan läggs till som ett beroende av ett annat CMake-mål. När det målet är byggt, exekveras det anpassade kommandot först för att generera utdatafilen.
Den andra versionen add_custom_command(TARGET ...)
används för att definiera ett pre-build, pre-link eller post-build kommando; en som inte nödvändigtvis skapar en fil, men som körs i samband med att det associerade målet byggs.
Om du bara har ett mål som beror på produktionen av Pro*C, är den första versionen förmodligen din bästa insats:
add_custom_command(OUTPUT ${PROJECT_SOURCE_DIR}/connection.c
COMMAND ${PROC} iname=${PROJECT_SOURCE_DIR}/connection.proc SQLCHECK=SYNTAX
MODE=ANSI IRECLEN=255 ORECLEN=255
ONAME=${PROJECT_SOURCE_DIR}/connection.c)
add_executable(myproj ${PROJECT_SOURCE_DIR}/connection.c <other sources>)