The cmake artifact is generated from our libbitcoin-build project which generates from common information currently placed in a file generate.xml. I agree that duplicate declaration is not necessary, however it wasn't harmful and to avoid it would require detecting the redundancy in the generate.xml and excluding it. Given the intent for all such flags to apply to all targets, add_compiler_flag is the proper mode of declaration.