add_custom_command не может создать целевой файл - PullRequest
0 голосов
/ 13 марта 2019

Я пытаюсь сгенерировать заголовки из схемы flatbuffer.Итак, у меня есть эта функция:

function(compile_flatbuffers_schema_to_cpp SRC_FBS)
  find_program(FLATBUFFERS_FLATC_EXECUTABLE NAMES flatc)
  get_filename_component(SRC_FBS_DIR ${SRC_FBS} PATH)
  string(REGEX REPLACE "\\.fbs$" "_generated.h" GEN_HEADER ${SRC_FBS})
  message(STATUS "filepath ${CMAKE_CURRENT_SOURCE_DIR}/${SRC_FBS}")
  message(STATUS "output dir is ${SRC_FBS_DIR}")
  add_custom_command(
    OUTPUT ${GEN_HEADER}
    COMMAND "${FLATBUFFERS_FLATC_EXECUTABLE}" -c --no-includes --gen-mutable
            --gen-object-api --gen-compare
            --reflect-names
            "${CMAKE_CURRENT_SOURCE_DIR}/${SRC_FBS}"
    DEPENDS flatc
    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
endfunction()

, и я вызываю ее из моего cmake compile_flatbuffers_schema_to_cpp(dir_name/temp.fbs)

Но я нигде не вижу temp_generate.h.Файл temp.fbs существует по этому пути, а файл cmake находится в том же каталоге, что и dir_name.

...