Oracle
 sql >> Database >  >> RDS >> Oracle

Come compilare file sorgente aggiuntivi in ​​cmake dopo il processo di compilazione

Non ho familiarità con Pro*C, ma sembra che tu stia mescolando le due diverse versioni di add_custom_command .

La prima versione add_custom_command(OUTPUT ...) viene utilizzato per generare un file che viene quindi aggiunto come dipendenza di un'altra destinazione CMake. Quando quella destinazione viene compilata, il comando personalizzato viene prima eseguito per generare il file di output.

La seconda versione add_custom_command(TARGET ...) viene utilizzato per definire un comando di pre-compilazione, pre-collegamento o post-compilazione; uno che non crea necessariamente un file, ma che viene eseguito insieme alla creazione della destinazione associata.

Se hai un solo obiettivo che dipende dall'output di Pro*C, allora la prima versione è probabilmente la soluzione migliore:

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>)