Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como compilar arquivos de origem adicionais no cmake após o processo de compilação


Não estou familiarizado com o Pro*C, mas parece que você está misturando as duas versões diferentes de add_custom_command .

A primeira versão add_custom_command(OUTPUT ...) é usado para gerar um arquivo que é adicionado como uma dependência de outro destino CMake. Quando esse destino é construído, o comando customizado é executado primeiro para gerar o arquivo de saída.

A segunda versão add_custom_command(TARGET ...) é usado para definir um comando de pré-compilação, pré-link ou pós-compilação; um que não cria necessariamente um arquivo, mas que é executado em conjunto com a construção do destino associado.

Se você tem apenas um alvo que depende da saída do Pro*C, então a primeira versão é provavelmente sua melhor aposta:
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>)