Policies CMP0027, CMP0038, and CMP0046 have per-target meaning so record the policy settings on targets as they are created.
Added new policy CMP0046 which requires dependencies added by add_dependencies() to actually exist.