diff --git a/build/org.eclipse.cdt.meson-feature/feature.xml b/build/org.eclipse.cdt.meson-feature/feature.xml index 352177769da..4554e196376 100644 --- a/build/org.eclipse.cdt.meson-feature/feature.xml +++ b/build/org.eclipse.cdt.meson-feature/feature.xml @@ -2,7 +2,7 @@ @@ -33,6 +33,12 @@ version="0.0.0" unpack="false"/> + + + + org.eclipse.cdt.meson.docs + + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + + diff --git a/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/Building.html b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/Building.html new file mode 100644 index 00000000000..051e4aa5a4d --- /dev/null +++ b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/Building.html @@ -0,0 +1,77 @@ + + + + + Meson Plug-in User Guide - Building + + + + + + + + + + + + + + + + + + +

Building

+

There are a number of ways to build the Meson project.

+

Using the Launch bar, just hit the hammer: + icon and the project will be built appropriately for the launch type. If the project is unconfigured, any options specified in the Property Page are used to run the meson command. Otherwise, just the buildtype is defaulted according to the launch target in the Launch bar (run = release, debug = debug). +

+

If any errors occur during the meson stage, they are reported and the build is stopped. Otherwise, the ninja command is run and the results output to the build console.

+

+ +

+

The build can also be started using the Eclipse hammer: + icon or via Project -> Build. +

+

Cleaning the project is done using Project -> Clean. The clean operation performs a meson clean command for the active configuration.

+

+ +

+

If the user needs to build a different target (e.g. install) or specify environment variables to ninja, then they must use the Run ninja context menu item that is available when right-clicking on a project or file in the project in the Project Explorer View. This brings up the Run Ninja dialog.

+

+ +

+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/Configuration.html b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/Configuration.html new file mode 100644 index 00000000000..9ac8b9d418e --- /dev/null +++ b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/Configuration.html @@ -0,0 +1,75 @@ + + + + + Meson Plug-in User Guide - Configuration + + + + + + + + + + + + + + + + + + +

Configuration

+

To specify configuration options, go to Project -> Properties -> Meson

+

The meson command without arguments can only be run for a build directory once. After it has been run once, a user may use the meson configure command to change some parameters of the configuration. Thus, there are two UI pages presented to the user:

+
    +
  1. specifying options for meson prior to the first configuration/build
  2. +
  3. specifying options for meson configure after the project has been configured at least once
  4. +
+

Before the first configuration, the Meson plug-ins use the output of the meson -h command and parses the output to create the UI page.

+

+ +

+

Parameters that have a set of values are presented as a combo, boolean options are presented as a checkbox, and string options are presented as text boxes. In addition, the user may specify Project specific options and Environment variables. Project specified options are created in a special file called meson_options.txt and are set like a compiler flag (-Dname[=value]). The project specified options are not parsed by the Meson plug-ins so the user must know what is possible ahead of configuration. Environment variables are specified as NAME=VALUE pairs and are used during the meson command (e.g. CC=/my/dir/gcc).

+

By default, the meson buildtype parameter is set based on the active configuration launch type (run = release, debug = debug). The user can override this prior to configuration and change the build type as needed (e.g. debugoptimized or plain). Likewise, the user can simply change the launch type using the Launch bar.

+

After configuration, the Meson plug-in uses the output of meson configure to get the set of options that can be changed and parses them to create the UI page. Project options are returned as part of the output and are parsed like any other option (presented either as a combo, checkbox, or text entry).

+

+ +

+

Hitting the Apply or Apply and Close buttons will end up running the meson configure command immediately with any options that have been changed in the dialog.

+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/Creating-a-Meson-Project.html b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/Creating-a-Meson-Project.html new file mode 100644 index 00000000000..6081f2e315f --- /dev/null +++ b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/Creating-a-Meson-Project.html @@ -0,0 +1,68 @@ + + + + + Meson Plug-in User Guide - Creating a Meson Project + + + + + + + + + + + + + + + + + + +

Creating a Meson Project

+

To create a Meson project, use File -> New -> C/C++ Project Either find the Meson projects in the list of all projects or click on Meson in the left-hand column to filter out non-Meson projects.

+

+ +

+

There are two choices: Empty Project or Meson Project. Since Meson projects configure whether they support C, C++, or both, there is no need to specify a language as is done for the old Managed Build projects. The Empty Project template means that no files will be supplied to the new project while the Meson Project is a sample C hello world program that uses Meson for configuring the build.

+

To use a Meson project you have checked out in your system, choose the Empty Project template and then change the location of the project to point to where the project exists on your system.

+

+ +

+

The Meson plug-ins will perform builds in the build directory with a separate directory per configuration. (e.g. {$Project}/build/default). By default, there are two basic configurations, run and debug.

+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/Supported-Environments.html b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/Supported-Environments.html new file mode 100644 index 00000000000..058e5274c2d --- /dev/null +++ b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/Supported-Environments.html @@ -0,0 +1,59 @@ + + + + + Meson Plug-in User Guide - Supported Environments + + + + + + + + + + + + + + + + + + +

Supported Environments

+

The Meson plug-ins work on all the platforms that CDT supports.

+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/Updating-This-Document.html b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/Updating-This-Document.html new file mode 100644 index 00000000000..c18c44a58b1 --- /dev/null +++ b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/Updating-This-Document.html @@ -0,0 +1,54 @@ + + + + + Meson Plug-in User Guide - Updating This Document + + + + + + + + + + + + + + + + + + +

Updating This Document

+

This document is maintained in a collaborative wiki. If you wish to update or modify this document please visit + + http://wiki.eclipse.org/CDT/Meson/User_Guide +

+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/User-Guide.html b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/User-Guide.html new file mode 100644 index 00000000000..caa7687d8dd --- /dev/null +++ b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/User-Guide.html @@ -0,0 +1,61 @@ + + + + + Meson Plug-in User Guide + + + + + + + + + + + + + + + + + + +

Introduction

+

The Meson feature for Eclipse is an optional feature of the CDT (C/C++ Development Tools) that adds support for maintaining and + building C/C++ projects that use the Meson build system. The Meson build system is akin to Autotools in that a project is configured before building. Like Autotools, configuration involves testing the build system and toolsets supported. Once configured, the project is built by a second tool, akin to the Make tool used in Autotools. While Meson supports more than one Make-like tool to build the project, the CDT Meson plug-ins currently only have support for "ninja".

+

The configuration data for the project is stored in a file called: "meson.build". This file contains directives that are interpreted by the meson command. Directives include which languages are used, what executables/targets are created, sources, special configuration options, and any special build-time tests among other things. Many tests are automatic so the configuration file does not require much.

+

The following is a sample meson.build file:

+

+ project('hello', 'c') +
+ executable('hello', 'hello.c') +
+

+

This file tells meson that the project name hello is a C project and that it creates a single executable called hello which is formed from hello.c. Meson will find the C compiler, etc.. needed to build this project on this build machine.

+

Running meson in the directory containing meson.build will create a ninja.build file in the build directory (or specified build directory).

+

For more details see: + http://mesonbuild.com/ +

+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/images/MesonCleanBuild.png b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/images/MesonCleanBuild.png new file mode 100644 index 00000000000..96a006327c9 Binary files /dev/null and b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/images/MesonCleanBuild.png differ diff --git a/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/images/MesonConfigurePropertyPage.png b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/images/MesonConfigurePropertyPage.png new file mode 100644 index 00000000000..6b3a115741b Binary files /dev/null and b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/images/MesonConfigurePropertyPage.png differ diff --git a/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/images/MesonExistingProject.png b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/images/MesonExistingProject.png new file mode 100644 index 00000000000..08e90130c74 Binary files /dev/null and b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/images/MesonExistingProject.png differ diff --git a/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/images/MesonHammerIcon.png b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/images/MesonHammerIcon.png new file mode 100644 index 00000000000..c0272bb5d88 Binary files /dev/null and b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/images/MesonHammerIcon.png differ diff --git a/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/images/MesonLaunchbarBuild.png b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/images/MesonLaunchbarBuild.png new file mode 100644 index 00000000000..f6438393996 Binary files /dev/null and b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/images/MesonLaunchbarBuild.png differ diff --git a/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/images/MesonNewProjectDialog.png b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/images/MesonNewProjectDialog.png new file mode 100644 index 00000000000..1f92260cbd5 Binary files /dev/null and b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/images/MesonNewProjectDialog.png differ diff --git a/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/images/MesonRunNinja.png b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/images/MesonRunNinja.png new file mode 100644 index 00000000000..7617b99772b Binary files /dev/null and b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/images/MesonRunNinja.png differ diff --git a/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/images/MesonUnconfiguredPropertyPage.png b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/images/MesonUnconfiguredPropertyPage.png new file mode 100644 index 00000000000..70c4049f15a Binary files /dev/null and b/build/org.eclipse.cdt.meson.docs/CDT/Meson/User_Guide/images/MesonUnconfiguredPropertyPage.png differ diff --git a/build/org.eclipse.cdt.meson.docs/META-INF/MANIFEST.MF b/build/org.eclipse.cdt.meson.docs/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..6c630fc0f2c --- /dev/null +++ b/build/org.eclipse.cdt.meson.docs/META-INF/MANIFEST.MF @@ -0,0 +1,9 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %bundleName +Bundle-SymbolicName: org.eclipse.cdt.meson.docs;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-Vendor: %provider +Bundle-Localization: plugin +Require-Bundle: org.eclipse.help, + org.eclipse.ui.cheatsheets diff --git a/build/org.eclipse.cdt.meson.docs/about.html b/build/org.eclipse.cdt.meson.docs/about.html new file mode 100644 index 00000000000..c258ef55d83 --- /dev/null +++ b/build/org.eclipse.cdt.meson.docs/about.html @@ -0,0 +1,28 @@ + + + + +About + + +

About This Content

+ +

June 5, 2006

+

License

+ +

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

+ +

If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

+ + + \ No newline at end of file diff --git a/build/org.eclipse.cdt.meson.docs/book.css b/build/org.eclipse.cdt.meson.docs/book.css new file mode 100644 index 00000000000..797473964ab --- /dev/null +++ b/build/org.eclipse.cdt.meson.docs/book.css @@ -0,0 +1,59 @@ +/* following font face declarations need to be removed for DBCS */ + + +body, h1, h2, h3, h4, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-family: Arial, sans-serif; color: #000000} +pre { font-family: Courier, monospace} + +/* end font face declarations */ + +/* following font size declarations should be OK for DBCS */ +body, h1, h2, h3, h4, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-size: 12pt; } +pre { font-size: 12pt} + +/* end font size declarations */ + +body { background: #FFFFFF} +h1 { font-size: 18pt; margin-top: 5; margin-bottom: 1 } +h2 { font-size: 14pt; margin-top: 25; margin-bottom: 3 } +h3 { font-size: 11pt; margin-top: 20; margin-bottom: 3 } +h4 { font-size: 10pt; margin-top: 20; margin-bottom: 3; font-style: italic } +h5 { font size: 13.5pt; } +p { font-size: 12pt; } +pre { margin-left: 6; font-size: 9pt } + +a:link { color: #006699 } +a:visited { color: #996699 } +a:hover { color: #006699 } + +ul { margin-top: 0; margin-bottom: 10 } +li { margin-top: 0; margin-bottom: 0 } +li p { margin-top: 0; margin-bottom: 0 } +ol { margin-top: 0; margin-bottom: 10 } +dl { margin-top: 0; margin-bottom: 10 } +dt { margin-top: 0; margin-bottom: 0; font-weight: bold } +dd { margin-top: 0; margin-bottom: 0 } +strong { font-weight: bold} +em { font-style: italic} +var { font-style: italic} +div.revision { border-left-style: solid; border-left-width: thin; + border-left-color: #7B68EE; padding-left:5 } +th { font-weight: bold } +.hidden { + display: none; +} + +/* Mike Behm's addition to the style sheet */ +.userinput { font-family: monospace; } +.guitab, .important, .guibutton, .selectblue, .guimenu, .guilabel, +.notetitle { + color: #000000; + font-family: helvetica, arial, sans-serif; + font-weight: bold; + } +div.linux {display:none;} +.firsterm {font-style:italic;} + +.typewriter {font-family:monospace;} +.bold {font-weight:600;} +.linethrough {text-decoration: line-through;} +.underline {text-decoration: underline;} diff --git a/build/org.eclipse.cdt.meson.docs/build-helper.xml b/build/org.eclipse.cdt.meson.docs/build-helper.xml new file mode 100644 index 00000000000..fd6cd2d544f --- /dev/null +++ b/build/org.eclipse.cdt.meson.docs/build-helper.xml @@ -0,0 +1,63 @@ + + + + + Generate Eclipse help content for the CDT meson user guide + + + + + + + + + + + + += Updating This Document = + +This document is maintained in a collaborative wiki. If you wish to update or modify this document please visit +http://wiki.eclipse.org/CDT/Meson/User_Guide + + + + + + + + +Validating help content XML and HTML files: The Eclipse help system expects well-formed XML + +If validation fails it is because either: + +* the userguide source code is poorly formed, or +* the WikiText MediaWiki parser has a bug + +Problems with userguide source are usually caused by improper use of HTML markup in the MediaWiki source, +or inadvertently starting a line with a space character (in MediaWiki this starts a preformatted block) + + + + + + + + + + + + + diff --git a/build/org.eclipse.cdt.meson.docs/build-index.xml b/build/org.eclipse.cdt.meson.docs/build-index.xml new file mode 100644 index 00000000000..71f98cae282 --- /dev/null +++ b/build/org.eclipse.cdt.meson.docs/build-index.xml @@ -0,0 +1,16 @@ + + + + + + + diff --git a/build/org.eclipse.cdt.meson.docs/build.properties b/build/org.eclipse.cdt.meson.docs/build.properties new file mode 100644 index 00000000000..28bb7eca7cd --- /dev/null +++ b/build/org.eclipse.cdt.meson.docs/build.properties @@ -0,0 +1,12 @@ +bin.includes = META-INF/,\ + plugin.xml,\ + toc.xml,\ + about.html,\ + plugin.properties,\ + doc/,\ + index/,\ + images/,\ + book.css,\ + CDT/ +jars.compile.order = . + diff --git a/build/org.eclipse.cdt.meson.docs/doc/notices.html b/build/org.eclipse.cdt.meson.docs/doc/notices.html new file mode 100644 index 00000000000..ec4caca1584 --- /dev/null +++ b/build/org.eclipse.cdt.meson.docs/doc/notices.html @@ -0,0 +1,22 @@ + + + + + + + + + Legal Notices + + + +

+Notices

+

+The material in this guide is © Copyright 2018 Eclipse Linux Tools project committers and others. +

+

+Terms and conditions regarding the use of this guide. +

+ + diff --git a/build/org.eclipse.cdt.meson.docs/extract-markup.xsl b/build/org.eclipse.cdt.meson.docs/extract-markup.xsl new file mode 100644 index 00000000000..4c4e731948b --- /dev/null +++ b/build/org.eclipse.cdt.meson.docs/extract-markup.xsl @@ -0,0 +1,9 @@ + + + + + + + + diff --git a/build/org.eclipse.cdt.meson.docs/images/home.gif b/build/org.eclipse.cdt.meson.docs/images/home.gif new file mode 100644 index 00000000000..4472e8ce5b3 Binary files /dev/null and b/build/org.eclipse.cdt.meson.docs/images/home.gif differ diff --git a/build/org.eclipse.cdt.meson.docs/images/next.gif b/build/org.eclipse.cdt.meson.docs/images/next.gif new file mode 100644 index 00000000000..e2f8c3e1fee Binary files /dev/null and b/build/org.eclipse.cdt.meson.docs/images/next.gif differ diff --git a/build/org.eclipse.cdt.meson.docs/images/prev.gif b/build/org.eclipse.cdt.meson.docs/images/prev.gif new file mode 100644 index 00000000000..4fb41501036 Binary files /dev/null and b/build/org.eclipse.cdt.meson.docs/images/prev.gif differ diff --git a/build/org.eclipse.cdt.meson.docs/plugin.properties b/build/org.eclipse.cdt.meson.docs/plugin.properties new file mode 100644 index 00000000000..f40affe515b --- /dev/null +++ b/build/org.eclipse.cdt.meson.docs/plugin.properties @@ -0,0 +1,13 @@ +################################################################################# +# Copyright (c) 2018 Red Hat, Inc. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Red Hat Incorporated - initial API and implementation +################################################################################# +bundleName=Meson Documentation +provider=Eclipse CDT +AutotoolsCheatSheetName=Creating a GNU Meson Project diff --git a/build/org.eclipse.cdt.meson.docs/plugin.xml b/build/org.eclipse.cdt.meson.docs/plugin.xml new file mode 100644 index 00000000000..21481e1702b --- /dev/null +++ b/build/org.eclipse.cdt.meson.docs/plugin.xml @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/build/org.eclipse.cdt.meson.docs/pom.xml b/build/org.eclipse.cdt.meson.docs/pom.xml new file mode 100644 index 00000000000..2865873a5a5 --- /dev/null +++ b/build/org.eclipse.cdt.meson.docs/pom.xml @@ -0,0 +1,126 @@ + + + 4.0.0 + + + org.eclipse.cdt + cdt-parent + 9.5.0-SNAPSHOT + ../../pom.xml + + + 1.0.0-SNAPSHOT + org.eclipse.cdt.meson.docs + eclipse-plugin + + + + build-doc + + + !skipDoc + + + + + + org.eclipse.tycho.extras + tycho-eclipserun-plugin + ${tycho-extras-version} + + -application org.eclipse.ant.core.antRunner -buildfile build-index.xml build.index + + + org.apache.ant + eclipse-plugin + + + org.eclipse.help.base + eclipse-plugin + + + org.eclipse.ant.core + eclipse-plugin + + + + + + + eclipse-run + + compile + + + + + + + + regenHelp + + + + maven-antrun-plugin + + + helpdocs + generate-resources + + + + + + + + + run + + + + + + org.eclipse.mylyn.docs + org.eclipse.mylyn.wikitext.mediawiki.ant + 3.0.23 + + + + + + + + fake-doc + + + skipDoc + + + + + + maven-antrun-plugin + 1.8 + + + compile + + + + + + + run + + + + + + + + + diff --git a/build/org.eclipse.cdt.meson.docs/toc.xml b/build/org.eclipse.cdt.meson.docs/toc.xml new file mode 100644 index 00000000000..9866b812767 --- /dev/null +++ b/build/org.eclipse.cdt.meson.docs/toc.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 9d53c35e99e..cd5a530bed7 100644 --- a/pom.xml +++ b/pom.xml @@ -75,6 +75,7 @@ build/org.eclipse.cdt.cmake-feature build/org.eclipse.cdt.meson.core + build/org.eclipse.cdt.meson.docs build/org.eclipse.cdt.meson.ui build/org.eclipse.cdt.meson.ui.editor build/org.eclipse.cdt.meson-feature @@ -571,6 +572,7 @@ + diff --git a/releng/org.eclipse.cdt.repo/category.xml b/releng/org.eclipse.cdt.repo/category.xml index 6ec8b92656f..001452522f7 100644 --- a/releng/org.eclipse.cdt.repo/category.xml +++ b/releng/org.eclipse.cdt.repo/category.xml @@ -95,6 +95,12 @@ + + + + + +