For the Cake
Preheat oven to 350 degrees F. Grease three 8 x 8 inch round cake pans; set aside. Alternatively, you may use an 8 x 8 inch round cake pan and bake three separate layers.
In a large bowl, whisk together all-purpose flour, baking powder, baking soda, salt, cinnamon, nutmeg, and ginger; set aside.
In a bowl fit with a mixer, beat butter, granulated sugar and brown sugar; about 4 minutes.
Slowly mix in half the oil then beat; 3 minutes. Beat in the remaining oil.
With the mixer on low speed, beat in eggs, one at a time until fully combined. Beat in pumpkin puree.
Slowly beat dry ingredients into wet ingredients, alternating between dry ingredients and milk. End with dry ingredients then beat just until mixed.
Evenly divide pumpkin batter between three prepared cake pans or bake one at a time. Bake for 30-40 minutes or until center of cake is set. Cake is done if the toothpick inserted in the center comes out clean.
Allow cake to cool then remove from cake pan(s) and place on cooling rack. Cake should be completely cooled before frosting crumb coat.
To Make the Frosting
Beat cream cheese and butter in a large bowl.
Slowly beat in powdered confectioner's sugar.
Heat flour in microwave for 30 seconds then beat in flour.
Beat in caramel extract, vanilla extract and salt.
Refrigerate, about 1 hour.
To Assemble and Frost Cake
Place cake on cake stand. Place first layer on bottom. Add frosting to first layer then evenly spread. Place second layer on top. Repeat with frosting. Place third layer on top. Coat with frosting, working down the sides of the cake until coated. Place cake and remaining frosting in refrigerator until frosting hardens and cools. Work the second coat of frosting over cake top and sides. Use an offset spatula dipped in hot water to smooth frosting top of cake. Carefully add chopped pecans to side of cake. Place pecans in hand then pat onto sides. Refrigerate until ready to serve.