1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-22 22:22:11 +02:00
cdt/doc/org.eclipse.cdt.doc.user/reference/cdt_u_properties.htm
Jeff Johnston c96d126b86 Bug 513589 - Add support to build CDT projects in a Docker Container
- add IOptionalBuildObjectPropertiesContainer interface to use for
  objects that supply optional build properties
- add new IOptionalBuildProperties interface that defines
  optional build properties donated by external plug-ins
- add new
- change IConfiguration to an IOptionalBuildObjectPropertiesContainer
- change IManagedProject to be an
  IOptionalBuildObjectPropertiesContainer
- fix ProcessClosure to ensure that readers are not null before
  accessing them
- fix Container launch delegate to look at project optional
  build properties for active configuration to fetch connection
  and image info and use said info to find a matching
  launch or create a new one
- have Container launch delegate use the image name as part of
  the launch config name
- have Container launch short-cut also use the project's
  optional build properties for the active config to get
  connection and image information before any defaulting
- change AutotoolsNewMarkerGenerator to store the command
  launcher as an ICommandLauncher
- add new CommandLauncherFactory extension to cdt.core that
  allows plug-ins to specify a CommandLauncherFactory that
  will return an ICommandLauncher based on the project
- add macros for new extension to CCorePlugin
- add new CommandLauncherManager class that loads
  CommandLauncherFactory extensions and is used to give
  an ICommandLauncher wrapper that will go through the list
  of CommandLauncherFactory extensions until one returns
  non-null ICommandLauncher
- add code to RemoteCommandLauncher so it will use the
  CommandLauncherManager to get the local launcher
- also change RemoteCommandLauncher to check at execution
  time whether the command is local and in that case use
  the local command launcher
- add new ICommandLauncherFactory interface
- add new ContainerCommandLauncher to launch
- add new ContainerCommandLauncherFactory class for returning
  a ContainerCommandLauncher instance to launch commands
  in a Docker Container
- change MakeBuilder to use CommandLauncherManager to get
  its ICommandLauncher
- change CommandBuilder to use CommandLauncherManager too
- ditto for Builder and AbstractBuiltinSpecsDetector and
  ExternalToolInvoker
- change Configuration to load/store optional build properties
  as well as return the properties to get/set
- ditto for MultiConfiguration
- change ManagedProject to implement IOptionalBuildOptionProperties
  interface
- ditto for ProjectType
- create new OptionalBuildProperties class to store optional
  build properties for a configuration
- bump cdt.docker.launcher to 1.1.0
- use CommandLauncherFactory extension to define
  ContainerCommandLauncherFactory
- add optional ContainerPropertyTab which allows the end-user to
  optionally choose to build a C/C++ project in a Container
  and specify the connection/image to use
- in LanguageSettingsSerializableSettings class, call the
  CommandLauncherManager getLanguageSettingEntries method
  to get the massaged language setting entries based on the
  current list
- in LanguageSettingsProviderSerializer, try and get the
  pooled entries using the cfg description so that it will
  have the project and can use the CommandLauncherManager
  to get entries from image
- in ContainerCommandLauncherFactory move cached headers under
  a HEADERS directory in the plug-in area
  - create a sub-directory for the connection and a sub-directory
    for the image based on cleansed names
  - store the real names of the connection and image to use
    later in the DockerHeaderPreferencePage
- modify LanguageSettingsEntriesTab to force the horizontal
  scroll bar to appear (this is a bug in SWT SashForm support
  and the fix here isn't quite correct, but is better)
- add new DockerHeaderPreferencePage that allows user to
  remove cached headers from images
- change C/C++ Docker preferences to be titled: Docker Container
- fix LanguageSettingsWorkspaceProvider.getSettingEntries method
  to use the CommandLauncherManager so entries will be transformed
  to use cached headers
- add BaseDatabindingModel class
- add DataVolumeModel class to model a volume mount
- add ContainerPropertyVolumes model to model volume specification
  and selected volumes
- add properties to ContainerCommandLauncher to represent
  volumes and selected volumes for a configuration
- add ContainerDataVolumeDialog for specifying a volume
  mount by the end-user
- add a null detector for cfgDescription in
  LanguageSettingsSerializableProvider
- fix AutotoolsNewMakeGenerator.getWinOSType to not specify "." for
  working dir
- fix GCCBuiltinSpecsDetectorCygwin to not map paths to Cygwin if
  the current configuration is enabled for container build
- add logic to ContainerCommandLauncher to look for Windows
  file formats and change them to unix format and map
  any "." working dir to be /tmp
- fix ContainerLauncherConfigurationDelegate similarly
- fix AbstractBuiltinSpecsDetector to pass in the current
  configuration description when getting the CommandLauncher
  since the current configuration may not be the active
  configuration
- change ContainerPropertyTab to add Elf and GNU Elf binary parsers
  when build in Container is chosen so that output executables
  are treated as Binaries by the CDT project
- add documentationl for the ContainerPropertyTab in Build Settings and
  the Data Volume dialog pop-up it brings up
- change CommandBuilder to accept a project as an argument
  to its constructor and to pass this as an argument to
  the CommandLauncherManager
- have StepBuilder pass project when creating a CommandBuilder

Change-Id: Ia78488b93056e6ec7ca83a6c87b3a9d2b9424943
2017-10-22 05:38:51 -04:00

89 lines
No EOL
4.3 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>CDT Properties</title>
<link rel="stylesheet" type="text/css" href="../help.css">
</head>
<body>
<div role="main"><h1>CDT Properties</h1>
<p>This section describes C/C++ Properties.</p>
<p>Properties can be obtained for CDT projects, folders and separate files.
To select object properties, right click on object in view and select <strong>Properties</strong>.</p>
<p><img img src="../images/projects_properties.png" alt="Selecting C/C++ Project Properties"></p>
<p><img src="../images/ngconcepts.gif" ALT="Related concepts" width="143" height="21"> <br>
<a href="../concepts/cdt_c_projects.htm">CDT projects</a></p>
<p><img src="../images/ngref.gif" ALT="Related reference" width="143" height="21"><br>
<ul>
<li><a href="cdt_u_prop_resource.htm">Project Properties, Resource page</a>
<li><a href="cdt_u_prop_builders.htm">Project Properties, Builders page</a>
<li><a href="cdt_u_prop_all.htm">Project Properties, common C/C++ Configurations handling</a>
<ul style="list-style-type: disc">
<li><a href="cdt_u_prop_manage_dialog.htm">Manage Configurations dialog</a>
<li><a href="cdt_u_prop_manage_newdialog.htm">Create Configuration dialog</a>
<li><a href="cdt_u_prop_manage_rendialog.htm">Rename Configuration dialog</a>
</ul>
<li><a href="cdt_u_prop_build.htm">Project Properties, C/C++ Build category</a>
<ul style="list-style-type: disc">
<li><a href="cdt_u_prop_build_discovery.htm">Discovery options page</a>
<li><a href="cdt_u_prop_build_environment.htm">Environment page</a>
<li>Settings page
<ul>
<li><a href="cdt_u_prop_build_settings_tool.htm"> Tool Settings tab</a>
<li><a href="cdt_u_prop_build_settings_container.htm">Container Settings tab</a>
<li><a href="cdt_u_prop_build_settings_steps.htm"> Build Steps tab</a>
<li><a href="cdt_u_prop_build_settings_artifact.htm"> Build Artifact tab</a>
<li><a href="cdt_u_prop_build_settings_binparser.htm">Binary Parsers tab</a>
<li><a href="cdt_u_prop_build_settings_errparser.htm">Error Parsers tab</a>
</ul>
<li><a href="cdt_u_prop_build_toolchain.htm">Tool chain editor page</a>
<li><a href="cdt_u_prop_build_variables.htm">Variables page</a>
</ul>
<li>Project Properties, <a href="cdt_u_prop_general.htm">C/C++ General category</a>
<ul style="list-style-type: disc">
<li><a href="cdt_u_prop_general_doc.htm">Documentation page</a>
<li><a href="cdt_u_prop_general_exp.htm">Export Settings page</a>
<!--ul>
<li><a href="cdt_u_prop_general_exp_inc.htm">Includes tab</a>
<li><a href="cdt_u_prop_general_exp_sym.htm">Symbols tab</a>
<li><a href="cdt_u_prop_general_exp_lib.htm">Libraries tab</a>
<li><a href="cdt_u_prop_general_exp_libpath.htm">Libraries path tab</a>
</ul-->
<li><a href="cdt_u_prop_general_typ.htm">File Types page</a>
<li><a href="cdt_u_prop_general_idx.htm">Indexer page</a>
<li><a href="cdt_u_prop_general_lng.htm">Language Mapping page</a>
<li>Paths and Symbols page
<ul>
<li><a href="cdt_u_prop_general_pns_inc.htm">Includes tab</a>
<li><a href="cdt_u_prop_general_pns_sym.htm">Symbols tab</a>
<li><a href="cdt_u_prop_general_pns_lib.htm">Libraries tab</a>
<li><a href="cdt_u_prop_general_pns_libpath.htm">Libraries path tab</a>
<li><a href="cdt_u_prop_general_pns_src.htm">Source Location tab</a>
<li><a href="cdt_u_prop_general_pns_out.htm">Output Location tab</a>
<li><a href="cdt_u_prop_general_pns_ref.htm">References tab</a>
<li><a href="cdt_u_prop_general_pns_hier.htm">Data Hierarchy tab</a>
</ul>
<li><a href="cdt_u_prop_general_scanner_discovery.htm">Preprocessor Include Paths, Macros, etc.</a>
<ul>
<li><a href="cdt_u_prop_general_sd_entries.htm">Entries tab</a>
<li><a href="cdt_u_prop_general_sd_providers.htm">Providers tab</a>
</ul>
</ul>
<li><a href="cdt_u_prop_ref.htm">C/C++ Project Properties, Project References page</a>
<li><a href="cdt_u_prop_rundebug.htm">C/C++ Project Properties, Run/Debug Settings page</a>
</ul>
</p>
<p><img src="../images/intl_07.gif" ALT="Intel Copyright Statement" ></p>
</div></body>
</html>