Preheat the oven to 275 degrees F (135 degrees C). Stir mustard and liquid smoke together in a small bowl. Rub mustard mixture evenly over ham and sprinkle barbecue rub all over. Place ham in a large disposable pan or large deep pan lined with foil; pour cola into pan and cover with foil.
Bake in the preheated oven for 2 hours.
Remove pan from oven. Increase oven temperature to 300 degrees F (150 degrees C). Stir barbecue sauce and apricot preserves together in a bowl; pour mixture over ham and spread evenly. Cover with foil.
Bake until a meat thermometer or instant-read thermometer inserted into the center of ham reads 205 degrees F (96 degrees C), 5 to 6 hours. Let stand until ham is cool enough to handle, 10 to 15 minutes. Shred ham with 2 forks and toss with pan drippings.
