private bool InvokeCompileOnDependency(ProjectDescription projectDependency) { var args = new List <string>(); args.Add("--framework"); args.Add($"{projectDependency.Framework}"); args.Add("--configuration"); args.Add(_args.ConfigValue); args.Add(projectDependency.Project.ProjectDirectory); if (!string.IsNullOrWhiteSpace(_args.RuntimeValue)) { args.Add("--runtime"); args.Add(_args.RuntimeValue); } if (!string.IsNullOrEmpty(_args.VersionSuffixValue)) { args.Add("--version-suffix"); args.Add(_args.VersionSuffixValue); } if (!string.IsNullOrWhiteSpace(_args.BuildBasePathValue)) { args.Add("--build-base-path"); args.Add(_args.BuildBasePathValue); } var compileResult = CompileCommand.Run(args.ToArray()); return(compileResult == 0); }
private bool InvokeCompileOnRootProject() { // todo: add methods to CompilerCommandApp to generate the arg string? var args = new List <string>(); args.Add("--framework"); args.Add(_rootProject.TargetFramework.ToString()); args.Add("--configuration"); args.Add(_args.ConfigValue); if (!string.IsNullOrWhiteSpace(_args.RuntimeValue)) { args.Add("--runtime"); args.Add(_args.RuntimeValue); } if (!string.IsNullOrEmpty(_args.OutputValue)) { args.Add("--output"); args.Add(_args.OutputValue); } if (!string.IsNullOrEmpty(_args.VersionSuffixValue)) { args.Add("--version-suffix"); args.Add(_args.VersionSuffixValue); } if (!string.IsNullOrEmpty(_args.BuildBasePathValue)) { args.Add("--build-base-path"); args.Add(_args.BuildBasePathValue); } //native args if (_args.IsNativeValue) { args.Add("--native"); } if (_args.IsCppModeValue) { args.Add("--cpp"); } if (!string.IsNullOrWhiteSpace(_args.CppCompilerFlagsValue)) { args.Add("--cppcompilerflags"); args.Add(_args.CppCompilerFlagsValue); } if (!string.IsNullOrWhiteSpace(_args.ArchValue)) { args.Add("--arch"); args.Add(_args.ArchValue); } foreach (var ilcArg in _args.IlcArgsValue) { args.Add("--ilcarg"); args.Add(ilcArg); } if (!string.IsNullOrWhiteSpace(_args.IlcPathValue)) { args.Add("--ilcpath"); args.Add(_args.IlcPathValue); } if (!string.IsNullOrWhiteSpace(_args.IlcSdkPathValue)) { args.Add("--ilcsdkpath"); args.Add(_args.IlcSdkPathValue); } args.Add(_rootProject.ProjectDirectory); var compileResult = CompileCommand.Run(args.ToArray()); var succeeded = compileResult == 0; if (succeeded) { MakeRunnable(); } return(succeeded); }