Ejemplo n.º 1
0
 public override void ModifyNewlyLoadedModule(UEBuildModule InModule, TargetInfo Target)
 {
     if ((Target.Platform == UnrealTargetPlatform.UWP))
     {
         if (InModule.ToString() == "Core")
         {
             InModule.AddPrivateDependencyModule("UWPSDK");
         }
         else if (InModule.ToString() == "Engine")
         {
             InModule.AddPrivateDependencyModule("zlib");
             InModule.AddPrivateDependencyModule("UElibPNG");
             InModule.AddPublicDependencyModule("UEOgg");
             InModule.AddPublicDependencyModule("Vorbis");
         }
         else if (InModule.ToString() == "D3D11RHI")
         {
             InModule.AddPublicDefinition("D3D11_WITH_DWMAPI=0");
             InModule.AddPublicDefinition("WITH_DX_PERF=0");
         }
         else if (InModule.ToString() == "DX11")
         {
             // Clear out all the Windows include paths and libraries...
             // The UWPSDK module handles proper paths and libs for UWP.
             // However, the D3D11RHI module will include the DX11 module.
             InModule.ClearPublicIncludePaths();
             InModule.ClearPublicLibraryPaths();
             InModule.ClearPublicAdditionalLibraries();
             InModule.RemovePublicDefinition("WITH_D3DX_LIBS=1");
             InModule.AddPublicDefinition("WITH_D3DX_LIBS=0");
             InModule.RemovePublicAdditionalLibrary("X3DAudio.lib");
             InModule.RemovePublicAdditionalLibrary("XAPOFX.lib");
         }
         else if (InModule.ToString() == "XAudio2")
         {
             InModule.AddPublicDefinition("XAUDIO_SUPPORTS_XMA2WAVEFORMATEX=0");
             InModule.AddPublicDefinition("XAUDIO_SUPPORTS_DEVICE_DETAILS=0");
             InModule.AddPublicDefinition("XAUDIO2_SUPPORTS_MUSIC=0");
             InModule.AddPublicDefinition("XAUDIO2_SUPPORTS_SENDLIST=0");
             InModule.AddPublicAdditionalLibrary("XAudio2.lib");
         }
         else if (InModule.ToString() == "DX11Audio")
         {
             InModule.RemovePublicAdditionalLibrary("X3DAudio.lib");
             InModule.RemovePublicAdditionalLibrary("XAPOFX.lib");
         }
     }
 }
Ejemplo n.º 2
0
        /**
         *	Modify the newly created module passed in for this platform.
         *	This is not required - but allows for hiding details of a
         *	particular platform.
         *
         *	@param	InModule		The newly loaded module
         *	@param	Target			The target being build
         */
        public override void ModifyNewlyLoadedModule(UEBuildModule InModule, TargetInfo Target)
        {
            if ((Target.Platform == UnrealTargetPlatform.WinRT) ||
                (Target.Platform == UnrealTargetPlatform.WinRT_ARM))
            {
                if (InModule.ToString() == "Core")
                {
                    InModule.AddPublicIncludePath("Runtime/Core/Public/WinRT");
                    InModule.AddPublicDependencyModule("zlib");
                }
                else if (InModule.ToString() == "Engine")
                {
                    InModule.AddPrivateDependencyModule("zlib");
                    InModule.AddPrivateDependencyModule("UElibPNG");
                    InModule.AddPublicDependencyModule("UEOgg");
                    InModule.AddPublicDependencyModule("Vorbis");
                }
                else if (InModule.ToString() == "Launch")
                {
                }
                else if (InModule.ToString() == "D3D11RHI")
                {
                    InModule.AddPublicDefinition("D3D11_CUSTOM_VIEWPORT_CONSTRUCTOR=1");
                    // To enable platform specific D3D11 RHI Types
                    InModule.AddPrivateIncludePath("Runtime/Windows/D3D11RHI/Private/WinRT");
                    // Hack to enable AllowWindowsPlatformTypes.h/HideWindowsPlatformTypes.h
                    InModule.AddPublicIncludePath("Runtime/Core/Public/Windows");
                }
                else if (InModule.ToString() == "Sockets")
                {
                    // Hack to enable AllowWindowsPlatformTypes.h/HideWindowsPlatformTypes.h
                    InModule.AddPublicIncludePath("Runtime/Core/Public/Windows");
                }
                else if (InModule.ToString() == "PhysX")
                {
                    string PhysXDir = UEBuildConfiguration.UEThirdPartySourceDirectory + "PhysX/PhysX-3.3/";

                    InModule.AddPublicIncludePath("include/foundation/WinRT");
                    if (Target.Platform == UnrealTargetPlatform.WinRT)
                    {
                        InModule.AddPublicLibraryPath(PhysXDir + "Lib/WinRT");
                    }
                    else
                    {
                        InModule.AddPublicLibraryPath(PhysXDir + "Lib/WinRT/ARM");
                    }

                    if (Target.Configuration == UnrealTargetConfiguration.Debug)
                    {
                        InModule.AddPublicAdditionalLibrary("PhysX3DEBUG.lib");
                        InModule.AddPublicAdditionalLibrary("PhysX3ExtensionsDEBUG.lib");
                        InModule.AddPublicAdditionalLibrary("PhysX3CookingDEBUG.lib");
                        InModule.AddPublicAdditionalLibrary("PhysX3CommonDEBUG.lib");
                        InModule.AddPublicAdditionalLibrary("PhysX3VehicleDEBUG.lib");
                        InModule.AddPublicAdditionalLibrary("PxTaskDEBUG.lib");
                        InModule.AddPublicAdditionalLibrary("PhysXVisualDebuggerSDKDEBUG.lib");
                        InModule.AddPublicAdditionalLibrary("PhysXProfileSDKDEBUG.lib");
                    }
                    else if (Target.Configuration == UnrealTargetConfiguration.Development)
                    {
                        InModule.AddPublicAdditionalLibrary("PhysX3PROFILE.lib");
                        InModule.AddPublicAdditionalLibrary("PhysX3ExtensionsPROFILE.lib");
                        InModule.AddPublicAdditionalLibrary("PhysX3CookingPROFILE.lib");
                        InModule.AddPublicAdditionalLibrary("PhysX3CommonPROFILE.lib");
                        InModule.AddPublicAdditionalLibrary("PhysX3VehiclePROFILE.lib");
                        InModule.AddPublicAdditionalLibrary("PxTaskPROFILE.lib");
                        InModule.AddPublicAdditionalLibrary("PhysXVisualDebuggerSDKPROFILE.lib");
                        InModule.AddPublicAdditionalLibrary("PhysXProfileSDKPROFILE.lib");
                    }
                    else // Test or Shipping
                    {
                        InModule.AddPublicAdditionalLibrary("PhysX3.lib");
                        InModule.AddPublicAdditionalLibrary("PhysX3Extensions.lib");
                        InModule.AddPublicAdditionalLibrary("PhysX3Cooking.lib");
                        InModule.AddPublicAdditionalLibrary("PhysX3Common.lib");
                        InModule.AddPublicAdditionalLibrary("PhysX3Vehicle.lib");
                        InModule.AddPublicAdditionalLibrary("PxTask.lib");
                        InModule.AddPublicAdditionalLibrary("PhysXVisualDebuggerSDK.lib");
                        InModule.AddPublicAdditionalLibrary("PhysXProfileSDK.lib");
                    }
                }
                else if (InModule.ToString() == "APEX")
                {
                    InModule.RemovePublicDefinition("APEX_STATICALLY_LINKED=0");
                    InModule.AddPublicDefinition("APEX_STATICALLY_LINKED=1");

                    string APEXDir = UEBuildConfiguration.UEThirdPartySourceDirectory + "PhysX/APEX-1.3/";
                    if (Target.Platform == UnrealTargetPlatform.WinRT)
                    {
                        InModule.AddPublicLibraryPath(APEXDir + "lib/WinRT");
                    }
                    else
                    {
                        InModule.AddPublicLibraryPath(APEXDir + "lib/WinRT/ARM");
                    }

                    if (Target.Configuration == UnrealTargetConfiguration.Debug)
                    {
                        InModule.AddPublicAdditionalLibrary("ApexCommonDEBUG.lib");
                        InModule.AddPublicAdditionalLibrary("ApexFrameworkDEBUG.lib");
                        InModule.AddPublicAdditionalLibrary("ApexSharedDEBUG.lib");
                        InModule.AddPublicAdditionalLibrary("APEX_DestructibleDEBUG.lib");
                    }
                    else if (Target.Configuration == UnrealTargetConfiguration.Development)
                    {
                        InModule.AddPublicAdditionalLibrary("ApexCommonPROFILE.lib");
                        InModule.AddPublicAdditionalLibrary("ApexFrameworkPROFILE.lib");
                        InModule.AddPublicAdditionalLibrary("ApexSharedPROFILE.lib");
                        InModule.AddPublicAdditionalLibrary("APEX_DestructiblePROFILE.lib");
                    }
                    else // Test or Shipping
                    {
                        InModule.AddPublicAdditionalLibrary("ApexCommon.lib");
                        InModule.AddPublicAdditionalLibrary("ApexFramework.lib");
                        InModule.AddPublicAdditionalLibrary("ApexShared.lib");
                        InModule.AddPublicAdditionalLibrary("APEX_Destructible.lib");
                    }
                }
                else if (InModule.ToString() == "FreeType2")
                {
                    string FreeType2Path = UEBuildConfiguration.UEThirdPartySourceDirectory + "FreeType2/FreeType2-2.4.12/";
                    if (Target.Platform == UnrealTargetPlatform.WinRT)
                    {
                        InModule.AddPublicLibraryPath(FreeType2Path + "Lib/WinRT/Win64");
                    }
                    else
                    {
                        InModule.AddPublicLibraryPath(FreeType2Path + "Lib/WinRT/ARM");
                    }
                    InModule.AddPublicAdditionalLibrary("freetype2412MT.lib");
                }
                else if (InModule.ToString() == "UElibPNG")
                {
                    string libPNGPath = UEBuildConfiguration.UEThirdPartySourceDirectory + "libPNG/libPNG-1.5.2";
                    if (Target.Platform == UnrealTargetPlatform.WinRT)
                    {
                        InModule.AddPublicLibraryPath(libPNGPath + "/lib/WinRT/Win64");
                    }
                    else
                    {
                        InModule.AddPublicLibraryPath(libPNGPath + "/lib/WinRT/ARM");
                    }
                    InModule.AddPublicAdditionalLibrary("libpng125.lib");
                }
                else if (InModule.ToString() == "DX11")
                {
                    // Clear out all the Windows include paths and libraries...
                    // The WinRTSDK module handles proper paths and libs for WinRT.
                    // However, the D3D11RHI module will include the DX11 module.
                    InModule.ClearPublicIncludePaths();
                    InModule.ClearPublicLibraryPaths();
                    InModule.ClearPublicAdditionalLibraries();
                    InModule.RemovePublicDefinition("WITH_D3DX_LIBS=1");
                    InModule.AddPublicDefinition("D3D11_WITH_DWMAPI=0");
                    InModule.AddPublicDefinition("WITH_D3DX_LIBS=0");
                    InModule.AddPublicDefinition("WITH_DX_PERF=0");
                    InModule.RemovePublicAdditionalLibrary("X3DAudio.lib");
                    InModule.RemovePublicAdditionalLibrary("XAPOFX.lib");
                }
                else if (InModule.ToString() == "XInput")
                {
                    InModule.AddPublicAdditionalLibrary("XInput.lib");
                }
                else if (InModule.ToString() == "XAudio2")
                {
                    InModule.AddPublicDefinition("XAUDIO_SUPPORTS_XMA2WAVEFORMATEX=0");
                    InModule.AddPublicDefinition("XAUDIO_SUPPORTS_DEVICE_DETAILS=0");
                    InModule.AddPublicDefinition("XAUDIO2_SUPPORTS_MUSIC=0");
                    InModule.AddPublicDefinition("XAUDIO2_SUPPORTS_SENDLIST=0");
                    InModule.AddPublicAdditionalLibrary("XAudio2.lib");
                    // Hack to enable AllowWindowsPlatformTypes.h/HideWindowsPlatformTypes.h
                    InModule.AddPublicIncludePath("Runtime/Core/Public/Windows");
                }
                else if (InModule.ToString() == "UEOgg")
                {
                    string OggPath = UEBuildConfiguration.UEThirdPartySourceDirectory + "Ogg/libogg-1.2.2/";
                    if (Target.Platform == UnrealTargetPlatform.WinRT)
                    {
                        InModule.AddPublicLibraryPath(OggPath + "WinRT/VS2012/WinRT/x64/Release");
                    }
                    else
                    {
                        InModule.AddPublicLibraryPath(OggPath + "WinRT/VS2012/WinRT/ARM/Release");
                    }
                    InModule.AddPublicAdditionalLibrary("libogg_static.lib");
                }
                else if (InModule.ToString() == "Vorbis")
                {
                    string VorbisPath = UEBuildConfiguration.UEThirdPartySourceDirectory + "Vorbis/libvorbis-1.3.2/";
                    if (Target.Platform == UnrealTargetPlatform.WinRT)
                    {
                        InModule.AddPublicLibraryPath(VorbisPath + "WinRT/VS2012/WinRT/x64/Release");
                    }
                    else
                    {
                        InModule.AddPublicLibraryPath(VorbisPath + "WinRT/VS2012/WinRT/ARM/Release");
                    }
                    InModule.AddPublicAdditionalLibrary("libvorbis_static.lib");
                }
                else if (InModule.ToString() == "VorbisFile")
                {
                    string VorbisPath = UEBuildConfiguration.UEThirdPartySourceDirectory + "Vorbis/libvorbis-1.3.2/";
                    if (Target.Platform == UnrealTargetPlatform.WinRT)
                    {
                        InModule.AddPublicLibraryPath(VorbisPath + "WinRT/VS2012/WinRT/x64/Release");
                    }
                    else
                    {
                        InModule.AddPublicLibraryPath(VorbisPath + "WinRT/VS2012/WinRT/ARM/Release");
                    }
                    InModule.AddPublicAdditionalLibrary("libvorbisfile_static.lib");
                }
                else if (InModule.ToString() == "DX11Audio")
                {
                    InModule.RemovePublicAdditionalLibrary("X3DAudio.lib");
                    InModule.RemovePublicAdditionalLibrary("XAPOFX.lib");
                }
                else if (InModule.ToString() == "zlib")
                {
                    if (Target.Platform == UnrealTargetPlatform.WinRT)
                    {
                        InModule.AddPublicLibraryPath(UEBuildConfiguration.UEThirdPartySourceDirectory + "zlib/zlib-1.2.5/Lib/WinRT/Win64");
                    }
                    else
                    {
                        InModule.AddPublicLibraryPath(UEBuildConfiguration.UEThirdPartySourceDirectory + "zlib/zlib-1.2.5/Lib/WinRT/ARM");
                    }
                    InModule.AddPublicAdditionalLibrary("zlib125.lib");
                }
            }
            else if ((Target.Platform == UnrealTargetPlatform.Win32) || (Target.Platform == UnrealTargetPlatform.Win64))
            {
//              bool bBuildShaderFormats = UEBuildConfiguration.bForceBuildShaderFormats;
//              if (!UEBuildConfiguration.bBuildRequiresCookedData)
//              {
//                  if (InModule.ToString() == "Engine")
//                  {
//                      if (UEBuildConfiguration.bBuildDeveloperTools)
//                      {
                //                          InModule.AddPlatformSpecificDynamicallyLoadedModule("WinRTTargetPlatform");
//                      }
//                  }
//                  else if (InModule.ToString() == "TargetPlatform")
//                  {
//                      bBuildShaderFormats = true;
//                  }
//              }

//              // allow standalone tools to use targetplatform modules, without needing Engine
//              if (UEBuildConfiguration.bForceBuildTargetPlatforms)
//              {
                //                  InModule.AddPlatformSpecificDynamicallyLoadedModule("WinRTTargetPlatform");
//              }

//              if (bBuildShaderFormats)
//              {
                //                  InModule.AddPlatformSpecificDynamicallyLoadedModule("ShaderFormatWinRT");
//              }
            }
        }
Ejemplo n.º 3
0
        /**
         *	Modify the newly created module passed in for this platform.
         *	This is not required - but allows for hiding details of a
         *	particular platform.
         *
         *	@param	InModule		The newly loaded module
         *	@param	Target			The target being build
         */
        public override void ModifyNewlyLoadedModule(UEBuildModule InModule, TargetInfo Target)
        {
            if ((Target.Platform == UnrealTargetPlatform.WinRT) ||
                (Target.Platform == UnrealTargetPlatform.WinRT_ARM))
            {
                if (InModule.ToString() == "Core")
                {
                    InModule.AddPublicIncludePath("Runtime/Core/Public/WinRT");
                    InModule.AddPublicDependencyModule("zlib");
                }
                else if (InModule.ToString() == "Engine")
                {
                    InModule.AddPrivateDependencyModule("zlib");
                    InModule.AddPrivateDependencyModule("UElibPNG");
                    InModule.AddPublicDependencyModule("UEOgg");
                    InModule.AddPublicDependencyModule("Vorbis");
                }
                else if (InModule.ToString() == "Launch")
                {
                }
                else if (InModule.ToString() == "D3D11RHI")
                {
                    InModule.AddPublicDefinition("D3D11_CUSTOM_VIEWPORT_CONSTRUCTOR=1");
                    // To enable platform specific D3D11 RHI Types
                    InModule.AddPrivateIncludePath("Runtime/Windows/D3D11RHI/Private/WinRT");
                    // Hack to enable AllowWindowsPlatformTypes.h/HideWindowsPlatformTypes.h
                    InModule.AddPublicIncludePath("Runtime/Core/Public/Windows");
                }
                else if (InModule.ToString() == "Sockets")
                {
                    // Hack to enable AllowWindowsPlatformTypes.h/HideWindowsPlatformTypes.h
                    InModule.AddPublicIncludePath("Runtime/Core/Public/Windows");
                }
                else if (InModule.ToString() == "PhysX")
                {
                    string PhysXDir = UEBuildConfiguration.UEThirdPartySourceDirectory + "PhysX/PhysX-3.3/";

                    InModule.AddPublicIncludePath("include/foundation/WinRT");
                    if (Target.Platform == UnrealTargetPlatform.WinRT)
                    {
                        InModule.AddPublicLibraryPath(PhysXDir + "Lib/WinRT");
                    }
                    else
                    {
                        InModule.AddPublicLibraryPath(PhysXDir + "Lib/WinRT/ARM");
                    }

                    if (Target.Configuration == UnrealTargetConfiguration.Debug)
                    {
                        InModule.AddPublicAdditionalLibrary("PhysX3DEBUG.lib");
                        InModule.AddPublicAdditionalLibrary("PhysX3ExtensionsDEBUG.lib");
                        InModule.AddPublicAdditionalLibrary("PhysX3CookingDEBUG.lib");
                        InModule.AddPublicAdditionalLibrary("PhysX3CommonDEBUG.lib");
                        InModule.AddPublicAdditionalLibrary("PhysX3VehicleDEBUG.lib");
                        InModule.AddPublicAdditionalLibrary("PxTaskDEBUG.lib");
                        InModule.AddPublicAdditionalLibrary("PhysXVisualDebuggerSDKDEBUG.lib");
                        InModule.AddPublicAdditionalLibrary("PhysXProfileSDKDEBUG.lib");
                    }
                    else if (Target.Configuration == UnrealTargetConfiguration.Development)
                    {
                        InModule.AddPublicAdditionalLibrary("PhysX3PROFILE.lib");
                        InModule.AddPublicAdditionalLibrary("PhysX3ExtensionsPROFILE.lib");
                        InModule.AddPublicAdditionalLibrary("PhysX3CookingPROFILE.lib");
                        InModule.AddPublicAdditionalLibrary("PhysX3CommonPROFILE.lib");
                        InModule.AddPublicAdditionalLibrary("PhysX3VehiclePROFILE.lib");
                        InModule.AddPublicAdditionalLibrary("PxTaskPROFILE.lib");
                        InModule.AddPublicAdditionalLibrary("PhysXVisualDebuggerSDKPROFILE.lib");
                        InModule.AddPublicAdditionalLibrary("PhysXProfileSDKPROFILE.lib");
                    }
                    else // Test or Shipping
                    {
                        InModule.AddPublicAdditionalLibrary("PhysX3.lib");
                        InModule.AddPublicAdditionalLibrary("PhysX3Extensions.lib");
                        InModule.AddPublicAdditionalLibrary("PhysX3Cooking.lib");
                        InModule.AddPublicAdditionalLibrary("PhysX3Common.lib");
                        InModule.AddPublicAdditionalLibrary("PhysX3Vehicle.lib");
                        InModule.AddPublicAdditionalLibrary("PxTask.lib");
                        InModule.AddPublicAdditionalLibrary("PhysXVisualDebuggerSDK.lib");
                        InModule.AddPublicAdditionalLibrary("PhysXProfileSDK.lib");
                    }
                }
                else if (InModule.ToString() == "APEX")
                {
                    InModule.RemovePublicDefinition("APEX_STATICALLY_LINKED=0");
                    InModule.AddPublicDefinition("APEX_STATICALLY_LINKED=1");

                    string APEXDir = UEBuildConfiguration.UEThirdPartySourceDirectory + "PhysX/APEX-1.3/";
                    if (Target.Platform == UnrealTargetPlatform.WinRT)
                    {
                        InModule.AddPublicLibraryPath(APEXDir + "lib/WinRT");
                    }
                    else
                    {
                        InModule.AddPublicLibraryPath(APEXDir + "lib/WinRT/ARM");
                    }

                    if (Target.Configuration == UnrealTargetConfiguration.Debug)
                    {
                        InModule.AddPublicAdditionalLibrary("ApexCommonDEBUG.lib");
                        InModule.AddPublicAdditionalLibrary("ApexFrameworkDEBUG.lib");
                        InModule.AddPublicAdditionalLibrary("ApexSharedDEBUG.lib");
                        InModule.AddPublicAdditionalLibrary("APEX_DestructibleDEBUG.lib");

                    }
                    else if (Target.Configuration == UnrealTargetConfiguration.Development)
                    {
                        InModule.AddPublicAdditionalLibrary("ApexCommonPROFILE.lib");
                        InModule.AddPublicAdditionalLibrary("ApexFrameworkPROFILE.lib");
                        InModule.AddPublicAdditionalLibrary("ApexSharedPROFILE.lib");
                        InModule.AddPublicAdditionalLibrary("APEX_DestructiblePROFILE.lib");
                    }
                    else // Test or Shipping
                    {
                        InModule.AddPublicAdditionalLibrary("ApexCommon.lib");
                        InModule.AddPublicAdditionalLibrary("ApexFramework.lib");
                        InModule.AddPublicAdditionalLibrary("ApexShared.lib");
                        InModule.AddPublicAdditionalLibrary("APEX_Destructible.lib");
                    }
                }
                else if (InModule.ToString() == "FreeType2")
                {
                    string FreeType2Path = UEBuildConfiguration.UEThirdPartySourceDirectory + "FreeType2/FreeType2-2.4.12/";
                    if (Target.Platform == UnrealTargetPlatform.WinRT)
                    {
                        InModule.AddPublicLibraryPath(FreeType2Path + "Lib/WinRT/Win64");
                    }
                    else
                    {
                        InModule.AddPublicLibraryPath(FreeType2Path + "Lib/WinRT/ARM");
                    }
                    InModule.AddPublicAdditionalLibrary("freetype2412MT.lib");
                }
                else if (InModule.ToString() == "UElibPNG")
                {
                    string libPNGPath = UEBuildConfiguration.UEThirdPartySourceDirectory + "libPNG/libPNG-1.5.2";
                    if (Target.Platform == UnrealTargetPlatform.WinRT)
                    {
                        InModule.AddPublicLibraryPath(libPNGPath + "/lib/WinRT/Win64");
                    }
                    else
                    {
                        InModule.AddPublicLibraryPath(libPNGPath + "/lib/WinRT/ARM");
                    }
                    InModule.AddPublicAdditionalLibrary("libpng125.lib");
                }
                else if (InModule.ToString() == "DX11")
                {
                    // Clear out all the Windows include paths and libraries...
                    // The WinRTSDK module handles proper paths and libs for WinRT.
                    // However, the D3D11RHI module will include the DX11 module.
                    InModule.ClearPublicIncludePaths();
                    InModule.ClearPublicLibraryPaths();
                    InModule.ClearPublicAdditionalLibraries();
                    InModule.RemovePublicDefinition("WITH_D3DX_LIBS=1");
                    InModule.AddPublicDefinition("D3D11_WITH_DWMAPI=0");
                    InModule.AddPublicDefinition("WITH_D3DX_LIBS=0");
                    InModule.AddPublicDefinition("WITH_DX_PERF=0");
                    InModule.RemovePublicAdditionalLibrary("X3DAudio.lib");
                    InModule.RemovePublicAdditionalLibrary("XAPOFX.lib");
                }
                else if (InModule.ToString() == "XInput")
                {
                    InModule.AddPublicAdditionalLibrary("XInput.lib");
                }
                else if (InModule.ToString() == "XAudio2")
                {
                    InModule.AddPublicDefinition("XAUDIO_SUPPORTS_XMA2WAVEFORMATEX=0");
                    InModule.AddPublicDefinition("XAUDIO_SUPPORTS_DEVICE_DETAILS=0");
                    InModule.AddPublicDefinition("XAUDIO2_SUPPORTS_MUSIC=0");
                    InModule.AddPublicDefinition("XAUDIO2_SUPPORTS_SENDLIST=0");
                    InModule.AddPublicAdditionalLibrary("XAudio2.lib");
                    // Hack to enable AllowWindowsPlatformTypes.h/HideWindowsPlatformTypes.h
                    InModule.AddPublicIncludePath("Runtime/Core/Public/Windows");
                }
                else if (InModule.ToString() == "UEOgg")
                {
                    string OggPath = UEBuildConfiguration.UEThirdPartySourceDirectory + "Ogg/libogg-1.2.2/";
                    if (Target.Platform == UnrealTargetPlatform.WinRT)
                    {
                        InModule.AddPublicLibraryPath(OggPath + "WinRT/VS2012/WinRT/x64/Release");
                    }
                    else
                    {
                        InModule.AddPublicLibraryPath(OggPath + "WinRT/VS2012/WinRT/ARM/Release");
                    }
                    InModule.AddPublicAdditionalLibrary("libogg_static.lib");
                }
                else if (InModule.ToString() == "Vorbis")
                {
                    string VorbisPath = UEBuildConfiguration.UEThirdPartySourceDirectory + "Vorbis/libvorbis-1.3.2/";
                    if (Target.Platform == UnrealTargetPlatform.WinRT)
                    {
                        InModule.AddPublicLibraryPath(VorbisPath + "WinRT/VS2012/WinRT/x64/Release");
                    }
                    else
                    {
                        InModule.AddPublicLibraryPath(VorbisPath + "WinRT/VS2012/WinRT/ARM/Release");
                    }
                    InModule.AddPublicAdditionalLibrary("libvorbis_static.lib");
                }
                else if (InModule.ToString() == "VorbisFile")
                {
                    string VorbisPath = UEBuildConfiguration.UEThirdPartySourceDirectory + "Vorbis/libvorbis-1.3.2/";
                    if (Target.Platform == UnrealTargetPlatform.WinRT)
                    {
                        InModule.AddPublicLibraryPath(VorbisPath + "WinRT/VS2012/WinRT/x64/Release");
                    }
                    else
                    {
                        InModule.AddPublicLibraryPath(VorbisPath + "WinRT/VS2012/WinRT/ARM/Release");
                    }
                    InModule.AddPublicAdditionalLibrary("libvorbisfile_static.lib");
                }
                else if (InModule.ToString() == "DX11Audio")
                {
                    InModule.RemovePublicAdditionalLibrary("X3DAudio.lib");
                    InModule.RemovePublicAdditionalLibrary("XAPOFX.lib");
                }
                else if (InModule.ToString() == "zlib")
                {
                    if (Target.Platform == UnrealTargetPlatform.WinRT)
                    {
                        InModule.AddPublicLibraryPath(UEBuildConfiguration.UEThirdPartySourceDirectory + "zlib/zlib-1.2.5/Lib/WinRT/Win64");
                    }
                    else
                    {
                        InModule.AddPublicLibraryPath(UEBuildConfiguration.UEThirdPartySourceDirectory + "zlib/zlib-1.2.5/Lib/WinRT/ARM");
                    }
                    InModule.AddPublicAdditionalLibrary("zlib125.lib");
                }
            }
            else if ((Target.Platform == UnrealTargetPlatform.Win32) || (Target.Platform == UnrealTargetPlatform.Win64))
            {
            //              bool bBuildShaderFormats = UEBuildConfiguration.bForceBuildShaderFormats;
            // 				if (!UEBuildConfiguration.bBuildRequiresCookedData)
            // 				{
            // 					if (InModule.ToString() == "Engine")
            // 					{
            // 						if (UEBuildConfiguration.bBuildDeveloperTools)
            // 						{
                // 							InModule.AddPlatformSpecificDynamicallyLoadedModule("WinRTTargetPlatform");
            // 						}
            // 					}
            // 					else if (InModule.ToString() == "TargetPlatform")
            // 					{
            // 		                bBuildShaderFormats = true;
            // 					}
            // 				}

            // 				// allow standalone tools to use targetplatform modules, without needing Engine
            // 				if (UEBuildConfiguration.bForceBuildTargetPlatforms)
            // 				{
                // 					InModule.AddPlatformSpecificDynamicallyLoadedModule("WinRTTargetPlatform");
            // 				}

            //              if (bBuildShaderFormats)
            //              {
                //                  InModule.AddPlatformSpecificDynamicallyLoadedModule("ShaderFormatWinRT");
            //              }
            }
        }
Ejemplo n.º 4
0
        /**
         *	Modify the newly created module passed in for this platform.
         *	This is not required - but allows for hiding details of a
         *	particular platform.
         *	
         *	@param	InModule		The newly loaded module
         *	@param	Target			The target being build
         */
        public override void ModifyNewlyLoadedModule(UEBuildModule InModule, TargetInfo Target)
        {
			if (Target.Platform == UnrealTargetPlatform.HTML5)
            {
                if (InModule.ToString() == "Core")
                {
                    InModule.AddPublicIncludePath("Runtime/Core/Public/HTML5");
                    InModule.AddPublicDependencyModule("zlib");
                }
                else if (InModule.ToString() == "Engine")
                {
                    InModule.AddPrivateDependencyModule("zlib");
                    InModule.AddPrivateDependencyModule("UElibPNG");
                    InModule.AddPublicDependencyModule("UEOgg");
                    InModule.AddPublicDependencyModule("Vorbis");
                }

                if (InModule.ToString() == "NetworkFile")
                {
                    if (EnableHTTPForNFS)
                    {   
                        InModule.AddPublicDefinition("ENABLE_HTTP_FOR_NFS=1");
                        if (Target.Architecture == "-win32")
                        {
                            InModule.AddPrivateDependencyModule("HTML5Win32");
                        }
                        else
                        {
                            InModule.AddPrivateDependencyModule("HTML5JS");
                        }
                    }
                }
            }
            else if (Target.Platform == UnrealTargetPlatform.Win32 || Target.Platform == UnrealTargetPlatform.Win64 || Target.Platform == UnrealTargetPlatform.Mac )
            {
				// allow standalone tools to use targetplatform modules, without needing Engine
				if ((!UEBuildConfiguration.bBuildRequiresCookedData
                    && InModule.ToString() == "Engine"
                    && UEBuildConfiguration.bBuildDeveloperTools)
                    || UEBuildConfiguration.bForceBuildTargetPlatforms)
                {
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("HTML5TargetPlatform");
                }

                if (EnableHTTPForNFS && (Target.Platform == UnrealTargetPlatform.Win64  
                                         || Target.Platform == UnrealTargetPlatform.Mac)
                    )
                {
                    if (InModule.ToString() == "NetworkFile") // client
                    {
                        InModule.AddPrivateDependencyModule("HTTP");
                        InModule.AddPublicDefinition("ENABLE_HTTP_FOR_NFS=1");
                    }
                    else if (InModule.ToString() == "NetworkFileSystem") // server 
                    {
                        if (UnrealBuildTool.RunningRocket() == false || 
                            Target.Type == TargetRules.TargetType.Game )
                        {
                            InModule.AddPrivateDependencyModule("WebSockets");
                            InModule.AddPublicDefinition("ENABLE_HTTP_FOR_NFS=1");
                        }
                    }
                }
            }
        }
Ejemplo n.º 5
0
        /**
         *	Modify the newly created module passed in for this platform.
         *	This is not required - but allows for hiding details of a
         *	particular platform.
         *
         *	@param	InModule		The newly loaded module
         *	@param	Target			The target being build
         */
        public override void ModifyNewlyLoadedModule(UEBuildModule InModule, TargetInfo Target)
        {
            if (Target.Platform == UnrealTargetPlatform.HTML5)
            {
                if (InModule.ToString() == "Core")
                {
                    InModule.AddPublicIncludePath("Runtime/Core/Public/HTML5");
                    InModule.AddPublicDependencyModule("zlib");
                }
                else if (InModule.ToString() == "Engine")
                {
                    InModule.AddPrivateDependencyModule("zlib");
                    InModule.AddPrivateDependencyModule("UElibPNG");
                    InModule.AddPublicDependencyModule("UEOgg");
                    InModule.AddPublicDependencyModule("Vorbis");
                }

                if (InModule.ToString() == "NetworkFile")
                {
                    if (EnableHTTPForNFS)
                    {
                        InModule.AddPublicDefinition("ENABLE_HTTP_FOR_NFS=1");
                        if (Target.Architecture == "-win32")
                        {
                            InModule.AddPrivateDependencyModule("HTML5Win32");
                        }
                        else
                        {
                            InModule.AddPrivateDependencyModule("HTML5JS");
                        }
                    }
                }
            }
            else if (Target.Platform == UnrealTargetPlatform.Win32 || Target.Platform == UnrealTargetPlatform.Win64 || Target.Platform == UnrealTargetPlatform.Mac)
            {
                // allow standalone tools to use targetplatform modules, without needing Engine
                if ((!UEBuildConfiguration.bBuildRequiresCookedData &&
                     InModule.ToString() == "Engine" &&
                     UEBuildConfiguration.bBuildDeveloperTools) ||
                    UEBuildConfiguration.bForceBuildTargetPlatforms)
                {
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("HTML5TargetPlatform");
                }

                if (EnableHTTPForNFS && (Target.Platform == UnrealTargetPlatform.Win64 ||
                                         Target.Platform == UnrealTargetPlatform.Mac)
                    )
                {
                    if (InModule.ToString() == "NetworkFile") // client
                    {
                        InModule.AddPrivateDependencyModule("HTTP");
                        InModule.AddPublicDefinition("ENABLE_HTTP_FOR_NFS=1");
                    }
                    else if (InModule.ToString() == "NetworkFileSystem") // server
                    {
                        if (UnrealBuildTool.RunningRocket() == false ||
                            Target.Type == TargetRules.TargetType.Game)
                        {
                            InModule.AddPrivateDependencyModule("WebSockets");
                            InModule.AddPublicDefinition("ENABLE_HTTP_FOR_NFS=1");
                        }
                    }
                }
            }
        }
Ejemplo n.º 6
0
 public override void ModifyNewlyLoadedModule(UEBuildModule InModule, TargetInfo Target)
 {
     if ((Target.Platform == UnrealTargetPlatform.UWP))
     {
         if (InModule.ToString() == "Core")
         {
             InModule.AddPrivateDependencyModule("UWPSDK");
         }
         else if (InModule.ToString() == "Engine")
         {
             InModule.AddPrivateDependencyModule("zlib");
             InModule.AddPrivateDependencyModule("UElibPNG");
             InModule.AddPublicDependencyModule("UEOgg");
             InModule.AddPublicDependencyModule("Vorbis");
         }
         else if (InModule.ToString() == "D3D11RHI")
         {
             InModule.AddPublicDefinition("D3D11_WITH_DWMAPI=0");
             InModule.AddPublicDefinition("WITH_DX_PERF=0");
         }
         else if (InModule.ToString() == "DX11")
         {
             // Clear out all the Windows include paths and libraries...
             // The UWPSDK module handles proper paths and libs for UWP.
             // However, the D3D11RHI module will include the DX11 module.
             InModule.ClearPublicIncludePaths();
             InModule.ClearPublicLibraryPaths();
             InModule.ClearPublicAdditionalLibraries();
             InModule.RemovePublicDefinition("WITH_D3DX_LIBS=1");
             InModule.AddPublicDefinition("WITH_D3DX_LIBS=0");
             InModule.RemovePublicAdditionalLibrary("X3DAudio.lib");
             InModule.RemovePublicAdditionalLibrary("XAPOFX.lib");
         }
         else if (InModule.ToString() == "XAudio2")
         {
             InModule.AddPublicDefinition("XAUDIO_SUPPORTS_XMA2WAVEFORMATEX=0");
             InModule.AddPublicDefinition("XAUDIO_SUPPORTS_DEVICE_DETAILS=0");
             InModule.AddPublicDefinition("XAUDIO2_SUPPORTS_MUSIC=0");
             InModule.AddPublicDefinition("XAUDIO2_SUPPORTS_SENDLIST=0");
             InModule.AddPublicAdditionalLibrary("XAudio2.lib");
         }
         else if (InModule.ToString() == "DX11Audio")
         {
             InModule.RemovePublicAdditionalLibrary("X3DAudio.lib");
             InModule.RemovePublicAdditionalLibrary("XAPOFX.lib");
         }
     }
 }