public static void ExpandDynamicVariables(this ConfigFile config, Logger logger, CppModule module) { // Load all defines and store them in the config file to allow dynamic variable substitution foreach (var cppInclude in module.Includes) { foreach (var cppDefine in cppInclude.Macros) { config.DynamicVariables[cppDefine.Name] = cppDefine.Value; } } // Expand all variables with all dynamic variables config.ExpandVariables(true, logger); }
public void DynamicVariablesSubstitutedWhenExpandIsTrue() { var config = new ConfigFile { IncludeDirs = { new IncludeDirRule("#(TEST_VARIABLE)") } }; config.DynamicVariables.Add("TEST_VARIABLE", "Hello World!"); config.ExpandVariables(true, Logger); Assert.Equal("Hello World!", config.IncludeDirs[0].Path); }
public void VariableSubstitutionSubstitutesVariableValues() { var config = new ConfigFile { IncludeDirs = { new IncludeDirRule("$(TEST_VARIABLE)") } }; config.Variables.Add(new KeyValue("TEST_VARIABLE", "Hello World!")); config.ExpandVariables(false, Logger); Assert.Equal("Hello World!", config.IncludeDirs[0].Path); }