For the cake:
3 cups all-purpose flour
3 cups sugar
1 tbsp. baking soda
1 tsp. salt
1 tbsp. ground cinnamon
½ tsp. ground nutmeg
4 large eggs
2 tbsp. vanilla extract
1½ cups canola or vegetable oil
½ cup cream of coconut
1½ cups peeled, shredded carrots
1½ cups diced pineapple (fresh or canned)
1½ cups sweetened flaked coconut
1 cup macadamia nuts, coarsely chopped and lightly toasted
For the frosting:
4 (8 oz.) packages cream cheese, at room temperature
2 cups powdered sugar
5½ tbsp. heavy cream
5½ tbsp. cream of coconut
¾ tsp. salt
To make the cake, preheat the oven to 350˚ F. Line three 9-inch cake pans with parchment paper, and grease and flour the sides, tapping out the excess.
In a large mixing bowl, combine the flour, sugar, baking soda, salt, cinnamon and nutmeg. Whisk together to blend. In another mixing bowl, combine the eggs, vanilla, oil, and cream of coconut. Whisk well to combine. Add the wet ingredients to the bowl with the dry ingredients and stir just until incorporated. Add in the shredded carrots, diced pineapple, flaked coconut and macadamia nuts. Fold in gently with a spatula until evenly incorporated.
Divide the batter evenly between the prepared cake pans. Bake for 30-35 minutes, rotating the cakes 180 degrees and from top to bottom racks (and vice versa) halfway through baking. The cakes are finished baking when golden brown on top and a toothpick inserted in the center comes out clean. Cool the cakes 5-10 minutes in the pans, then turn out onto a wire rack to cool completely.
To make the frosting, in the bowl of a stand mixer fitted with the paddle attachment beat the cream cheese on medium-high speed until smooth. Add in the powdered sugar and mix until incorporated. Beat 1 minute more, until smooth and fluffy. Mix in the heavy cream, cream of coconut and salt until smooth.
To assemble the cake, place one cake layer on a cake stand or platter. Spread a layer of cream cheese frosting over the top. Top with another cake layer, and more frosting on top of that. Place the final cake layer on top. Use the remaining frosting to cover the top and sides of the assembled cake, reserving up to 1 cup for detailing if desired.