/// <summary> /// Sets the project output directory /// </summary> public void SetOutputDirectory(AbsolutePath outputDirectory, OutputDirectoryType outputDirectoryType, string buildFilter) { if (outputDirectoryType > m_outputDirectoryType) { m_outputDirectoryType = outputDirectoryType; SetProperty("OutputPath", outputDirectory); SetProperty("OutDir", outputDirectory); SetProperty("DominoBuildFilter", buildFilter); } }
/// <summary> /// Sets the project output directory /// </summary> public void SetOutputDirectory(AbsolutePath outputDirectory, OutputDirectoryType outputDirectoryType, string buildFilter) { if (outputDirectoryType > m_outputDirectoryType) { m_outputDirectoryType = outputDirectoryType; SetProperty("DominoBuildFilter", buildFilter); // Intentionally not setting either "OutputPath" or "OutDir" because 'outputDirectory' // is a BuildXL folder and so if VS tries to write to it access will be denied. // // Instead, output folders are set in Directory.Build.props, which is automatically // generated and placed in the root of the enlistment. } }
/// <summary> /// Sets the project output directory /// </summary> internal void SetOutputDirectory(Project project, AbsolutePath outputDirectory, OutputDirectoryType outputDirectoryType) { string buildFilter; if (outputDirectoryType == OutputDirectoryType.TestDeployment) { var relativeOutputDir = Context.GetRelativePath(outputDirectory).ToString(Context.StringTable); buildFilter = I($"output='Mount[SourceRoot]\\{System.IO.Path.Combine(relativeOutputDir, "*")}'"); } else { var relativeSpecFile = Context.GetRelativePath(SpecFilePath).ToString(Context.StringTable); buildFilter = I($"spec='Mount[SourceRoot]\\{relativeSpecFile}'"); } project.SetOutputDirectory(outputDirectory, outputDirectoryType, buildFilter); }