It's allowed, but it will have the value of target_name from the context of the CMake configure process. (i.e. ${target_name} is evaluated at configure time, and then the evaluated result is what's used at generate time within the generator expression.) HTH, David C.