add_target will adjust existing targets, rather than giving up