MIDL-компилятор из CMAKE - PullRequest
       70

MIDL-компилятор из CMAKE

0 голосов
/ 14 апреля 2020

Я сделал, как описано здесь

set(MIDL_OUTPUT
    ${CMAKE_CURRENT_BINARY_DIR}/IFace.h
    ${CMAKE_CURRENT_BINARY_DIR}/GUIDS.c
    ${CMAKE_CURRENT_BINARY_DIR}/Proxy.c
    ${CMAKE_CURRENT_BINARY_DIR}/ProxyDll.c
    )
set(MIDL_FILE
    ${CMAKE_CURRENT_LIST_DIR}/BookSku.idl
    )
add_custom_command(
    OUTPUT ${MIDL_OUTPUT}
    COMMAND midl /h IFace.h /iid GUIDS.c /proxy Proxy.c /dlldata ProxyDll.c 
${MIDL_FILE}
    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
    DEPENDS ${MIDL_FILE}
    MAIN_DEPENDENCY ${MIDL_FILE}
    VERBATIM
    )

Вывод из сборки файла IDL зависит от многих заголовков, поэтому необходимо отслеживать, изменились ли они, чтобы определить если он должен перестроить библиотеку типов. Но когда вы меняете файлы и нажимаете «Build», проект в VS2017 не перестраивается. Нужно пу sh "Перестроить". Как сделать, чтобы изменения файла отслеживались?

1 Ответ

0 голосов
/ 16 апреля 2020

Ответ на Cmake.org

ЗАВИСИМОСТЬ: укажите файлы, от которых зависит команда. Каждый аргумент преобразуется в зависимость следующим образом:

...