// Copyright (c) Ubisoft. All Rights Reserved. // Licensed under the Apache 2.0 License. See LICENSE.md in the project root for license information. namespace Sharpmake { public static partial class Android { public sealed partial class AndroidAgdePlatform { private const string _projectStartPlatformConditional = @" "; private const string _projectDescriptionPlatformSpecific = @" [ndkRoot] [androidNdkVersion] [androidHome] [androidMinSdkVersion] [javaHome] Clang "; private const string _projectConfigurationsGeneralTemplate = @" [options.ConfigurationType] [options.UseDebugLibraries] [options.PlatformToolset] [options.UseOfStl] [options.ThumbMode] [options.LinkTimeOptimization] [options.ClangLinkType] [options.CppLanguageStandard] [options.CLanguageStandard] [options.AndroidApkLocation] [options.AndroidPreApkInstallCommands] [options.AndroidPostApkInstallCommands] "; // The output directory is converted to a rooted path by prefixing it with $(ProjectDir) to work around // an issue with VS Android build scripts. When a project dependency has its project folder not at the // same folder level as the AndroidPackageProject, VS can't locate its output properly using its relative path. private const string _projectConfigurationsGeneral2Template = @" [options.OutputFileName] $(ProjectDir)[options.OutputDirectory]\ [options.IntermediateDirectory]\ [options.OutputFileExtension] [options.PostBuildEventEnable] [options.PreBuildEventEnable] [options.PreLinkEventEnable] [options.OutputFile] [options.CustomBuildStepBeforeTargets] [options.CustomBuildStepAfterTargets] [options.ExecutablePath] [options.IncludePath] [options.LibraryPath] [options.ExcludePath] [options.NativeBuildBackend] [options.AndroidEnablePackaging] [options.SkipAndroidPackaging] [options.AndroidApplicationModule] [options.AndroidGradleBuildDir] [options.AndroidGradleBuildIntermediateDir] [options.AndroidExtraGradleArgs] [options.AndroidApkName] [options.AndroidGradlePackageOutputName] "; private const string _projectConfigurationsFastBuildMakefile = @" [options.AndroidApkName] "; private const string _projectConfigurationsCompileTemplate = @" [options.UsePrecompiledHeader] [options.WarningLevel] [options.Optimization] [EscapeXML:options.PreprocessorDefinitions];%(PreprocessorDefinitions) [options.AdditionalIncludeDirectories];%(AdditionalIncludeDirectories) [options.ClangDebugInformationFormat] [options.LimitDebugInfo] [options.FloatABI] [options.TreatWarningAsError] [options.OmitFramePointers] false [options.ExceptionHandling] [options.StackProtectionLevel] [options.EnableFunctionLevelLinking] [options.EnableDataLevelLinking] [options.RuntimeTypeInfo] NoListing Default [options.UndefinePreprocessorDefinitions] [options.AllAdditionalCompilerOptions] [options.PrecompiledHeaderThrough] [options.PrecompiledHeaderOutputFileDirectory] [options.ShowIncludes] [options.ForcedIncludeFiles] [options.UnwindTables] [options.AddressSignificanceTable] [options.ClangDiagnosticsFormat] [options.PositionIndependentCode] "; private const string _projectConfigurationsSharedLinkTemplate = @" [options.DebuggerSymbolInformation] [options.OutputFile] [options.AdditionalLibraryDirectories];%(AdditionalLibraryDirectories) [options.AdditionalLinkerOptions] [options.AdditionalDependencies];%(AdditionalDependencies); [options.IgnoreDefaultLibraryNames] [options.MapFileName] [options.IncrementalLink] [options.FunctionBinding] [options.NoExecStackRequired] [options.UnresolvedSymbolReferences] [options.Relocation] "; private const string _projectConfigurationsStaticLinkTemplate = @" [options.AdditionalLibrarianOptions] [options.OutputFile] true "; } } }