2014-12-07 19:09:38 -05:00
// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
2014-03-14 14:13:41 -04:00
using UnrealBuildTool ;
using System ;
using System.IO ;
public class Core : ModuleRules
{
public Core ( TargetInfo Target )
{
SharedPCHHeaderFile = "Runtime/Core/Public/Core.h" ;
PublicIncludePaths . AddRange (
new string [ ] {
"Runtime/Core/Public" ,
"Runtime/Core/Public/Internationalization" ,
"Runtime/Core/Public/Async" ,
"Runtime/Core/Public/Concurrency" ,
"Runtime/Core/Public/Containers" ,
2014-05-08 22:39:20 -04:00
"Runtime/Core/Public/Delegates" ,
2014-03-14 14:13:41 -04:00
"Runtime/Core/Public/GenericPlatform" ,
"Runtime/Core/Public/HAL" ,
2014-09-18 16:41:50 -04:00
"Runtime/Core/Public/Logging" ,
2014-03-14 14:13:41 -04:00
"Runtime/Core/Public/Math" ,
"Runtime/Core/Public/Misc" ,
"Runtime/Core/Public/Modules" ,
"Runtime/Core/Public/Modules/Boilerplate" ,
"Runtime/Core/Public/ProfilingDebugging" ,
"Runtime/Core/Public/Serialization" ,
2014-09-04 04:13:03 -04:00
"Runtime/Core/Public/Serialization/Csv" ,
2014-03-14 14:13:41 -04:00
"Runtime/Core/Public/Stats" ,
"Runtime/Core/Public/Templates" ,
"Runtime/Core/Public/UObject" ,
}
) ;
PrivateIncludePaths . AddRange (
new string [ ] {
"Developer/DerivedDataCache/Public" ,
"Developer/SynthBenchmark/Public" ,
"Runtime/Core/Private" ,
"Runtime/Core/Private/Misc" ,
"Runtime/Core/Private/Serialization/Json" ,
"Runtime/Core/Private/Internationalization" ,
"Runtime/Core/Private/Internationalization/Cultures" ,
2014-04-02 18:09:23 -04:00
"Runtime/Analytics/Public" ,
2014-03-14 14:13:41 -04:00
}
) ;
PrivateIncludePathModuleNames . AddRange (
new string [ ] {
"TargetPlatform" ,
"DerivedDataCache" ,
2015-07-18 12:00:28 -04:00
"CookingStats" ,
2014-03-14 14:13:41 -04:00
"InputDevice" ,
2014-04-02 18:09:23 -04:00
"Analytics"
2014-03-14 14:13:41 -04:00
}
) ;
2014-04-23 19:19:51 -04:00
if ( UEBuildConfiguration . bBuildEditor = = true )
{
DynamicallyLoadedModuleNames . Add ( "SourceCodeAccess" ) ;
}
2014-03-14 14:13:41 -04:00
if ( ( Target . Platform = = UnrealTargetPlatform . Win64 ) | |
( Target . Platform = = UnrealTargetPlatform . Win32 ) )
{
PublicIncludePaths . Add ( "Runtime/Core/Public/Windows" ) ;
AddThirdPartyPrivateStaticDependencies ( Target ,
"zlib" ) ;
AddThirdPartyPrivateStaticDependencies ( Target ,
"IntelTBB" ,
"XInput"
) ;
}
else if ( Target . Platform = = UnrealTargetPlatform . Mac )
{
2014-05-14 14:54:18 -04:00
PublicIncludePaths . AddRange ( new string [ ] { "Runtime/Core/Public/Apple" , "Runtime/Core/Public/Mac" } ) ;
2014-03-14 14:13:41 -04:00
AddThirdPartyPrivateStaticDependencies ( Target ,
"IntelTBB" ,
"zlib" ,
2015-03-02 07:34:19 -05:00
"OpenGL" ,
"PLCrashReporter"
2014-03-14 14:13:41 -04:00
) ;
2015-03-02 07:34:19 -05:00
PublicFrameworks . AddRange ( new string [ ] { "Cocoa" , "Carbon" , "IOKit" , "Security" } ) ;
2014-05-29 16:51:30 -04:00
if ( UEBuildConfiguration . bBuildEditor = = true )
{
PublicAdditionalLibraries . Add ( "/System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/Current/MultitouchSupport" ) ;
}
2014-03-14 14:13:41 -04:00
}
else if ( Target . Platform = = UnrealTargetPlatform . IOS )
{
PublicIncludePaths . AddRange ( new string [ ] { "Runtime/Core/Public/Apple" , "Runtime/Core/Public/IOS" } ) ;
AddThirdPartyPrivateStaticDependencies ( Target ,
"zlib"
) ;
2014-05-09 11:22:29 -04:00
PublicFrameworks . AddRange ( new string [ ] { "UIKit" , "Foundation" , "AudioToolbox" , "AVFoundation" , "GameKit" , "StoreKit" , "CoreVideo" , "CoreMedia" , "CoreMotion" } ) ;
2014-03-14 14:13:41 -04:00
bool bSupportAdvertising = true ;
if ( bSupportAdvertising )
{
PublicFrameworks . AddRange ( new string [ ] { "iAD" , "CoreGraphics" } ) ;
}
}
else if ( Target . Platform = = UnrealTargetPlatform . Android )
{
PublicIncludePaths . Add ( "Runtime/Core/Public/Android" ) ;
AddThirdPartyPrivateStaticDependencies ( Target ,
"zlib"
) ;
}
else if ( ( Target . Platform = = UnrealTargetPlatform . Linux ) )
{
PublicIncludePaths . Add ( "Runtime/Core/Public/Linux" ) ;
AddThirdPartyPrivateStaticDependencies ( Target ,
"zlib" ,
"jemalloc" ,
2014-04-02 18:09:23 -04:00
"elftoolchain" ,
2014-04-23 16:35:49 -04:00
"SDL2"
2014-03-14 14:13:41 -04:00
) ;
2014-04-23 16:35:49 -04:00
2014-10-15 13:32:48 -04:00
// Core uses dlopen()
PublicAdditionalLibraries . Add ( "dl" ) ;
2014-09-10 15:03:57 -04:00
// We need FreeType2 and GL for the Splash, but only in the Editor
2014-07-30 23:46:52 -04:00
if ( Target . Type = = TargetRules . TargetType . Editor )
{
AddThirdPartyPrivateStaticDependencies ( Target , "FreeType2" ) ;
2014-09-10 15:03:57 -04:00
AddThirdPartyPrivateStaticDependencies ( Target , "OpenGL" ) ;
2015-08-14 18:39:31 -04:00
PrivateIncludePathModuleNames . Add ( "ImageWrapper" ) ;
2014-09-10 15:03:57 -04:00
}
2014-03-14 14:13:41 -04:00
}
else if ( Target . Platform = = UnrealTargetPlatform . HTML5 & & Target . Architecture = = "-win32" )
{
PublicIncludePaths . Add ( "Runtime/Core/Public/HTML5" ) ;
2014-11-19 13:56:35 -05:00
AddThirdPartyPrivateStaticDependencies ( Target , "SDL2" ) ;
2014-03-14 14:13:41 -04:00
AddThirdPartyPrivateStaticDependencies ( Target , "OpenAL" ) ;
}
2014-09-08 17:17:15 -04:00
else if ( Target . Platform = = UnrealTargetPlatform . HTML5 & & Target . Architecture ! = "-win32" )
{
2014-11-19 13:56:35 -05:00
AddThirdPartyPrivateStaticDependencies ( Target , "SDL2" ) ;
2014-09-08 17:17:15 -04:00
PrivateDependencyModuleNames . Add ( "HTML5JS" ) ;
2015-04-08 14:53:36 -04:00
PrivateDependencyModuleNames . Add ( "MapPakDownloader" ) ;
2014-09-08 17:17:15 -04:00
}
2014-03-14 14:13:41 -04:00
if ( UEBuildConfiguration . bCompileICU = = true )
{
AddThirdPartyPrivateStaticDependencies ( Target , "ICU" ) ;
}
Definitions . Add ( "UE_ENABLE_ICU=" + ( UEBuildConfiguration . bCompileICU ? "1" : "0" ) ) ; // Enable/disable (=1/=0) ICU usage in the codebase. NOTE: This flag is for use while integrating ICU and will be removed afterward.
2014-04-23 19:36:38 -04:00
Definitions . Add ( "WITH_STEAMWORKS=" + ( UEBuildConfiguration . bCompileSteamOSS ? "1" : "0" ) ) ;
// If we're compiling with the engine, then add Core's engine dependencies
2014-03-14 14:13:41 -04:00
if ( UEBuildConfiguration . bCompileAgainstEngine = = true )
{
if ( ! UEBuildConfiguration . bBuildRequiresCookedData )
{
DynamicallyLoadedModuleNames . AddRange ( new string [ ] { "DerivedDataCache" } ) ;
}
}
// On Windows platform, VSPerfExternalProfiler.cpp needs access to "VSPerf.h". This header is included with Visual Studio, but it's not in a standard include path.
if ( Target . Platform = = UnrealTargetPlatform . Win32 | | Target . Platform = = UnrealTargetPlatform . Win64 )
{
var VisualStudioVersionNumber = "11.0" ;
var SubFolderName = ( Target . Platform = = UnrealTargetPlatform . Win64 ) ? "x64/PerfSDK" : "PerfSDK" ;
string PerfIncludeDirectory = Path . Combine ( Environment . GetFolderPath ( Environment . SpecialFolder . ProgramFilesX86 ) , String . Format ( "Microsoft Visual Studio {0}/Team Tools/Performance Tools/{1}" , VisualStudioVersionNumber , SubFolderName ) ) ;
if ( File . Exists ( Path . Combine ( PerfIncludeDirectory , "VSPerf.h" ) ) )
{
PrivateIncludePaths . Add ( PerfIncludeDirectory ) ;
Definitions . Add ( "WITH_VS_PERF_PROFILER=1" ) ;
}
}
if ( ( Target . Platform = = UnrealTargetPlatform . XboxOne ) | |
( Target . Platform = = UnrealTargetPlatform . WinRT ) | |
( Target . Platform = = UnrealTargetPlatform . WinRT_ARM ) )
{
Definitions . Add ( "WITH_DIRECTXMATH=1" ) ;
}
else if ( ( Target . Platform = = UnrealTargetPlatform . Win64 ) | |
( Target . Platform = = UnrealTargetPlatform . Win32 ) )
{
// To enable this requires Win8 SDK
Definitions . Add ( "WITH_DIRECTXMATH=0" ) ; // Enable to test on Win64/32.
//PublicDependencyModuleNames.AddRange( // Enable to test on Win64/32.
// new string[] {
// "DirectXMath"
//});
}
else
{
Definitions . Add ( "WITH_DIRECTXMATH=0" ) ;
}
}
}