The Calgary Flames signed defenseman MacKenzie Weegar to an eight-year contract extension worth $50 million, a $6.25 million salary cap hit.