function(set_dope_vector_source_files_properties)
    get_target_property(files DopeVector INTERFACE_SOURCES)
    foreach(file IN LISTS files)
        if (file MATCHES "[.]*.inl")
            set_source_files_properties(${file} PROPERTIES XCODE_EXPLICIT_FILE_TYPE "sourcecode.cpp.h")
        endif()
        get_filename_component(file_path_dir ${file} DIRECTORY)
        if (file_path_dir MATCHES "[.]*[/\\]DopeVector[/\\]internal[/\\]inlines")
            source_group("DopeVector\\internal\\inlines" FILES ${file})
        elseif(file_path_dir MATCHES "[.]*[/\\]DopeVector[/\\]internal")
            source_group("DopeVector\\internal" FILES ${file})
        elseif(file_path_dir MATCHES "[.]*[/\\]DopeVector")
            source_group("DopeVector" FILES ${file})
        endif()
    endforeach()
endfunction(set_dope_vector_source_files_properties)
