function(watch variable access value) message("${variable} ${access} ${value}") endfunction () # -------------- variable_watch(var watch) set(var "a") function(f) set(var "b" PARENT_SCOPE) endfunction(f) f()