diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt index a9255ae00..d64b7429f 100644 --- a/library/CMakeLists.txt +++ b/library/CMakeLists.txt @@ -264,10 +264,14 @@ FILE(GLOB GENERATE_INPUT_SCRIPTS ${dfapi_SOURCE_DIR}/xml/*.pm ${dfapi_SOURCE_DIR FILE(GLOB GENERATE_INPUT_XMLS ${dfapi_SOURCE_DIR}/xml/df.*.xml) set(CODEGEN_OUT ${dfapi_SOURCE_DIR}/include/df/codegen.out.xml) -LIST(APPEND CODEGEN_OUT ${GENERATED_HDRS}) +IF(NOT("${CMAKE_GENERATOR}" STREQUAL Ninja)) + # use BYPRODUCTS instead under Ninja to avoid rebuilds + LIST(APPEND CODEGEN_OUT ${GENERATED_HDRS}) +ENDIF() ADD_CUSTOM_COMMAND( OUTPUT ${CODEGEN_OUT} + BYPRODUCTS ${GENERATED_HDRS} COMMAND ${PERL_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/xml/codegen.pl ${CMAKE_CURRENT_SOURCE_DIR}/xml ${CMAKE_CURRENT_SOURCE_DIR}/include/df