Directory scoping for set_property(SOURCE ...) or set_source_files_properties

Your assessment of the DIRECTORY keyword to set_property and set_source_files_properties is correct.

The directory-scoped command available is add_compile_options. This command adds compile options to all source files in the current directory and below. This command is syntactic sugar for set_property (DIRECTORY PROPERTY COMPILE_DEFINITIONS <opts...>)