Donald Trump says he will sign an executive order imposing a 25% tariff on all products entering the United States from Canada and Mexico.