Linking Bullet Physics with Unreal Engine 4

This is the Build.cs


using System.IO;
using System;
using UnrealBuildTool;

public class Bullet : ModuleRules
{

    public Bullet(ReadOnlyTargetRules Target) : base(Target)
    {
        // Bullet macro
        Definitions.Add("BT_THREADSAFE=0");
        Definitions.Add("__STDC_WANT_SECURE_LIB__=0");
        Definitions.Add("_APISET_RTLSUPPORT_VER=0");
        Definitions.Add("_APISET_INTERLOCKED_VER=0");
        Definitions.Add("_WIN32_WINNT_WINTHRESHOLD=0");
        Definitions.Add("_APISET_SECURITYBASE_VER=0");
        Definitions.Add("NTDDI_WIN7SP1=0");
        Definitions.Add("BT_USE_PPL=0");
        Definitions.Add("BT_USE_TBB=0");
        Definitions.Add("BT_USE_OPENMP=0");
        Definitions.Add("DEBUG=0");
        Definitions.Add("B3_DBVT_MERGE_IMPL=0");
        Definitions.Add("B3_DBVT_IMPL_SSE=0");
        Definitions.Add("B3_DBVT_BP_SORTPAIRS=0");
        Definitions.Add("DBVT_MERGE_IMPL=0");
        Definitions.Add("DBVT_IMPL_SSE=0");
        Definitions.Add("DBVT_MERGE_IMPL=0");
        Definitions.Add("DBVT_BP_SORTPAIRS=0");
        Definitions.Add("B3_USE_CLEW=1"); // Used to build using clew library

        bEnforceIWYU = false;
        string BulletBaseDir = UEBuildConfiguration.UEThirdPartySourceDirectory + "Bullet/";
        
        string IncludePath = BulletBaseDir + "bullet3/src/";

        PublicIncludePaths.AddRange(new string] {
            IncludePath,
            IncludePath + "Bullet3Collision",
            IncludePath + "Bullet3Common",
            IncludePath + "Bullet3Dynamics",
            IncludePath + "Bullet3Geometry",
            IncludePath + "Bullet3OpenCL",
            IncludePath + "Bullet3Serialize/Bullet2FileLoader",
            IncludePath + "BulletCollision",
            IncludePath + "BulletDynamics",
            IncludePath + "BulletInverseDynamics",
            IncludePath + "BulletSoftBody",
            IncludePath + "clew",
            IncludePath + "LinearMath"
        });
    }
}