private string GetPropsFilePath(IVCConfiguration configuration) { string installPath = _vcProjectService.GetInstallationDirectory(_settingsService, configuration); string propFileName; if (_settingsService.GetConanGenerator() == ConanGeneratorType.visual_studio) { propFileName = @"conanbuildinfo.props"; } else { propFileName = @"conanbuildinfo_multi.props"; } return(Path.Combine(installPath, propFileName)); }
private void IntegrateIntoConfiguration(IVCConfiguration configuration) { string absPropFilePath = GetPropsFilePath(configuration); string relativePropFilePath = ConanPathHelper.GetRelativePath(configuration.ProjectDirectory, absPropFilePath); configuration.AdditionalDependencies = configuration.AdditionalDependencies.Replace("$(NOINHERIT)", ""); foreach (IVCPropertySheet sheet in configuration.PropertySheets) { if (ConanPathHelper.NormalizePath(sheet.PropertySheetFile) == ConanPathHelper.NormalizePath(absPropFilePath)) { string msg = $"[Conan.VisualStudio] Property sheet '{absPropFilePath}' already added to project {configuration.ProjectName}"; Logger.Log(msg); return; } } configuration.AddPropertySheet(relativePropFilePath); Logger.Log($"[Conan.VisualStudio] Property sheet '{absPropFilePath}' added to project {configuration.ProjectName}"); configuration.CollectIntelliSenseInfo(); }
public string GetInstallationDirectory(ISettingsService settingsService, IVCConfiguration configuration) { return(GetInstallationDirectoryImpl(settingsService, configuration)); }
private static ConanConfiguration ExtractConanConfiguration(ISettingsService settingsService, IVCConfiguration configuration) { string installPath = GetInstallationDirectoryImpl(settingsService, configuration); return(new ConanConfiguration { VSName = configuration.Name, Architecture = GetArchitecture(configuration.PlatformName), BuildType = GetBuildType(configuration.ConfigurationName), CompilerToolset = configuration.Toolset, CompilerVersion = VisualStudioVersion.ToString(), InstallPath = installPath, RuntimeLibrary = configuration.RuntimeLibrary }); }
private static string GetInstallationDirectoryImpl(ISettingsService settingsService, IVCConfiguration configuration) { string installPath = ".conan"; if (settingsService != null) { installPath = configuration.Evaluate(settingsService.GetConanInstallationPath()); if (!Path.IsPathRooted(installPath)) { installPath = Path.Combine(configuration.ProjectDirectory, installPath); } return(installPath); } return(Path.Combine(configuration.ProjectDirectory, installPath)); }