Skip to content
Commits on Source (7)
......@@ -52,14 +52,13 @@ For movie-making capabilities these executables are needed:
- [GraphicsMagick](http://www.graphicsmagick.org/) (Convert images to animated GIFs)
- [FFmpeg](http://www.ffmpeg.org/) (Convert images to videos)
For viewing plots and documentation under Linux via gmt docs, your need xdg-open:
For viewing documentation under Linux via `gmt docs`, your need `xdg-open`:
- xdg-open (Unified open for a variety of files)
Optionally install for building GMT documentations and running tests:
- [Sphinx](http://www.sphinx-doc.org) (>=1.4.x, for building the manpage, HTML and PDF documentation)
- [TeXLive](https://www.tug.org/texlive/) (for building the PDF documentation)
- [Sphinx](http://www.sphinx-doc.org) (>=1.4.x, for building the manpage and HTML documentation)
- [GraphicsMagick](http://www.graphicsmagick.org/) (for running the tests)
You also need to download support data:
......@@ -78,7 +77,7 @@ Install the GMT dependencies with:
sudo apt-get install build-essential cmake libcurl4-gnutls-dev libnetcdf-dev ghostscript
# Install optional dependencies
sudo apt-get install libgdal1-dev libfftw3-dev libpcre3-dev liblapack-dev libblas-dev
sudo apt-get install gdal-bin libgdal-dev libfftw3-dev libpcre3-dev liblapack-dev libblas-dev
# to enable movie-making
sudo apt-get install graphicsmagick ffmpeg
......@@ -92,9 +91,6 @@ Install the GMT dependencies with:
# to build the documentation
sudo apt-get install python-sphinx
# to build the documentation in PDF format
sudo apt-get install texlive-latex-recommended texlive-fonts-recommended texlive-latex-extra latexmk
### RHEL/CentOS
For RHEL and CentOS, GMT's dependencies are available from Extra Packages for Enterprise Linux.
......@@ -108,7 +104,7 @@ You then can install the GMT dependencies with:
sudo yum install cmake libcurl-devel netcdf-devel ghostscript
# Install optional dependencies
sudo yum install gdal-devel pcre-devel fftw3-devel lapack-devel openblas-devel
sudo yum install gdal gdal-devel pcre-devel fftw3-devel lapack-devel openblas-devel
# to enable movie-making
# ffmpeg is provided by [rmpfusion](https://rpmfusion.org/)
......@@ -124,9 +120,6 @@ You then can install the GMT dependencies with:
# to build the documentation
sudo yum install python-sphinx
# to build the documentation in PDF format
sudo yum install python3-sphinx-latex
### Fedora
For Fedora, there are prepackaged development binaries available.
......@@ -136,7 +129,7 @@ Install the GMT dependencies with:
sudo dnf install cmake libcurl-devel netcdf-devel ghostscript
# Install optional dependencies
sudo dnf install gdal-devel pcre-devel fftw3-devel lapack-devel openblas-devel
sudo dnf install gdal gdal-devel pcre-devel fftw3-devel lapack-devel openblas-devel
# to enable movie-making
# ffmpeg is provided by [rmpfusion](https://rpmfusion.org/)
......@@ -152,9 +145,6 @@ Install the GMT dependencies with:
# to build the documentation
sudo dnf install python-sphinx
# to build the documentation in PDF format
sudo dnf install python-sphinx-latex
### Archlinux
For Archlinux, there are prepackaged development binaries available.
......@@ -220,9 +210,6 @@ For macOS with [homebrew](https://brew.sh/) installed, you can install the depen
# to build the documentation
brew install sphinx-doc
# to build the documentation in PDF format
brew cask install mactex-no-gui
### Windows
For some software, e.g. CMake, Ghostscript, GraphicsMagick and FFmpeg,
......@@ -340,7 +327,7 @@ cmake .. -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -DCMAK
cmake .. -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -DCMAKE_GENERATOR_PLATFORM=x86
```
For advanced users, you can append the option ``-G Ninja`` to use the
For advanced users, you can append the option `-G Ninja` to use the
build tool [Ninja](https://ninja-build.org/), which is a small build system
with a focus on speed.
......@@ -357,7 +344,7 @@ cmake --build .
cmake --build . --config Release
```
which will compile all the programs. You can also append ``--parallel [<jobs>]``
which will compile all the programs. You can also append **--parallel** [*jobs*]
to enable parallel build, in which *jobs* is the maximum number of concurrent
processes to use when building. If *jobs* is omitted the native build tool's
default number is used.
......@@ -379,7 +366,7 @@ UNIX manpages, 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.
Using ``sudo`` will often do the trick.
Using `sudo` will often do the trick.
## Setting path
......@@ -398,15 +385,12 @@ The GMT documentations are available in different formats and can be generated w
```
cmake --build . --target docs_man # UNIX manual pages
cmake --build . --target docs_html # HTML manual, tutorial, cookbook, and API reference
cmake --build . --target docs_pdf # PDF tutorial, cookbook, and API reference
cmake --build . --target docs_pdf_shrink # Like docs_pdf but with reduced size
```
To generate the documentation you need to install the [Sphinx](http://www.sphinx-doc.org/en/master/)
documentation builder, and for PDFs you also need LaTeX. You can choose to install the
documentation files from an external location instead of generating the
Manpages, PDF, and HTML files from the sources. This is convenient if Sphinx
and/or LaTeX are not available. Set *GMT_INSTALL_EXTERNAL_DOC* in
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.
This is convenient if Sphinx is not available. Set *GMT_INSTALL_EXTERNAL_DOC* in
`cmake/ConfigUser.cmake`.
......
......@@ -92,7 +92,7 @@ endif (DO_EXAMPLES OR DO_TESTS AND NOT GRAPHICSMAGICK)
# Add subdirectories
add_subdirectory (src)
add_subdirectory (share) # share must be processed *after* src (GSHHG_PATH)
add_subdirectory (doc) # doc must be processed *after* src (PDF manpages)
add_subdirectory (doc) # doc must be processed *after* src
if (EXISTS ${GMT_SOURCE_DIR}/test/)
add_subdirectory (test)
endif (EXISTS ${GMT_SOURCE_DIR}/test/)
......@@ -103,7 +103,7 @@ if (GIT_FOUND AND HAVE_GIT_VERSION)
# Export git working tree
add_custom_target (git_export_release
COMMAND ${GIT_EXECUTABLE} -C ${GMT_SOURCE_DIR} checkout-index -a -f --prefix=${GMT_RELEASE_PREFIX}/)
# Remove the test dir, so that it is not included in the final release tarball
# Remove some directories and files, so that they are not included in the final release tarball
add_custom_target (git_prune_dirs
COMMAND ${CMAKE_COMMAND} -E remove_directory ${GMT_RELEASE_PREFIX}/.git
COMMAND ${CMAKE_COMMAND} -E remove_directory ${GMT_RELEASE_PREFIX}/.github
......@@ -125,7 +125,7 @@ if (GIT_FOUND AND HAVE_GIT_VERSION)
# Targets for creating tarballs
string (REGEX REPLACE ".*/" "" _release_dirname "${GMT_RELEASE_PREFIX}")
add_custom_command (OUTPUT ${_release_dirname}-src.tar
COMMAND ${GNUTAR} -c --owner 0 --group 0 --mode a=rX,u=rwX
COMMAND ${GNUTAR} -c --owner 0 --group 0 --mode a=rX,u=rwX --force-local
-f ${GMT_BINARY_DIR}/${_release_dirname}-src.tar ${_release_dirname}
DEPENDS ${GMT_RELEASE_PREFIX}
WORKING_DIRECTORY ${GMT_RELEASE_PREFIX}/..
......@@ -182,6 +182,10 @@ endif (EXTRA_BUILD_DIRS)
# Configure header file to pass some of the CMake settings to the source code
configure_file (src/config.h.in src/config.h)
if (GMT_DATA_URL) # Backwards compatibility with old ConfigUser.cmake files
set (GMT_DATA_SERVER ${GMT_DATA_URL})
endif (GMT_DATA_URL)
# Configuration done
message(
"*\n"
......@@ -190,7 +194,7 @@ message(
"* Options:\n"
"* Found GSHHG database : ${GSHHG_PATH} (${GSHHG_VERSION})\n"
"* Found DCW-GMT database : ${DCW_PATH}\n"
"* Found GMT data server : ${GMT_DATA_URL}\n"
"* Found GMT data server : ${GMT_DATA_SERVER}\n"
"* NetCDF library : ${NETCDF_LIBRARY}\n"
"* NetCDF include dir : ${NETCDF_INCLUDE_DIR}\n"
"* Curl library : ${CURL_LIBRARY}\n"
......
......@@ -136,7 +136,7 @@ Some things that will increase the chance that your pull request is accepted qui
non-obvious things.
* Include an example of new features in the gallery or tutorials.
Pull requests will automatically have tests run by TravisCI.
Pull requests will automatically have tests run by Azure Pipelines.
Github will show the status of these checks on the pull request.
Try to get them all passing (green).
If you have any trouble, leave a comment in the PR or
......
# Installing GMT
**GMT 6.x is not released yet. This instruction works for GMT 5.x only.
To build the latest GMT 6 developing source codes, please refer to the
[Building Instructions](BUILDING.md).**
[![GitHub release](https://img.shields.io/github/release/GenericMappingTools/gmt)](https://github.com/GenericMappingTools/gmt/releases)
GMT is available on Windows, macOS and Linux.
Source and binary packages are provided for the latest release version,
Source and binary packages are provided for the latest release,
and can be downloaded from the [GMT main site](https://www.generic-mapping-tools.org)
and [the GitHub repository](https://github.com/GenericMappingTools/gmt/).
and [the GitHub repository](https://github.com/GenericMappingTools/gmt/releases).
This file provides instructions about how to install GMT binary packages in
This file provides instructions for installing GMT binary packages on
different operating systems. Please refer to [Building Instructions](BUILDING.md)
for compiling GMT source package (either stable release or development version).
## Contents
- [Windows](#windows)
- [macOS](#macos)
* [Application Bundle](#application-bundle)
* [Install via Homebrew](#install-via-homebrew)
* [Install via macports](#install-via-macports)
* [Install via fink](#install-via-fink)
- [Linux](#linux)
* [Ubuntu/Debian](#ubuntudebian)
* [RHEL/CentOS/Fedora](#rhelcentosfedora)
- [Cross Platform Install Instructions](#cross-platform-install-instructions)
* [Install via conda](#install-via-conda)
- [macOS](#macos)
* [Standalone Installer](#standalone-installer)
* [Install via macports](#install-via-macports)
* [Install via fink](#install-via-fink)
* [Install via Homebrew](#install-via-homebrew)
* [Install via conda](#install-via-conda-1)
- [Windows](#windows)
* [Standalone Installer](#standalone-installer-1)
* [Install via conda](#install-via-conda-2)
## Linux
## Windows
**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:
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.
### Ubuntu/Debian
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.
Install GMT5 via
## macOS
sudo apt-get install gmt gmt-dcw gmt-gshhg
### Application Bundle
**Note:** The Ubuntu package under 16.04 LTS for mysterious reasons does not
include the supplements. If you need them you will need to
[build from source](BUILDING.md) or upgrade to 18.04 LTS.
Application bundle is available from the [GMT main site](https://www.generic-mapping-tools.org).
Download the application bundle (gmt-6.x.x-darwin-x86_64.dmg), double-click to mount it
and drag GMT-6.x.x.app to the "Applications" folder (or any other folder).
### RHEL/CentOS/Fedora
GMT-6.x.x.app opens a terminal from which you can invoke GMT programs and scripts.
If you like, you can add the GMT programs contained in the application bundle to
your search path for executables. For that, just run GMT-6.x.x.app once and type:
GMT binary packages are available from Extra Packages for Enterprise Linux.
For RHEL and CentOS you can add this repository by telling yum:
echo ${BUNDLE_RESOURCES}/bin
sudo yum install epel-release
in the terminal. Then prepend this directory (e.g. `/Applications/GMT-6.x.x.app/Contents/Resources/bin`)
to your PATH environment variable, e.g., in `~/.bashrc`.
Note: The installer is always built for the latest macOS version only.
then, you can install GMT5 via
While the installer comes with all GMT executables and needed libraries, there are some
run-time dependencies on executables that you will need to install separately:
sudo yum install GMT gshhg-gmt-nc4-all dcw-gmt
- [GDAL](https://www.gdal.org/) (Convert shapefiles and produce geotiffs)
- [Ghostscript](https://www.ghostscript.com/) (Convert PostScript to PDF or raster images)
- [GraphicsMagick](http://www.graphicsmagick.org/) (Convert images to animated GIFs)
- [FFmpeg](http://www.ffmpeg.org/) (Convert images to MP4 or WebM videos)
### Install via conda
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,
or brew command:
You can use the [conda package manager](https://conda.io/) that comes with the
[Anaconda Python Distribution](https://www.anaconda.com/distribution/) to install GMT:
fink install gdal ghostscript graphicsmagick ffmpeg
port install gdal ghostscript graphicsmagick ffmpeg
brew install gdal ghostscript graphicsmagick ffmpeg
conda install gmt --channel conda-forge
### Install via Homebrew
## macOS
Installation of GMT through [Homebrew](https://brew.sh/) is extremely simple.
Installing Homebrew itself is a one line command only (see [the Homebrew page](https://brew.sh/)).
You may need to update the formulas so for that you will do:
### Standalone Installer
brew update && brew upgrade
Application bundle is available from the [GMT main site](https://www.generic-mapping-tools.org).
Download the application bundle (gmt-6.x.x-darwin-x86_64.dmg)
and drag GMT-6.x.x.app to any folder. This bundle includes a self contained GMT installation.
GMT-6.x.x.app opens a terminal from which you can invoke GMT programs and scripts.
If you like, you can add the GMT programs contained in the application bundle to
your search path for executables. For that, just run GMT-6.x.x.app once and type:
For the latest GMT 5 version use:
dirname `which gmt`
brew install gmt
or:
If you want to install GMT 4 and GMT 5 alongside, do:
echo ${BUNDLE_RESOURCES}/bin
brew unlink gmt && brew install gmt4
and to go from GMT 5 to GMT 4 (and vice-versa for 4 to 5, but see also the doc about gmtswitch):
brew unlink gmt && brew link gmt4
in the terminal. Then prepend this directory to your PATH environment variable,
e.g., in `~/.bashrc`. Note: The installer is always built for the latest macOS version only.
You also need to install other GMT run-time dependencies seperately:
brew install ghostscript graphicsmagick ffmpeg
### Install via macports
......@@ -96,11 +104,14 @@ A legacy GMT 4 port, gmt4, is available too and a side by side installation is p
Optional FFTW-3 support and experimental OpenMP parallel acceleration can be
enabled with the +fftw3 and +openmp flags.
You also need to install other GMT run-time dependencies seperately:
port install ghostscript graphicsmagick ffmpeg
### Install via fink
Installation of GMT through [Fink](http://www.finkproject.org/) is quite easy.
All required packages will also be installed. Ghostscript is not strictly
required but very convenient to view PS files.
All required packages will also be installed.
For the latest GMT 5 version use:
......@@ -112,45 +123,73 @@ For the legacy GMT 4 version use:
The two versions cannot live side by side.
### Install via Homebrew
You also need to install other GMT run-time dependencies seperately:
Installation of GMT through [Homebrew](https://brew.sh/) is extremely simple.
Installing Homebrew itself is a one line command only (see [the Homebrew page](https://brew.sh/)).
You may need to update the formulas so for that you will do:
fink install ghostscript graphicsmagick ffmpeg
brew update && brew upgrade
## Linux
For the latest GMT 5 version use:
**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:
brew install gmt
### Ubuntu/Debian
If you want to install GMT 4 and GMT 5 alongside, do:
Install GMT5 via
brew unlink gmt && brew install gmt4
sudo apt-get install gmt gmt-dcw gmt-gshhg
and to go from GMT 5 to GMT 4 (and vice-versa for 4 to 5, but see also the doc about gmtswitch):
Install other GMT dependencies (some are optional) via:
brew unlink gmt && brew link gmt4
# required
sudo apt-get install ghostscript
# optional
sudo apt-get install gdal-bin
### Install via conda
**Note:** The Ubuntu package under 16.04 LTS for mysterious reasons does not
include the supplements. If you need them you will need to
[build from source](BUILDING.md) or upgrade to 18.04 LTS.
You can use the [conda package manager](https://conda.io/) that comes with the
[Anaconda Python Distribution](https://www.anaconda.com/distribution/) to install GMT:
### RHEL/CentOS/Fedora
conda install gmt --channel conda-forge
GMT binary packages are available from Extra Packages for Enterprise Linux.
For RHEL and CentOS you can add this repository by telling yum:
## Windows
sudo yum install epel-release
### Standalone Installer
then, you can install GMT5 via
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).
If you need the newest development version refer to the instructions for
[building GMT from source](BUILDING.md).
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
You can use the [conda package manager](https://conda.io/) that comes with the
[Anaconda Python Distribution](https://www.anaconda.com/distribution/) to install GMT:
[Anaconda Python Distribution](https://www.anaconda.com/distribution/) to install GMT.
1. Download and install the [Python **3.7** **64-bit** version of Miniconda](https://conda.io/en/latest/miniconda.html).
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:
```
conda install gmt=6.0.0rc4 -c conda-forge/label/dev -c conda-forge
```
3. Install ffmpeg using conda by running the following in a terminal:
conda install gmt --channel conda-forge
```
conda install ffmpeg -c conda-forge
```
......@@ -5,6 +5,7 @@
[![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)
[![Documentation (development version)](https://img.shields.io/badge/docs-development-green.svg)](http://docs.generic-mapping-tools.org/dev/)
[![GitHub release](https://img.shields.io/github/release/GenericMappingTools/gmt)](https://github.com/GenericMappingTools/gmt/releases)
## What is GMT?
......@@ -87,7 +88,7 @@ manipulation. Currently, the supplemental archive include these directories:
Before running programs, there are a few things you should do/know:
Read carefully the documentation for the gmt system. This can be
found as both PDF and HTML files in the doc/pdf|html directories.
found as HTML files in the doc/html directories.
The successful operation of gmt-programs depends directly on your
understanding of how gmt "works", its option lists, I/O, and composite
plot mechanisms. Then, before running individual gmt programs, read
......
......@@ -37,12 +37,18 @@ set (GMT_PACKAGE_DESCRIPTION_SUMMARY "The Generic Mapping Tools")
# Year of the current GMT release.
set (GMT_VERSION_YEAR "2019")
# The GMT release DOI
set (GMT_VERSION_DOI "TBD")
# 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.")
# 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 "rc3")
set (GMT_PACKAGE_VERSION_SUFFIX "rc4")
# Whether to make a public release.
# When making internal releases or just an ordinary developer build, it is set to FALSE.
......@@ -61,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 "http://docs.generic-mapping-tools.org/latest")
set (GMT_DOC_URL "https://docs.generic-mapping-tools.org/dev")
# Use SI units per default
if (NOT UNITS)
......@@ -96,7 +102,7 @@ endif (NOT DEFINED LICENSE_RESTRICTED)
# Default location of release documentation. If the directory exists in the
# source tree, the files will be copied to GMT_DOCDIR instead of creating
# PDFs from source:
# documentation from source:
if (NOT DEFINED GMT_INSTALL_EXTERNAL_DOC)
set (GMT_INSTALL_EXTERNAL_DOC ${GMT_SOURCE_DIR}/doc_release)
endif (NOT DEFINED GMT_INSTALL_EXTERNAL_DOC)
......@@ -114,10 +120,9 @@ if (NOT DEFINED GMT_RELEASE_PREFIX)
endif (NOT DEFINED GMT_RELEASE_PREFIX)
# Default location of remote data server
if (NOT DEFINED GMT_DATA_URL)
set (GMT_DATA_URL "http://oceania.generic-mapping-tools.org")
endif (NOT DEFINED GMT_DATA_URL)
if (NOT DEFINED GMT_DATA_SERVER)
set (GMT_DATA_SERVER "http://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.
# If no build configuration type was given as a command-line option to 'cmake' then a default cache entry is set here.
......
......@@ -92,7 +92,7 @@
#set (GMT_MANDIR "share/doc/gmt/man")
# Install documentation files from this external location instead of creating
# new PDF and HTML documents from scratch [${GMT_SOURCE_DIR}/doc_release]:
# 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
......@@ -105,7 +105,7 @@
##
# Set URL to GMT Data server [auto]:
#set (GMT_DATA_URL "data_server_url")
#set (GMT_DATA_SERVER "data_server_url")
# Set path to GSHHG Shoreline Database [auto]:
#set (GSHHG_ROOT "gshhg_path")
......@@ -125,6 +125,10 @@
# Copy PROJ4's 'share' directory to ${GMT_DATADIR}/GDAL_DATA [FALSE]:
#set (PROJ_DATA_PATH C:/programs/compa_libs/proj5_GIT/compileds/VC14_64/share/proj)
# FOR WINDOWS ONLY
# Set path to location of Ghostscript binaries (optional install)
#set (GHOST_DATA_PATH C:/programs/compa_libs/ghostscript/bin)
# FOR WINDOWS ONLY
# Set path to location where the gmtmex is located.
#set (GMTMEX_PATH "C:/progs_cygw/GMTdev/gmtmex/${GMTver}")
......
......@@ -46,7 +46,7 @@ if (APPLE)
endif (APPLE)
# Install components:
set (CPACK_COMPONENTS_ALL Runtime Documentation DCW GSHHG GDALDATA)
set (CPACK_COMPONENTS_ALL Runtime Documentation DCW GSHHG GDALDATA GHOSTSCRIPT)
# set (CPACK_COMPONENT_DOCUMENTATION_DISABLED ON)
set (CPACK_COMPONENT_RUNTIME_DISPLAY_NAME "Runtime files")
set (CPACK_COMPONENT_RUNTIME_DESCRIPTION
......@@ -59,6 +59,8 @@ set (CPACK_COMPONENT_GSHHG_DESCRIPTION
"Shoreline database files.")
set (CPACK_COMPONENT_GDALDATA_DESCRIPTION
"GDAL & PROJ4 auxiliary files.")
set (CPACK_COMPONENT_GHOSTSCRIPT_DESCRIPTION
"Ghostscript program.")
# Create two installation types with pre-selected components:
set (CPACK_ALL_INSTALL_TYPES Full Minimal)
......@@ -68,6 +70,7 @@ set (CPACK_COMPONENT_DOCUMENTATION_INSTALL_TYPES Full)
set (CPACK_COMPONENT_GSHHG_INSTALL_TYPES Full)
set (CPACK_COMPONENT_DCW_INSTALL_TYPES Full)
set (CPACK_COMPONENT_GDALDATA_INSTALL_TYPES Full)
set (CPACK_COMPONENT_GHOSTSCRIPT_INSTALL_TYPES Full)
# Creates a single package with all (requested) components
set (CPACK_COMPONENTS_GROUPING "ALL_COMPONENTS_IN_ONE")
......@@ -213,15 +216,6 @@ if (APPLE)
fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/${GMT_BINDIR}/gmt${CMAKE_EXECUTABLE_SUFFIX}\" \"\${CMAKE_INSTALL_PREFIX}/${GMT_LIBDIR}/gmt${CMAKE_EXECUTABLE_SUFFIX}/plugins/supplements.so\" \"\")
endif ()
" COMPONENT Runtime)
# Workaround: move documentation:
install (CODE "
if (CMAKE_INSTALL_PREFIX MATCHES \"_CPack_Packages.+[.]app/Contents/Resources\")
execute_process (COMMAND ${CMAKE_COMMAND} -E rename
\${CMAKE_INSTALL_PREFIX}/${GMT_DOCDIR}
\${CMAKE_INSTALL_PREFIX}/../../../Documentation)
endif ()
" COMPONENT Documentation)
endif (APPLE)
# Linux, Cygwin & Co:
......
......@@ -3,7 +3,7 @@
SET (PATO_GDAL_BIN "C:/programs/compa_libs/gdal_GIT/compileds/${VC}_${BITAGE}/bin")
SET (PATO_PROJ_BIN "C:/programs/compa_libs/proj5_GIT/compileds/${VC}_${BITAGE}/bin")
SET (PATO_FFMPEG_BIN "C:/programs/compa_libs/ffmpeg/vcpkg_bin")
SET (PATO_FFMPEG_BIN "C:/programs/ImageMagick")
install (PROGRAMS
${PATO_GDAL_BIN}/gdaladdo.exe
......@@ -46,14 +46,5 @@ install (PROGRAMS
install (PROGRAMS
${PATO_FFMPEG_BIN}/ffmpeg.exe
${PATO_FFMPEG_BIN}/atk-1.dll
${PATO_FFMPEG_BIN}/avcodec-58.dll
${PATO_FFMPEG_BIN}/avdevice-58.dll
${PATO_FFMPEG_BIN}/avfilter-7.dll
${PATO_FFMPEG_BIN}/avformat-58.dll
${PATO_FFMPEG_BIN}/avutil-56.dll
${PATO_FFMPEG_BIN}/swresample-3.dll
${PATO_FFMPEG_BIN}/swscale-5.dll
${PATO_FFMPEG_BIN}/lzma.dll
DESTINATION ${GMT_BINDIR}
COMPONENT Runtime)
#!/usr/bin/env bash
# Startup script for GMT.app in MacOSX.
# Startup script for GMT.app in macOS.
# Setup environment and start Terminal.
if [ "$1" = "GMT_PROMPT" ]; then
......@@ -15,11 +15,13 @@ if [ "$1" = "GMT_PROMPT" ]; then
source "${BUNDLE_RESOURCES}/share/tools/gmt_functions.sh"
unset DYLD_LIBRARY_PATH
gmt
echo -e "Note: Remember to add ${BUNDLE_RESOURCES}/bin to your PATH\nif you want to use GMT outside of the terminal or in scripts.\n"
_usershell=$(dscl . -read "/Users/$USER" UserShell)
_usershell=${_usershell##* }
if [ ${_usershell} = ${_usershell%bash} ]; then
# not using bash as default shell
echo -e "Warning: your default shell is ${_usershell}. GMT module commands are only available in BASH. Change your default shell or make sure ${BUNDLE_RESOURCES}/@GMT_BINDIR@ is in your PATH and use ${BUNDLE_RESOURCES}/share/tools/gmt5syntax to convert your old GMT scripts.\n"
echo -e "Warning: your default shell is ${_usershell}. GMT commands completions are only available in BASH.\n"
exec ${_usershell}
fi
# bash: start interactive shell and source gmt completions
......@@ -29,6 +31,8 @@ if [ "$1" = "GMT_PROMPT" ]; then
test -f ~/.bashrc && source ~/.bashrc
source "${BUNDLE_RESOURCES}/share/tools/gmt_completion.bash"
unset DYLD_LIBRARY_PATH
# Assist modern mode scripts by setting a unique session name
export GMT_SESSION_NAME=$$
EOF
exec /bin/bash --rcfile "${_temp_bashrc}" -i
fi
......
......@@ -43,7 +43,7 @@ set (GMT_PACKAGE_VERSION_WITH_GIT_REVISION ${GMT_PACKAGE_VERSION})
# A non-public release has a FALSE 'GMT_PUBLIC_RELEASE' variable in 'ConfigDefault.cmake'.
#set (HAVE_GIT_VERSION)
if (GIT_FOUND)
# Get the location, inside the staging area location, to copy the application bundle to.
# Get the last git commit hash
execute_process (
COMMAND ${GIT_EXECUTABLE} describe --abbrev=7 --always --dirty
WORKING_DIRECTORY ${GMT_SOURCE_DIR}
......
gmt (6.0.0~rc4+dfsg-1~exp1) experimental; urgency=medium
* New upstream release candidate.
* Refresh patches.
* Drop python-sphinx from build dependencies.
* Update symbols for 6.0.0~rc4.
-- Bas Couwenberg <sebastic@debian.org> Sat, 07 Sep 2019 08:35:33 +0200
gmt (6.0.0~rc3+dfsg-1~exp1) experimental; urgency=medium
* New upstream release candidate.
......
......@@ -22,7 +22,6 @@ Build-Depends: debhelper (>= 9.20160114),
libpcre2-dev,
libxaw7-dev,
libxmu-headers,
python-sphinx,
python3-sphinx,
texlive,
texlive-latex-extra,
......
......@@ -231,7 +231,6 @@ libgmt.so.6 #PACKAGE# #MINVER#
api_get_record_matrix@Base 6.0.0~rc1
api_get_record_vector@Base 6.0.0~rc1
cleanup_action@Base 6.0.0~rc2
close_files@Base 6.0.0~rc1
default_action@Base 6.0.0~rc2
dlopen_special@Base 5.1.2
doubleAlmostEqualUlps@Base 5.1.2
......@@ -445,6 +444,8 @@ libgmt.so.6 #PACKAGE# #MINVER#
gmt_fft_set_wave@Base 5.3.1
gmt_fgets@Base 5.3.1
gmt_file_is_srtmtile@Base 6.0.0~rc1
gmt_filename_get@Base 6.0.0~rc4
gmt_filename_set@Base 6.0.0~rc4
gmt_fill_syntax@Base 5.3.1
gmt_find_macro@Base 5.1.2
gmt_find_range@Base 6.0.0~rc1
......@@ -527,6 +528,7 @@ libgmt.so.6 #PACKAGE# #MINVER#
gmt_get_modifier@Base 5.3.1
gmt_get_next_panel@Base 6.0.0~rc1
gmt_get_ogr_id@Base 5.1.2
gmt_get_option_id@Base 6.0.0~rc4
gmt_get_pair@Base 5.3.1
gmt_get_palette@Base 6.0.0~rc1
gmt_get_plot_array@Base 5.3.1
......@@ -602,6 +604,7 @@ libgmt.so.6 #PACKAGE# #MINVER#
gmt_handle5_plussign@Base 5.3.2
gmt_hash_init@Base 5.3.1
gmt_hash_lookup@Base 5.3.1
gmt_history_tag@Base 6.0.0~rc4
gmt_hold_contour@Base 5.3.1
gmt_i0@Base 5.3.1
gmt_i1@Base 5.3.1
......@@ -665,6 +668,7 @@ libgmt.so.6 #PACKAGE# #MINVER#
gmt_is_cpt_master@Base 5.4.3
gmt_is_esri_grid@Base 5.3.1
gmt_is_gdal_grid@Base 5.3.1
gmt_is_integer@Base 6.0.0~rc4
gmt_is_mgg2_grid@Base 5.3.1
gmt_is_native_grid@Base 5.3.1
gmt_is_nc_grid@Base 5.3.1
......@@ -971,6 +975,7 @@ libgmt.so.6 #PACKAGE# #MINVER#
gmt_strtok@Base 5.3.1
gmt_strtok_m@Base 5.3.1
gmt_sub3v@Base 5.3.1
gmt_subplot_gaps@Base 6.0.0~rc4
gmt_subplot_info@Base 6.0.0~rc1
gmt_substitute_macros@Base 5.1.2
gmt_svdcmp@Base 5.3.1
......@@ -1081,6 +1086,7 @@ libgmt.so.6 #PACKAGE# #MINVER#
gmtlib_cartesian_dist@Base 6.0.0~rc1
gmtlib_cartesian_dist_proj@Base 6.0.0~rc1
gmtlib_change_dataset@Base 5.3.1
gmtlib_char_count@Base 6.0.0~rc4
gmtlib_check_url_name@Base 5.3.1
gmtlib_clock_C_format@Base 5.3.1
gmtlib_compare_observation@Base 5.4.0
......@@ -1145,6 +1151,7 @@ libgmt.so.6 #PACKAGE# #MINVER#
gmtlib_get_annot_label@Base 5.3.1
gmtlib_get_arc@Base 5.3.1
gmtlib_get_coordinate_label@Base 5.3.1
gmtlib_get_cpt_level@Base 6.0.0~rc4
gmtlib_get_custom_symbol@Base 5.3.1
gmtlib_get_dir_list@Base 5.3.1
gmtlib_get_grdtype@Base 5.3.1
......@@ -1152,7 +1159,6 @@ libgmt.so.6 #PACKAGE# #MINVER#
gmtlib_get_lon_minmax@Base 5.3.1
gmtlib_get_map_interval@Base 5.3.1
gmtlib_get_num_processors@Base 5.3.1
gmtlib_get_option_id@Base 5.4.0
gmtlib_get_point_from_r_az@Base 5.3.1
gmtlib_get_pos_of_filename@Base 5.4.0
gmtlib_get_srtmlist@Base 6.0.0~rc1
......@@ -1262,6 +1268,7 @@ libgmt.so.6 #PACKAGE# #MINVER#
map_wesn_clip@Base 6.0.0~rc1
md5_load@Base 6.0.0~rc1
mergesort@Base 6.0.0~rc1
noquote_name@Base 6.0.0~rc4
plot_cycle@Base 5.4.0
plot_timex_grid@Base 6.0.0~rc1
set_dirpath@Base 6.0.0~rc1
......@@ -1337,6 +1344,7 @@ libpostscriptlight.so.6 #PACKAGE# #MINVER#
PSL_setorigin@Base 5.1.2
PSL_setparagraph@Base 5.1.2
PSL_setpattern@Base 5.1.2
PSL_settextmode@Base 6.0.0~rc4
PSL_settransparency@Base 6.0.0~rc1
PSL_settransparencymode@Base 5.1.2
psl_gray_encode@Base 5.1.2
......
......@@ -312,7 +312,7 @@ Forwarded: not-needed
]
--- a/doc/rst/CMakeLists.txt
+++ b/doc/rst/CMakeLists.txt
@@ -117,7 +117,7 @@ if (SPHINX_FOUND)
@@ -78,7 +78,7 @@ if (SPHINX_FOUND)
-w "${CMAKE_CURRENT_BINARY_DIR}/man.log"
${CMAKE_CURRENT_BINARY_DIR}/_source
${CMAKE_CURRENT_BINARY_DIR}/man
......@@ -321,7 +321,7 @@ Forwarded: not-needed
COMMENT "Building manpages...")
add_dependencies (docs_man docs_man_depends)
endif (GZIP)
@@ -184,12 +184,12 @@ endif (EXISTS ${GMT_INSTALL_EXTERNAL_MAN
@@ -123,12 +123,12 @@ endif (EXISTS ${GMT_INSTALL_EXTERNAL_MAN
install (DIRECTORY ${_man_source}/
DESTINATION ${GMT_MANDIR}/man1
COMPONENT Runtime
......
......@@ -61,4 +61,5 @@ install (DIRECTORY examples
USE_SOURCE_PERMISSIONS
PATTERN "${_exclude_bat}" EXCLUDE
PATTERN "CMakeLists.txt" EXCLUDE
PATTERN "gmt.history" EXCLUDE
REGEX "[.](cmake|in|ps)$" EXCLUDE)
......@@ -15,34 +15,19 @@
# Contact info: www.generic-mapping-tools.org
#-------------------------------------------------------------------------------
# List all PS files and convert them to PDF
# List all PS files and convert them to PNG
file (GLOB _examples RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/*/*.ps")
set (_examples_pdf)
set (_examples_png)
# Convert figures to PDF and PNG
# Convert figures to PNG
foreach (_ps ${_examples})
get_filename_component (_fig ${_ps} NAME)
string (REPLACE ".ps" ".pdf" _pdf_fig ${_fig})
string (REPLACE ".ps" ".png" _png_fig ${_fig})
list (APPEND _examples_pdf ${RST_BINARY_DIR}/_images/${_pdf_fig})
list (APPEND _examples_png ${RST_BINARY_DIR}/_images/${_png_fig})
if (WIN32)
add_custom_command (OUTPUT ${RST_BINARY_DIR}/_images/${_pdf_fig}
COMMAND
set GMT_USERDIR=${GMT_BINARY_DIR}/share
COMMAND
set GMT_SHAREDIR=${GMT_SOURCE_DIR}/share
COMMAND
${GMT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/src/gmt psconvert -A+S0.6 -P -Tf
-C-sFONTPATH="${GMT_SOURCE_DIR}/doc/examples/ex31/fonts"
-D${RST_BINARY_DIR}/_images
${CMAKE_CURRENT_SOURCE_DIR}/${_ps}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS gmt_for_img_convert ${CMAKE_CURRENT_SOURCE_DIR}/${_ps})
add_custom_command (OUTPUT ${RST_BINARY_DIR}/_images/${_png_fig}
COMMAND
set GMT_USERDIR=${GMT_BINARY_DIR}/share
......@@ -50,31 +35,20 @@ foreach (_ps ${_examples})
set GMT_SHAREDIR=${GMT_SOURCE_DIR}/share
COMMAND
${GMT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/src/gmt psconvert
-A -P -E150 -TG -Qg4 -Qt4
-A -P -E150 -Tg -Qg4 -Qt4
-C-sFONTPATH="${GMT_SOURCE_DIR}/doc/examples/ex31/fonts"
-D${RST_BINARY_DIR}/_images
${CMAKE_CURRENT_SOURCE_DIR}/${_ps}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS gmt_for_img_convert ${CMAKE_CURRENT_SOURCE_DIR}/${_ps})
else (WIN32)
add_custom_command (OUTPUT ${RST_BINARY_DIR}/_images/${_pdf_fig}
COMMAND
_dummy_var=cmake_assumes_this_is_a_command # needed for spaces to be escaped correctly
GMT_USERDIR=${GMT_BINARY_DIR}/share
GMT_SHAREDIR=${GMT_SOURCE_DIR}/share
${GMT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/src/gmt psconvert -A+S0.6 -P -Tf
-C-sFONTPATH="${GMT_SOURCE_DIR}/doc/examples/ex31/fonts"
-D${RST_BINARY_DIR}/_images
${CMAKE_CURRENT_SOURCE_DIR}/${_ps}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS gmt_for_img_convert ${CMAKE_CURRENT_SOURCE_DIR}/${_ps})
add_custom_command (OUTPUT ${RST_BINARY_DIR}/_images/${_png_fig}
COMMAND
_dummy_var=cmake_assumes_this_is_a_command # needed for spaces to be escaped correctly
GMT_USERDIR=${GMT_BINARY_DIR}/share
GMT_SHAREDIR=${GMT_SOURCE_DIR}/share
${GMT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/src/gmt psconvert
-A -P -E150 -TG -Qg4 -Qt4
-A -P -E150 -Tg -Qg4 -Qt4
-C-sFONTPATH="${GMT_SOURCE_DIR}/doc/examples/ex31/fonts"
-D${RST_BINARY_DIR}/_images
${CMAKE_CURRENT_SOURCE_DIR}/${_ps}
......@@ -105,9 +79,7 @@ endforeach (_script ${_examples})
# Add build target
add_custom_target (_docs_examples_verbatim DEPENDS ${_examples_txt})
add_custom_target (_docs_html_examples_fig DEPENDS ${_examples_png})
add_custom_target (_docs_pdf_examples_fig DEPENDS ${_examples_pdf})
add_depend_to_target (docs_html_depends _docs_html_examples_fig _docs_examples_verbatim)
add_depend_to_target (docs_pdf_depends _docs_pdf_examples_fig _docs_examples_verbatim)
add_depend_to_target (docs_man_depends _docs_examples_verbatim)
# Animations
......
This diff is collapsed.
This diff is collapsed.
......@@ -7,7 +7,7 @@ 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 example_%%d
call ex%%d
cd ..
)
......