Skip to content
Commits on Source (2)
......@@ -30,6 +30,10 @@ For developers and advanced users:
- [Packaging](#packaging)
- [Updating the development source codes](#updating-the-development-source-codes)
For package maintainers:
- [Packaging GMT](#packaging-gmt)
## Build and runtime dependencies
To build GMT, you must install:
......@@ -58,7 +62,7 @@ For viewing documentation under Linux via `gmt docs`, your need `xdg-open`:
Optionally install for building GMT documentations and running tests:
- [Sphinx](http://www.sphinx-doc.org) (>=1.4.x, for building the manpage and HTML documentation)
- [Sphinx](http://www.sphinx-doc.org) (>=1.4.x, for building the HTML documentation)
- [GraphicsMagick](http://www.graphicsmagick.org/) (for running the tests)
You also need to download support data:
......@@ -108,7 +112,7 @@ You then can install the GMT dependencies with:
# to enable movie-making
# ffmpeg is provided by [rmpfusion](https://rpmfusion.org/)
sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm
sudo yum install GraphicsMagick ffmpeg
# to enable document viewing via gmt docs
......@@ -199,7 +203,7 @@ For macOS with [homebrew](https://brew.sh/) installed, you can install the depen
brew install cmake curl netcdf ghostscript
# Install optional dependencies
brew install gdal pcre fftw
brew install gdal pcre2 fftw
# to enable movie-making
brew install graphicsmagick ffmpeg
......@@ -240,28 +244,29 @@ After installing vcpkg, you can install the GMT dependency libraries with (it ma
vcpkg install netcdf-c gdal pcre fftw3 clapack openblas --triplet x64-windows
# If you want to build x86 libraries
# NOTE: clapack and openblas currently aren't available for x86-windows.
vcpkg install netcdf-c gdal pcre fftw3 --triplet x86-windows
vcpkg install netcdf-c gdal pcre fftw3 clapack openblas --triplet x86-windows
# hook up user-wide integration (note: requires admin on first use)
vcpkg integrate install
After installing these dependency libraries, you need to add the bin path
(i.e. `C:\vcpkg\installed\x64-windows\bin`) to the system PATH,
to allow executables find the DLL shared libraries.
After installing these dependency libraries, you also need to add
vcpkg's bin path (i.e. `C:\vcpkg\installed\x64-windows\bin`) and
GDAL's bin path (i.e. `C:\vcpkg\installed\x64-windows\tools\gdal`),
to the system environmental variable `PATH`,
so that GMT executables can find the DLL shared libraries and
the GDAL tools (`gdal_translate` and `ogr2ogr`).
## Getting GMT source codes
The latest stable release of the GMT source codes (filename: gmt-x.x.x-src.tar.gz)
are available from the [GMT website](https://www.generic-mapping-tools.org) and
[GitHub Release Page](https://github.com/GenericMappingTools/gmt/releases)
are available from the [GMT main site](https://www.generic-mapping-tools.org).
If you want to build/use the latest developing/unstable GMT, you can get the source codes from GitHub by:
git clone https://github.com/GenericMappingTools/gmt
You can also get supporting data GSHHG and DCW (filename: gshhg-gmt-x.x.x.tar.gz and dcw-gmt-x.x.x.tar.gz)
from any of the [GMT FTP sites](MIRRORS.md).
from the [GMT main site](https://www.generic-mapping-tools.org).
Extract the files and put them in a separate directory (need not be where you eventually want to install GMT).
......@@ -362,7 +367,7 @@ cmake --build . --target install --config Release
will install gmt executable, library, development headers and built-in data
to the specified GMT install location.
Optionally it will also install the GSHHG shorelines (if found), DCW (if found),
UNIX manpages, and HTML documentations.
and HTML documentations.
Depending on where GMT is being installed, you might need
write permission for this step so you can copy files to system directories.
......@@ -370,9 +375,17 @@ Using `sudo` will often do the trick.
## Setting path
Make sure you set the PATH to include the directory containing the GMT executables
if this is not a standard directory like `/usr/local/bin`. Then, you should now be able to
run GMT programs.
Make sure you set the `PATH` to include the directory containing the GMT executables
if this is not a standard directory like `/usr/local/bin`.
For Linux/macOS users, open your SHELL configuration file (usually `~/.bashrc`)
and add the line below to it.
```
export PATH=${PATH}:/path/to/gmt/bin
```
Then, you should now be able to run GMT programs.
---
......@@ -380,16 +393,15 @@ run GMT programs.
## Building documentation
The GMT documentations are available in different formats and can be generated with:
The GMT documentation is available in HTML format and can be generated with:
```
cmake --build . --target docs_man # UNIX manual pages
cmake --build . --target docs_html # HTML manual, tutorial, cookbook, and API reference
cmake --build . --target docs_html # HTML documentation
```
To generate the documentation you need to install the [Sphinx](http://www.sphinx-doc.org/)
documentation builder. You can choose to install the documentation files
from an external location instead of generating the Manpages, and HTML files from the sources.
from an external location instead of generating the HTML files from the sources.
This is convenient if Sphinx is not available. Set *GMT_INSTALL_EXTERNAL_DOC* in
`cmake/ConfigUser.cmake`.
......@@ -468,3 +480,98 @@ cmake --build . --target install
CMake will detect any changes to the source files and will automatically
reconfigure. If you deleted all files inside the build directory you have to
run cmake again manually.
---
## Packaging GMT
**These recommendations are directed at package maintainers of GMT.**
First split off DCW-GMT and GSHHG into separate architecture independent packages,
e.g., `dcw-gmt` and `gshhg-gmt`, because they have a different development cycle.
Files should go into directories `/usr/share/dcw-gmt/` and `/usr/share/gshhg-gmt/` or
`/usr/share/gmt/{dcw,gshhg}/`. Then configure GMT as shown below.
### DCW-GMT
- **Homepage**: https://www.soest.hawaii.edu/pwessel/dcw/
- **Summary**: Digital Chart of the World (DCW) for GMT
- **License**: LGPL-3+
- **Source**:
- https://www.soest.hawaii.edu/pwessel/dcw/dcw-gmt-x.x.x.tar.gz
- ftp://ftp.soest.hawaii.edu/dcw/dcw-gmt-x.x.x.tar.gz
- **Description**: DCW-GMT is an enhancement to the original 1:1,000,000 scale vector basemap of the world,
available from the Princeton University Digital Map and Geospatial Information Center.
It contains more state boundaries (the largest 8 countries are now represented) than the original data source.
Information about DCW can be found on Wikipedia (https://en.wikipedia.org/wiki/Digital_Chart_of_the_World).
This data is for use by GMT, the Generic Mapping Tools.
### GSHHG
- **Homepage**: https://www.soest.hawaii.edu/pwessel/gshhg/
- **Summary**: Global Self-consistent Hierarchical High-resolution Geography (GSHHG)
- **License**: LGPL-3+
- **Source**:
- https://www.soest.hawaii.edu/pwessel/gshhg/gshhg-gmt-x.x.x.tar.gz
- ftp://ftp.soest.hawaii.edu/gshhg/gshhg-gmt-x.x.x.tar.gz
- **Description**: GSHHG is a high-resolution shoreline data set amalgamated from
two databases: Global Self-consistent Hierarchical High-resolution Shorelines (GSHHS)
and CIA World Data Bank II (WDBII). GSHHG contains vector descriptions at five different
resolutions of land outlines, lakes, rivers, and political boundaries.
This data is for use by GMT, the Generic Mapping Tools.
### GMT
- **Homepage**: https://www.generic-mapping-tools.org/
- **Summary**: Generic Mapping Tools
- **License**: GPL-3+, LGPL-3+, or Restrictive depending on LICENSE_RESTRICTED setting
- **Source**:
- ftp://ftp.soest.hawaii.edu/gmt/gmt-6.x.x-src.tar.xz
- ftp://ftp.soest.hawaii.edu/gmt/gmt-6.x.x-src.tar.gz
- **Description**: GMT is an open-source collection of command-line tools for
manipulating geographic and Cartesian data sets (including filtering, trend fitting,
gridding, projecting, etc.) and producing PostScript illustrations ranging from simple
x–y plots via contour maps to artificially illuminated surfaces and 3D perspective views.
It supports many map projections and transformations and includes supporting data
such as coastlines, rivers, and political boundaries and optionally country polygons.
- **Build dependencies**:
- cmake
- gcc
- curl
- netcdf
- gdal
- pcre
- fftw
- lapack
- openblas
- dcw-gmt
- gshhg-gmt
- **Runtime dependencies**:
- ghostscript (*required*)
- curl (*required*)
- netcdf (*required*)
- gdal
- pcre
- fftw
- lapack
- openblas
- dcw-gmt
- gshhg-gmt (at least the crude resolution GSHHG files are mandatory)
- **CMake arguments**:
```
-DCMAKE_C_FLAGS=-fstrict-aliasing
-DCMAKE_INSTALL_PREFIX=${prefix}
-DDCW_ROOT=${prefix}/share/gmt/dcw
-DGSHHG_ROOT=${prefix}/share/gmt/gshhg
-DNETCDF_ROOT=${prefix}
-DFFTW3_ROOT=${prefix}
-DGDAL_ROOT=${prefix}
-DPCRE_ROOT=${prefix}
-DGMT_INSTALL_MODULE_LINKS=off
-DGMT_INSTALL_TRADITIONAL_FOLDERNAMES=off
-DLICENSE_RESTRICTED=LGPL or -DLICENSE_RESTRICTED=no to include non-free code
```
Note that you have to configure and build out-of-source.
It is safe to make a parallel build with `make -j`.
It is expected that the GMT supplements plugin be distributed with the core programs.
# Citing GMT
If you think it is appropriate, you may consider paying us back by including
our latest EOS article in the reference list of your future publications that
our latest article in the reference list of your future publications that
will benefit from the availability of GMT:
> Wessel, P., W. H. F. Smith, R. Scharroo, J. F. Luis, and F. Wobbe (2013),
> Generic Mapping Tools: Improved version released, Eos Trans. AGU, 94(45),
> 409-410, doi:[10.1002/2013EO450001](https://doi.org/10.1002/2013EO450001)
> Wessel, P., Luis, J., Uieda, L., Scharroo, R., Wobbe, F., Smith, W. H. F., & Tian, D. (2019).
> The Generic Mapping Tools Version 6. Geochemistry, Geophysics, Geosystems, 20.
> https://doi.org/10.1029/2019GC008515
Here is a Bibtex entry for LaTeX users:
Here is a BibTeX entry for LaTeX users:
```
@article{wesseletal2013,
title = {Generic {{Mapping Tools}}: {{Improved Version Released}}},
author = {Wessel, Paul and Smith, Walter H. F. and Scharroo, Remko and Luis, Joaquim and Wobbe, Florian},
year = {2013},
journal = {Eos, Transactions American Geophysical Union},
volume = {94},
number = {45},
pages = {409-410},
issn = {2324-9250},
doi = {10.1002/2013EO450001},
@article{doi:10.1029/2019GC008515,
title = {The {Generic Mapping Tools} Version 6},
author = {Wessel, P. and Luis, J. and Uieda, L. and Scharroo, R. and Wobbe, F. and Smith, W.H.F. and Tian, D.},
year={2019},
journal = {Geochemistry, Geophysics, Geosystems},
doi = {10.1029/2019GC008515},
}
```
......@@ -113,8 +113,7 @@ if (GIT_FOUND AND HAVE_GIT_VERSION)
add_custom_target (git_prune_files
COMMAND ${CMAKE_COMMAND} -E remove
${GMT_RELEASE_PREFIX}/.azure-pipelines.yml
${GMT_RELEASE_PREFIX}/.gitignore
${GMT_RELEASE_PREFIX}/.travis.yml)
${GMT_RELEASE_PREFIX}/.gitignore)
add_depend_to_target (git_prune_dirs git_export_release)
add_depend_to_target (gmt_release git_prune_dirs)
add_depend_to_target (git_prune_files git_export_release)
......@@ -230,8 +229,7 @@ message(
"* Locations:\n"
"* Installing GMT in : ${CMAKE_INSTALL_PREFIX}\n"
"* GMT_DATADIR : ${CMAKE_INSTALL_PREFIX}/${GMT_DATADIR}\n"
"* GMT_DOCDIR : ${CMAKE_INSTALL_PREFIX}/${GMT_DOCDIR}\n"
"* GMT_MANDIR : ${CMAKE_INSTALL_PREFIX}/${GMT_MANDIR}")
"* GMT_DOCDIR : ${CMAKE_INSTALL_PREFIX}/${GMT_DOCDIR}")
# For debugging: print all set variables
#get_cmake_property(_variableNames VARIABLES)
......
......@@ -76,8 +76,9 @@ problem.
## Editing the Documentation
If you're browsing the documentation and notice a typo or something that could be
improved, please consider letting us know by [creating an issue](#reporting-a-bug) or
submitting a fix (even better :star2:).
improved, please consider letting us know. You can either
[create an issue](#reporting-a-bug) on GitHub, or click the "Edit on GitHub" button
at the top right corner of the documentation, and submit a fix (even better :star2:).
## Contributing Code
......
......@@ -8,7 +8,7 @@ and can be downloaded from the [GMT main site](https://www.generic-mapping-tools
and [the GitHub repository](https://github.com/GenericMappingTools/gmt/releases).
This file provides instructions for installing GMT binary packages on
different operating systems. Please refer to [Building Instructions](BUILDING.md)
different operating systems. Please refer to the [Building Instructions](BUILDING.md)
for compiling GMT source package (either stable release or development version).
## Contents
......@@ -17,11 +17,12 @@ for compiling GMT source package (either stable release or development version).
- [macOS](#macos)
* [Application Bundle](#application-bundle)
* [Install via Homebrew](#install-via-homebrew)
* [Install via macports](#install-via-macports)
* [Install via Macports](#install-via-macports)
* [Install via fink](#install-via-fink)
- [Linux](#linux)
* [Fedora](#fedora)
* [RHEL/CentOS](#rhelcentos)
* [Ubuntu/Debian](#ubuntudebian)
* [RHEL/CentOS/Fedora](#rhelcentosfedora)
- [Cross Platform Install Instructions](#cross-platform-install-instructions)
* [Install via conda](#install-via-conda)
......@@ -31,9 +32,9 @@ We provide 32 and 64 bit standalone installers (e.g., gmt-6.x.x-win64.exe)
on the [GMT main site](https://www.generic-mapping-tools.org).
The installers come with GDAL, FFmpeg, and Ghostscript pre-installed.
In addition to the GMT installer, you also need to donwload and install
[GraphicsMagick](http://www.graphicsmagick.org/) if you want to making movies in
GIF format.
In addition to the GMT installer, you also need to download and install
[GraphicsMagick](http://www.graphicsmagick.org/) if you want to create
animated GIFs.
## macOS
......@@ -61,12 +62,18 @@ run-time dependencies on executables that you will need to install separately:
- [GraphicsMagick](http://www.graphicsmagick.org/) (Convert images to animated GIFs)
- [FFmpeg](http://www.ffmpeg.org/) (Convert images to MP4 or WebM videos)
Install these via fink, macport, or homebrew. If you do not use any of these, then
we recommend installing [homebrew](https://brew.sh/). Now, run either the fink, port,
Install these via Fink, MacPorts, or Homebrew. If you do not use any of these, then
we recommend installing [Homebrew](https://brew.sh/). Now, run either the fink, port,
or brew command:
# For Fink users
fink install gdal ghostscript graphicsmagick ffmpeg
port install gdal ghostscript graphicsmagick ffmpeg
# For MacPorts users
sudo port install gdal +hdf5 +netcdf +openjpeg
sudo port install ghostscript graphicsmagick ffmpeg
# For Homebrew users
brew install gdal ghostscript graphicsmagick ffmpeg
### Install via Homebrew
......@@ -89,24 +96,31 @@ and to go from GMT 5 to GMT 4 (and vice-versa for 4 to 5, but see also the doc a
brew unlink gmt && brew link gmt4
You also need to install other GMT run-time dependencies seperately:
You also need to install other GMT run-time dependencies separately:
brew install ghostscript graphicsmagick ffmpeg
### Install via macports
### Install via MacPorts
Install [macports](https://www.macports.org/) and then the required ports in this order:
Install [MacPorts](https://www.macports.org) and then the required ports in this order:
sudo port install gdal +curl +geos +hdf5 +netcdf
sudo port install gmt5
sudo port install gdal +hdf5 +netcdf +openjpeg
sudo port install gmt6
A legacy GMT 4 port, gmt4, is available too and a side by side installation is possible.
Optional FFTW-3 support and experimental OpenMP parallel acceleration can be
enabled with the +fftw3 and +openmp flags.
enabled with the `+fftw3` and `+openmp` flags.
You also need to install other GMT run-time dependencies separately:
sudo port install graphicsmagick ffmpeg
For the legacy GMT 4 or GMT 5 versions, use:
You also need to install other GMT run-time dependencies seperately:
sudo port install gmt4
port install ghostscript graphicsmagick ffmpeg
or:
sudo port install gmt5
### Install via fink
......@@ -123,20 +137,87 @@ For the legacy GMT 4 version use:
The two versions cannot live side by side.
You also need to install other GMT run-time dependencies seperately:
You also need to install other GMT run-time dependencies separately:
fink install ghostscript graphicsmagick ffmpeg
## Linux
**Note:** For mysterious reasons, many Linux distros are way behind in packing
a recent GMT version. Typically you may find they offer 5.2.1 from 2015 while
the rest of us have moved on to 2018. Your best bet then is to
[build the latest release from source](BUILDING.md).
Otherwise, installing from the distros goes like this:
### Fedora
The GMT binary packages provided by the Fedora official repositories are usually too old.
We provide [the GMT official RPM repository](https://copr.fedorainfracloud.org/coprs/genericmappingtools/gmt)
to allow Fedora users access the latest GMT releases in an easy way.
Fedora users can add the GMT official RPM repository and install gmt by:
# enable the RPM repository
dnf copr enable genericmappingtools/gmt
# Install the latest GMT provided by the RPM repository
dnf install gmt
# Update to the latest version if available
dnf update gmt
You may also install other optional dependencies for more capabilities within GMT:
dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
dnf install GraphicsMagick ffmpeg gdal
**Note**:
If you already installed the GMT packages provided by Fedora,
you have to uninstall them before installing the new GMT packages provided
by the official GMT repository. You can uninstall the older packages by:
dnf uninstall GMT dcw-gmt gshhg-gmt-nc4 gshhg-gmt-nc4-full gshhg-gmt-nc4-high
### RHEL/CentOS
GMT binary packages are available from Extra Packages for Enterprise Linux (EPEL).
However, EPEL is far hebind packaging a recent version.
We provide [the GMT official RPM repository](https://copr.fedorainfracloud.org/coprs/genericmappingtools/gmt)
to allow RHEL/CentOS users access the latest GMT releases in an easy way.
For RHEL/CentOS, run:
# install epel-release
yum install epel-release
# enable the RPM repository (RHEL/CentOS 7 ONLY)
yum install yum-plugin-copr
yum copr enable genericmappingtools/gmt
# enable the RPM repository (RHEL/CentOS 6 ONLY)
wget https://copr.fedorainfracloud.org/coprs/genericmappingtools/gmt/repo/epel-6/genericmappingtools-gmt-epel-6.repo -O /etc/yum.repos.d/genericmappingtools-gmt-epel-6.repo
# Install GMT
yum install gmt
# Update to the latest version if available
yum update gmt
You may also install other optional dependencies for more capabilities within GMT:
yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm
yum install GraphicsMagick ffmpeg gdal
**Note**:
If you already installed the GMT packages provided by EPEL,
you have to uninstall them before installing the new GMT packages provided
by the official GMT repository. You can uninstall the older packages by:
yum uninstall GMT dcw-gmt gshhg-gmt-nc4 gshhg-gmt-nc4-full gshhg-gmt-nc4-high
### Ubuntu/Debian
**Note:** Ubuntu/Debian are way behind in packing a recent GMT version.
Typically you may find they offer 5.2.1 from 2015 while the rest of us have
moved on to 2019. Your best bet then is to
[build the latest release from source](BUILDING.md).
Otherwise, installing from the distros goes like this:
Install GMT5 via
sudo apt-get install gmt gmt-dcw gmt-gshhg
......@@ -152,24 +233,6 @@ Install other GMT dependencies (some are optional) via:
include the supplements. If you need them you will need to
[build from source](BUILDING.md) or upgrade to 18.04 LTS.
### RHEL/CentOS/Fedora
GMT binary packages are available from Extra Packages for Enterprise Linux.
For RHEL and CentOS you can add this repository by telling yum:
sudo yum install epel-release
then, you can install GMT5 via
sudo yum install GMT gshhg-gmt-nc4-all dcw-gmt
Install other GMT dependencies (some are optional) via:
# required
sudo yum install ghostscript
# optional
sudo yum install gdal
## Cross Platform Install Instructions
### Install via conda
......@@ -181,15 +244,12 @@ You can use the [conda package manager](https://conda.io/) that comes with the
This will give you access to the conda package manager. **Make sure you select to
have conda added to your `PATH` when asked by the installer**. If you have
the Anaconda Python distribution installed, you won't need to do this step.
2. Install GMT and its dependencies (including ghostscript and gdal) by running
the following in a terminal:
2. Install GMT and its dependencies (including ghostscript, gdal, ffmpeg and graphicsmagick)
by running the following in a terminal:
```
conda install gmt=6.0.0rc4 -c conda-forge/label/dev -c conda-forge
conda install gmt=6.0.0rc5 -c conda-forge/label/dev -c conda-forge
```
3. Install ffmpeg using conda by running the following in a terminal:
```
conda install ffmpeg -c conda-forge
```
NOTE: Currently conda-forge doesn't provide graphicsmagick on win-64 platform.
Windows users need to download and install graphicsmagick separately.
Copyright (c) 1991–2019 by the GMT Team (https://www.generic-mapping-tools.org/team.html)
As of GMT 5.0.0, GMT is distributed under the GNU Lesser General Public
License (LGPL) version 3 or later. Copies of the The GNU General Public
License (LGPL) version 3 or later. Copies of the GNU General Public
License (GPL) and the GNU Lesser General Public License (LGPL) are
distributed along with the sources. Refer to the files COPYINGv3 and
COPYING.LESSERv3.
......@@ -19,10 +21,13 @@ permission notice appear in supporting documentation, and that the name
of GMT not be used in advertising or publicity pertaining to
distribution of the software without specific, written prior
permission. The GMT package may be included in a bundled distribution
of software for which a fee may be charged. The University of Hawaii
(UH) and the National Oceanic and Atmospheric Administration (NOAA)
make no representations about the suitability of this software for any
purpose. It is provided "as is" without expressed or implied warranty.
It is provided with no support and without obligation on the part of UH
or NOAA, to assist in its use, correction, modification, or
enhancement.
of software for which a reasonable fee may be charged.
The GMT package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
In particular, the authors or any other individuals involved in the design and
maintenance of GMT, as well as their employers, are NOT responsible
for any damage that may follow from correct or incorrect use of these programs.
It is provided with no support and without obligation on the part of the authors,
to assist in its use, correction, modification, or enhancement.
# GMT FTP Sites
| Site | FTP address |
|:------------------------------------------------------------|:----------------------------------------------------|
| SOEST, U. of Hawaii | ftp://ftp.soest.hawaii.edu/gmt |
| Lab for Satellite Altimetry, NOAA | ftp://ftp.star.nesdis.noaa.gov/pub/sod/lsa/gmt |
| IRIS, Washington, US | ftp://ftp.iris.washington.edu/pub/gmt |
| IAG-USP, U. of Sao Paulo, BRAZIL | ftp://ftp.iag.usp.br/pub/gmt |
| TENET, Tertiary Education & Research Networks, SOUTH AFRICA | ftp://gmt.mirror.ac.za/gmt/ |
| Tokai U, Shimizu, JAPAN | ftp://ftp.scc.u-tokai.ac.jp/pub/gmt |
| University of Science and Technology of China, Hefei, CHINA | http://mirrors.ustc.edu.cn/gmt |
# Generic Mapping Tools
[![TravisCI](http://img.shields.io/travis/GenericMappingTools/gmt/master.svg?label=TravisCI)](https://travis-ci.org/GenericMappingTools/gmt)
[![Azure](https://dev.azure.com/GenericMappingTools/GMT/_apis/build/status/GenericMappingTools.gmt?branchName=master)](https://dev.azure.com/GenericMappingTools/GMT/_build/latest?definitionId=2&branchName=master)
[![CodeCov](https://img.shields.io/codecov/c/github/GenericMappingTools/gmt.svg)](https://codecov.io/gh/GenericMappingTools/gmt/)
[![Coverity](https://scan.coverity.com/projects/7153/badge.svg)](https://scan.coverity.com/projects/gmt)
......@@ -39,12 +38,12 @@ hobbyists.
## A reminder
If you think it is appropriate, you may consider paying us back by including
our latest EOS article in the reference list of your future publications that
our latest article in the reference list of your future publications that
will benefit from the availability of GMT:
> Wessel, P., W. H. F. Smith, R. Scharroo, J. F. Luis, and F. Wobbe (2013),
> Generic Mapping Tools: Improved version released, Eos Trans. AGU, 94(45),
> 409-410, doi:[10.1002/2013EO450001](https://doi.org/10.1002/2013EO450001)
> Wessel, P., Luis, J., Uieda, L., Scharroo, R., Wobbe, F., Smith, W. H. F., & Tian, D. (2019).
> The Generic Mapping Tools Version 6. Geochemistry, Geophysics, Geosystems, 20.
> https://doi.org/10.1029/2019GC008515
## Install GMT
......@@ -61,8 +60,6 @@ Note there are three GMT tar archives available (#3 is optional):
For macOS and Windows users there are separate installers available.
You can obtain GMT and support data from the [GMT main site](https://www.generic-mapping-tools.org).
Alternatively you may get GMT from any of the [FTP sites](MIRRORS.md).
Try the site that is closest to you to minimize transmission times:
Refer to the [install instructions](INSTALL.md) to install GMT,
and [build instructions](BUILDING.md) to build GMT from the sources.
......
......@@ -38,17 +38,17 @@ set (GMT_PACKAGE_DESCRIPTION_SUMMARY "The Generic Mapping Tools")
set (GMT_VERSION_YEAR "2019")
# The GMT release DOI
set (GMT_VERSION_DOI "TBD")
set (GMT_VERSION_DOI "https://doi.org/10.5281/zenodo.3407866")
# The GMT release citation
set (GMT_VERSION_CITATION "P. Wessel, J. Luis, L. Uieda, R. Scharroo, F. Wobbe, W.H.F. Smith and D. Tian (2019), The Generic Mapping Tools Version 6, Geochem. Geophys. Geosyst., in press.")
set (GMT_VERSION_CITATION "Wessel, P., Luis, J., Uieda, L., Scharroo, R., Wobbe, F., Smith, W. H. F., & Tian, D. (2019). The Generic Mapping Tools Version 6. Geochemistry, Geophysics, Geosystems, 20. https://doi.org/10.1029/2019GC008515")
# The GMT package version.
set (GMT_PACKAGE_VERSION_MAJOR 6)
set (GMT_PACKAGE_VERSION_MINOR 0)
set (GMT_PACKAGE_VERSION_PATCH 0)
# If this is a beta version or similar, add a string suffix
set (GMT_PACKAGE_VERSION_SUFFIX "rc4")
set (GMT_PACKAGE_VERSION_SUFFIX "rc5")
# Whether to make a public release.
# When making internal releases or just an ordinary developer build, it is set to FALSE.
......@@ -67,7 +67,7 @@ set (GMT_LIB_SOVERSION 6)
set (GMT_LIB_VERSION "${GMT_LIB_SOVERSION}.${GMT_PACKAGE_VERSION_MINOR}.${GMT_PACKAGE_VERSION_PATCH}")
# The GMT documentation URL
set (GMT_DOC_URL "https://docs.generic-mapping-tools.org/dev")
set (GMT_DOC_URL "https://docs.generic-mapping-tools.org/${GMT_PACKAGE_VERSION_MAJOR}.${GMT_PACKAGE_VERSION_MINOR}")
# Use SI units per default
if (NOT UNITS)
......@@ -107,13 +107,6 @@ if (NOT DEFINED GMT_INSTALL_EXTERNAL_DOC)
set (GMT_INSTALL_EXTERNAL_DOC ${GMT_SOURCE_DIR}/doc_release)
endif (NOT DEFINED GMT_INSTALL_EXTERNAL_DOC)
# Default location of release manpages. If the directory exists in the source
# tree, the files will be copied to GMT_MANDIR instead of creating manpages
# from source:
if (NOT DEFINED GMT_INSTALL_EXTERNAL_MAN)
set (GMT_INSTALL_EXTERNAL_MAN ${GMT_SOURCE_DIR}/man_release)
endif (NOT DEFINED GMT_INSTALL_EXTERNAL_MAN)
# Directory in which to install the release sources per default
if (NOT DEFINED GMT_RELEASE_PREFIX)
set (GMT_RELEASE_PREFIX ${GMT_BINARY_DIR}/gmt-${GMT_PACKAGE_VERSION})
......@@ -121,7 +114,7 @@ endif (NOT DEFINED GMT_RELEASE_PREFIX)
# Default location of remote data server
if (NOT DEFINED GMT_DATA_SERVER)
set (GMT_DATA_SERVER "http://oceania.generic-mapping-tools.org")
set (GMT_DATA_SERVER "https://oceania.generic-mapping-tools.org")
endif (NOT DEFINED GMT_DATA_SERVER)
# You can set the build configuration type as a command-line argument to 'cmake' using -DCMAKE_BUILD_TYPE:STRING=Debug for example.
......
......@@ -87,18 +87,10 @@
# share/doc/gmt${GMT_INSTALL_NAME_SUFFIX}]:
#set (GMT_DOCDIR "share/doc/gmt")
# Set manpage installation path [share/man or
# share/doc/gmt${GMT_INSTALL_NAME_SUFFIX}/man]:
#set (GMT_MANDIR "share/doc/gmt/man")
# Install documentation files from this external location instead of creating
# new HTML documents from scratch [${GMT_SOURCE_DIR}/doc_release]:
#set (GMT_INSTALL_EXTERNAL_DOC OFF)
# Install manual pages from this external location instead of creating the
# manpages from scratch [${GMT_SOURCE_DIR}/man_release]:
#set (GMT_INSTALL_EXTERNAL_MAN OFF)
##
## Section 2: Build dependencies (should only be needed if CMake cannot
## automatically detect the rights version or path.)
......
......@@ -39,10 +39,15 @@ endif (NOT CMAKE_BUILD_TYPE)
# Here we change it to add the git commit hash for non-public releases
set (GMT_PACKAGE_VERSION_WITH_GIT_REVISION ${GMT_PACKAGE_VERSION})
# Check if it's a git repository or not
if (EXISTS ${GMT_SOURCE_DIR}/.git)
set (HAVE_GIT_VERSION TRUE)
endif (EXISTS ${GMT_SOURCE_DIR}/.git)
# Add the last git commit hash and date to the package version if this is a non-public release.
# A non-public release has a FALSE 'GMT_PUBLIC_RELEASE' variable in 'ConfigDefault.cmake'.
#set (HAVE_GIT_VERSION)
if (GIT_FOUND)
if (GIT_FOUND AND NOT GMT_PUBLIC_RELEASE)
# Get the last git commit hash
execute_process (
COMMAND ${GIT_EXECUTABLE} describe --abbrev=7 --always --dirty
......@@ -55,9 +60,7 @@ if (GIT_FOUND)
message (STATUS "Unable to determine git commit hash for non-public release - ignoring.")
else (GIT_RETURN_CODE)
if (GIT_COMMIT_HASH)
set (HAVE_GIT_VERSION TRUE)
# For non-public release, add the last git commit hash and date
if (NOT GMT_PUBLIC_RELEASE)
execute_process (
COMMAND ${GIT_EXECUTABLE} log -1 --date=short --pretty=format:%cd
WORKING_DIRECTORY ${GMT_SOURCE_DIR}
......@@ -66,10 +69,9 @@ if (GIT_FOUND)
OUTPUT_STRIP_TRAILING_WHITESPACE)
string(REPLACE "-" "." GIT_COMMIT_DATE "${GIT_COMMIT_DATE}")
set (GMT_PACKAGE_VERSION_WITH_GIT_REVISION "${GMT_PACKAGE_VERSION}_${GIT_COMMIT_HASH}_${GIT_COMMIT_DATE}")
endif (NOT GMT_PUBLIC_RELEASE)
endif (GIT_COMMIT_HASH)
endif (GIT_RETURN_CODE)
endif (GIT_FOUND)
endif (GIT_FOUND AND NOT GMT_PUBLIC_RELEASE)
# The current GMT version.
set (GMT_VERSION_STRING "${GMT_PACKAGE_NAME} ${GMT_PACKAGE_VERSION_WITH_GIT_REVISION}")
......@@ -120,17 +122,6 @@ if (NOT GMT_DOCDIR)
endif(GMT_INSTALL_TRADITIONAL_FOLDERNAMES)
endif (NOT GMT_DOCDIR)
# Install path GMT_MANDIR
if (NOT GMT_MANDIR)
# do not reset user setting
if (GMT_INSTALL_TRADITIONAL_FOLDERNAMES)
set (GMT_MANDIR "${GMT_DATADIR}/man")
else(GMT_INSTALL_TRADITIONAL_FOLDERNAMES)
set (GMT_MANDIR
"${GMT_DOCDIR}/man")
endif(GMT_INSTALL_TRADITIONAL_FOLDERNAMES)
endif (NOT GMT_MANDIR)
# Install path for GMT binaries, headers and libraries
include (GNUInstallDirs) # defines CMAKE_INSTALL_LIBDIR (lib/lib64)
if (NOT GMT_LIBDIR)
......
......@@ -35,12 +35,3 @@ Right=-1
Top=50
Bottom=60
State=0
[Field 5]
Type=CheckBox
Text=Create @CPACK_PACKAGE_NAME@ Desktop Icon
Left=0
Right=-1
Top=80
Bottom=90
State=0
......@@ -80,7 +80,6 @@ endforeach (_script ${_examples})
add_custom_target (_docs_examples_verbatim DEPENDS ${_examples_txt})
add_custom_target (_docs_html_examples_fig DEPENDS ${_examples_png})
add_depend_to_target (docs_html_depends _docs_html_examples_fig _docs_examples_verbatim)
add_depend_to_target (docs_man_depends _docs_examples_verbatim)
# Animations
if (UNIX AND DO_ANIMATIONS)
......
......@@ -30,5 +30,5 @@ gmt begin
gmt end
EOF
# 3. Run the movie
gmt movie main.sh -C4.5ix5.0ix100 -Nanim_05 -T@Table_5_11.txt -Sbpre.sh -D10 -Q $opt
gmt movie main.sh -C4.5ix5.0ix100 -Nanim_05 -T@Table_5_11.txt -Sbpre.sh -D10 -Z $opt
rm -rf main.sh pre.sh
This diff is collapsed.
......@@ -36,5 +36,5 @@ gmt begin
gmt end
EOF
# 3. Run the movie
gmt movie main.sh -Sbpre.sh -C6ix6ix100 -Ttimes.txt -Nanim_08 -Gblack -H2 -Lc1 --FONT_TAG=20p,Helvetica,white --FORMAT_CLOCK_MAP=- $opt
gmt movie main.sh -Sbpre.sh -C6ix6ix100 -Ttimes.txt -Nanim_08 -Gblack -H2 -Lc1 -Z --FONT_TAG=20p,Helvetica,white --FORMAT_CLOCK_MAP=- $opt
rm -rf main.sh pre.sh
echo OFF
REM
REM
REM DOS batch script to run all GMT examples (DOS versions).
REM
REM Set GMT_END_SHOW to off to disable automatic display of the plots
REM set GMT_END_SHOW=off
echo off
echo Loop over all examples and run each job
for %%d in (01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50) do (
cd ex%%d
call ex%%d
for /D %%i in (ex*) do (
echo Running example %%i
cd %%i
call %%i.bat
cd ..
)
echo "Completed all examples"
echo Completed all examples
echo ON
......@@ -2,6 +2,10 @@
#
# Bash script to run all GMT examples
#
# Set GMT_END_SHOW to off to disable automatic display of the plots
#export GMT_END_SHOW=off
echo "Loop over all examples and run each job"
# choose awk
......@@ -13,10 +17,10 @@ else
export AWK=awk
fi
for n in $(seq -w 1 50); do
echo "Running example $n"
cd ex$n
sh ex$n.sh
for i in ex*; do
echo "Running example ${i}"
cd $i
bash $i.sh
cd ..
done
......
echo OFF
REM
REM
REM DOS batch script to view all GMT examples.
REM Assumes gsview32 is in the path and that
REM all examples have been run with do_examples
echo Loop over all examples and view each plot
for /r %%i in (*.ps) do gsview32 %%i
echo "Completed viewing all examples"
echo ON
#!/usr/bin/env bash
#
#
# Simple driver to view all examples using ghostview
#
viewer=${1:-gv}
for f in ex*/ex*.ps
do
$viewer $f
done