diff --git a/cmake/module/GenerateHeaders.cmake b/cmake/module/GenerateHeaders.cmake index c69007acb6849..53b211f245c81 100644 --- a/cmake/module/GenerateHeaders.cmake +++ b/cmake/module/GenerateHeaders.cmake @@ -2,12 +2,19 @@ # Distributed under the MIT software license, see the accompanying # file COPYING or https://opensource.org/license/mit/. +if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.27) + set(DEPENDS_EXPLICIT_OPT DEPENDS_EXPLICIT_ONLY) +else() + set(DEPENDS_EXPLICIT_OPT) +endif() + function(generate_header_from_json json_source_relpath) add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${json_source_relpath}.h COMMAND ${CMAKE_COMMAND} -DJSON_SOURCE_PATH=${CMAKE_CURRENT_SOURCE_DIR}/${json_source_relpath} -DHEADER_PATH=${CMAKE_CURRENT_BINARY_DIR}/${json_source_relpath}.h -P ${PROJECT_SOURCE_DIR}/cmake/script/GenerateHeaderFromJson.cmake DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${json_source_relpath} ${PROJECT_SOURCE_DIR}/cmake/script/GenerateHeaderFromJson.cmake VERBATIM + ${DEPENDS_EXPLICIT_OPT} ) endfunction() @@ -17,5 +24,6 @@ function(generate_header_from_raw raw_source_relpath raw_namespace) COMMAND ${CMAKE_COMMAND} -DRAW_SOURCE_PATH=${CMAKE_CURRENT_SOURCE_DIR}/${raw_source_relpath} -DHEADER_PATH=${CMAKE_CURRENT_BINARY_DIR}/${raw_source_relpath}.h -DRAW_NAMESPACE=${raw_namespace} -P ${PROJECT_SOURCE_DIR}/cmake/script/GenerateHeaderFromRaw.cmake DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${raw_source_relpath} ${PROJECT_SOURCE_DIR}/cmake/script/GenerateHeaderFromRaw.cmake VERBATIM + ${DEPENDS_EXPLICIT_OPT} ) endfunction()