The build settings settings file follows the FSS-0001 (Extended) format.

Each Object represents a settings property name.

There is only a distinct set of setting property names (see below).

Each Content represents the values associated with that property.

Additional restrictions are applied to each Content depending on each specific Object name (see below).

Object Names and their respective Content purpose/restrictions:

  • build_compiler: Must only be a valid filename.
  • build_indexer: Must only be a valid filename.
  • build_indexer_arguments: Zero or more arguments supported by the indexer specified in build_indexer.
  • build_language: Must only be one of: bash, c, or c++.
  • build_libraries: Must only contain any number of valid library include arguments that are valid for the compiler defined in "build_compiler" Object.
  • build_libraries_shared: Must only contain any number of valid library include arguments that are valid for the compiler defined in "build_compiler" Object.
  • build_libraries_static: Must only contain any number of valid library include arguments that are valid for the compiler defined in "build_compiler" Object.
  • build_name: Must only contain characters allowed in a filename.
  • build_objects_library: Must only contain any number of valid object file names relative to the appropriate path_object_* path.
  • build_objects_library_shared: Must only contain any number of valid object file names relative to the path_object_shared path.
  • build_objects_library_static: Must only contain any number of valid object file names relative to the path_object_static path.
  • build_objects_program: Must only contain any number of valid object file names relative to the appropriate path_object_* path.
  • build_objects_program_shared: Must only contain any number of valid object file names relative to the path_object_shared path.
  • build_objects_program_static: Must only contain any number of valid object file names relative to the path_object_static path.
  • build_script: Must only one of: yes or no.
  • build_shared: Must only one of: yes or no.
  • build_sources_headers: Must only contain any number of valid filenames.
  • build_sources_headers_shared: Must only contain any number of valid filenames.
  • build_sources_headers_static: Must only contain any number of valid filenames.
  • build_sources_library: Must only contain any number of valid filenames.
  • build_sources_library_shared: Must only contain any number of valid filenames.
  • build_sources_library_static: Must only contain any number of valid filenames.
  • build_sources_object: Must only contain any number of valid filenames.
  • build_sources_object_shared: Must only contain any number of valid filenames.
  • build_sources_object_static: Must only contain any number of valid filenames.
  • build_sources_program: Must only contain any number of valid filenames.
  • build_sources_program_shared: Must only contain any number of valid filenames.
  • build_sources_program_static: Must only contain any number of valid filenames.
  • build_sources_script: Must only contain any number of valid filenames.
  • build_sources_setting: Must only contain any number of valid filenames.
  • build_static: Must only one of: yes or no.
  • defines: Must only contain any number of valid macro names supported by the compiler specified in build_compiler.
  • defines_library: Must only contain any number of valid macro names supported by the compiler specified in build_compiler.
  • defines_library_shared: Must only contain any number of valid macro names supported by the compiler specified in build_compiler.
  • defines_library_static: Must only contain any number of valid macro names supported by the compiler specified in build_compiler.
  • defines_object: Must only contain any number of valid macro names supported by the compiler specified in build_compiler.
  • defines_object_shared: Must only contain any number of valid macro names supported by the compiler specified in build_compiler.
  • defines_object_static: Must only contain any number of valid macro names supported by the compiler specified in build_compiler.
  • defines_program: Must only contain any number of valid macro names supported by the compiler specified in build_compiler.
  • defines_program_shared: Must only contain any number of valid macro names supported by the compiler specified in build_compiler.
  • defines_program_static: Must only contain any number of valid macro names supported by the compiler specified in build_compiler.
  • defines_shared: Must only contain any number of valid macro names supported by the compiler specified in build_compiler.
  • defines_static: Must only contain any number of valid macro names supported by the compiler specified in build_compiler.
  • environment: Environment variable names, case-sensitive, usually uppercase. May only contain characters allowed in an environment variable.
  • flags: Must only contain any number of parameters supported by the compiler specified in build_compiler.
  • flags_library: Must only contain any number of parameters supported by the compiler specified in build_compiler.
  • flags_library_shared: Must only contain any number of parameters supported by the compiler specified in build_compiler.
  • flags_library_static: Must only contain any number of parameters supported by the compiler specified in build_compiler.
  • flags_object: Must only contain any number of parameters supported by the compiler specified in build_compiler.
  • flags_object_shared: Must only contain any number of parameters supported by the compiler specified in build_compiler.
  • flags_object_static: Must only contain any number of parameters supported by the compiler specified in build_compiler.
  • flags_program: Must only contain any number of parameters supported by the compiler specified in build_compiler.
  • flags_program_shared: Must only contain any number of parameters supported by the compiler specified in build_compiler.
  • flags_program_static: Must only contain any number of parameters supported by the compiler specified in build_compiler.
  • flags_shared: Must only contain any number of parameters supported by the compiler specified in build_compiler.
  • flags_static: Must only contain any number of parameters supported by the compiler specified in build_compiler.
  • has_path_standard: Must only one of: yes or no.
  • modes: Any valid word character, -, or +.
  • modes_default: May only be a single complete Content word defined in modes Object.
  • path_headers: Must be a single valid path.
  • path_language: Must be a single valid path.
  • path_library_script: Must be a single valid path.
  • path_library_shared: Must be a single valid path.
  • path_library_static: Must be a single valid path.
  • path_object_script: Must be a single valid path.
  • path_object_shared: Must be a single valid path.
  • path_object_static: Must be a single valid path.
  • path_program_script: Must be a single valid path.
  • path_program_shared: Must be a single valid path.
  • path_program_static: Must be a single valid path.
  • path_sources: Must only be a valid directory path or not specified.
  • path_sources_headers: Must only be a valid directory path or not specified.
  • path_sources_library: Must only be a valid directory path or not specified.
  • path_sources_object: Must only be a valid directory path or not specified.
  • path_sources_program: Must only be a valid directory path or not specified.
  • path_sources_script: Must only be a valid directory path or not specified.
  • preserve_path_headers: Must only be one of yes or no.
  • process_post: Must contain only a single valid filename.
  • process_pre: Must contain only a single valid filename.
  • search_exclusive: Must only one of: yes or no.
  • search_shared: Must only one of: yes or no.
  • search_static: Must only one of: yes or no.
  • stage: Only zero or one Content, which represents the build stage name (case-sensitive) (no slashes allowed).
  • version_file: Must only be one of: major, minor, micro, or nano.
  • version_major: Must only be a single value containing valid filename characters.
  • version_major_prefix: Must be zero or more valid filename characters.
  • version_micro: Must only be a single value containing valid filename characters.
  • version_micro_prefix: Must be zero or more valid filename characters.
  • version_minor: Must only be a single value containing valid filename characters.
  • version_minor_prefix: Must be zero or more valid filename characters.
  • version_nano: Must only be a single value containing valid filename characters.
  • version_nano_prefix: Must be zero or more valid filename characters.
  • version_target: Must only be one of: major, minor, micro, or nano.

All Object names support having a - and a mode name, such as build_libraries-individual for a mode called individual, except for the modes and the modes_default Object names.