решение найдено, если кому пригодится то привожу пример ниже.
set_property(GLOBAL PROPERTY HEADERS_PROPERTY) # with props
function(add_headers_props)
message(STATUS "Adding headers with property ${ARGV}")
get_property(HEADERS GLOBAL PROPERTY HEADERS_PROPERTY)
set_property(GLOBAL PROPERTY HEADERS_PROPERTY ${HEADERS} ${ARGV})
endfunction()
get_property(HEADERS_PROPERTY GLOBAL PROPERTY HEADERS_PROPERTY)
Суть такая, с начала обьявляется глобальная переменная, потом черег гетер и сетер мы работаем с получением и наполнением.
Надеюсь кому то тоже может помочь.