Before CMake 3.19 almost only INTERFACE_ prefixed properties were allowed.
It’s documented in https://cmake.org/cmake/help/v3.18/manual/cmake-buildsystem.7.html#interface-libraries The documentation seems to be removed completely, as there are no more restrictions.
But I don’t think this will really help you.
I think properties like C_EXTENSION only apply on the target where specified and are not inherited from interfaces. Only those documented and starting with INTERFACE_ usually will.