Wrapper hierarchy file

@dgobbi Thanks for your help! It works :slight_smile:

There is one question left. You are using the args-files in your custom_command. Can you say why? The content is just a list of -I"…" entries.

My code btw:

if(${VTK_MAJOR_VERSION} GREATER 7)
    set(MODULE_HIERARCHY_NAME ${PROJECT_NAME}Hierarchy)
    set(${PROJECT_NAME}_WRAP_DEPENDS vtkCommonExecutionModel)

    set(${PROJECT_NAME}_LINK_DEPENDS vtkCommonExecutionModel)

    include(vtkWrapHierarchy)
    vtk_wrap_hierarchy(${PROJECT_NAME} ${CMAKE_CURRENT_BINARY_DIR} vtkPolyDataBooleanFilter.h)
    set(KIT_HIERARCHY_FILE ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_HIERARCHY_NAME}.txt)
    set(LIB_HIERARCHY_STAMP ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_HIERARCHY_NAME}.stamp.txt)

    if(${VTK_VERSION} VERSION_EQUAL "8.1")
        configure_file(
            ${VTK_CMAKE_DIR}/vtkWrapperInit.data.in
            ${MODULE_HIERARCHY_NAME}.data
            @ONLY
        )

        set(OTHER_HIERARCHY_FILES)

        foreach(dep ${${PROJECT_NAME}_LINK_DEPENDS})
            list(APPEND OTHER_HIERARCHY_FILES "${${dep}_WRAP_HIERARCHY_FILE}")
        endforeach()

        add_custom_command(OUTPUT ${KIT_HIERARCHY_FILE}
                ${LIB_HIERARCHY_STAMP}
            COMMAND ${VTK_WRAP_HIERARCHY_EXE} -o ${KIT_HIERARCHY_FILE}
                    ${MODULE_HIERARCHY_NAME}.data ${OTHER_HIERARCHY_FILES}
            COMMAND ${CMAKE_COMMAND} -E touch ${LIB_HIERARCHY_STAMP}
            DEPENDS ${VTK_WRAP_HIERARCHY_EXE}
                ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_HIERARCHY_NAME}.data
                ${OTHER_HIERARCHY_FILES}
            VERBATIM)
    endif()

endif()