void ProjectExporter::BuildConfiguration::createPropertyEditors (PropertyListBuilder& props) { props.add (new TextPropertyComponent (getNameValue(), "Name", 96, false), "The name of this configuration."); props.add (new BooleanPropertyComponent (isDebugValue(), "Debug mode", "Debugging enabled"), "If enabled, this means that the configuration should be built with debug synbols."); static const char* optimisationLevels[] = { "No optimisation", "Minimise size", "Maximise speed", 0 }; const int optimisationLevelValues[] = { optimisationOff, optimiseMinSize, optimiseMaxSpeed, 0 }; props.add (new ChoicePropertyComponent (getOptimisationLevel(), "Optimisation", StringArray (optimisationLevels), Array<var> (optimisationLevelValues)), "The optimisation level for this configuration"); props.add (new TextPropertyComponent (getTargetBinaryName(), "Binary name", 256, false), "The filename to use for the destination binary executable file. If you don't add a suffix to this name, " "a suitable platform-specific suffix will be added automatically."); props.add (new TextPropertyComponent (getTargetBinaryRelativePath(), "Binary location", 1024, false), "The folder in which the finished binary should be placed. Leave this blank to cause the binary to be placed " "in its default location in the build folder."); props.addSearchPathProperty (getHeaderSearchPathValue(), "Header search paths", "Extra header search paths."); props.addSearchPathProperty (getLibrarySearchPathValue(), "Extra library search paths", "Extra library search paths."); props.add (new TextPropertyComponent (getBuildConfigPreprocessorDefs(), "Preprocessor definitions", 32768, true), "Extra preprocessor definitions. Use the form \"NAME1=value NAME2=value\", using whitespace, commas, or " "new-lines to separate the items - to include a space or comma in a definition, precede it with a backslash."); createConfigProperties (props); props.add (new TextPropertyComponent (getUserNotes(), "Notes", 32768, true), "Extra comments: This field is not used for code or project generation, it's just a space where you can express your thoughts."); }
//============================================================================== void LiveBuildProjectSettings::getLiveSettings (Project& project, PropertyListBuilder& props) { using namespace ProjectProperties; props.addSearchPathProperty (getUserHeaderPathValue (project), "User header paths", "User header search paths."); props.addSearchPathProperty (getSystemHeaderPathValue (project), "System header paths", "System header search paths."); props.add (new TextPropertyComponent (getExtraPreprocessorDefsValue (project), "Preprocessor Definitions", 32768, true), "Extra preprocessor definitions. Use the form \"NAME1=value NAME2=value\", using whitespace or commas " "to separate the items - to include a space or comma in a definition, precede it with a backslash."); props.add (new TextPropertyComponent (getExtraCompilerFlagsValue (project), "Extra compiler flags", 2048, true), "Extra command-line flags to be passed to the compiler. This string can contain references to preprocessor" " definitions in the form ${NAME_OF_DEFINITION}, which will be replaced with their values."); props.add (new TextPropertyComponent (getExtraDLLsValue (project), "Extra dynamic libraries", 2048, true), "Extra dynamic libs that the running code may require. Use new-lines or commas to separate the items"); static const char* targetPlatformNames[] = { "(default)", "8.1", "10.0.10240.0", "10.0.10586.0", "10.0.14393.0", "10.0.15063.0", nullptr }; const var targetPlatforms[] = { var(), "8.1", "10.0.10240.0", "10.0.10586.0", "10.0.14393.0", "10.0.15063.0" }; props.add (new ChoicePropertyComponent (getWindowsTargetPlatformVersionValue (project), "Windows Target Platform", StringArray (targetPlatformNames), Array<var> (targetPlatforms, numElementsInArray (targetPlatforms))), "The Windows target platform to use"); }