CMake options for PLplot
A large number of options are available to modify the CMake configuration process. Use the ccmake or cmake-gui commands or inspect the contents of the CMakeCache.txt file after a build to obtain documentation for most options. Some options are hidden depending on other option values so for a more complete look at all option documentation look for the string "option" in the files in the cmake/modules subdirectory.
Here we give the documentation of the most heavily used subset of the options. The value specified is the default value, but note that value can automatically be changed by the build system if some essential resource is not available on the platform. For example, if no Fortran 95-capable compiler can be found on the platform, the Fortran 95 bindings are automatically disabled. Furthermore, certain option values depend on other option values. For example, if BUILD_SHARED_LIBS is set to OFF, then ENABLE_DYNDRIVERS is automatically set to OFF as well.
In general, if you just use the default options PLplot will normally configure itself to build without problems. The cmake output will have WARNING messages about any missing components. If one of those is important to you, then you will have to install additional libraries or executables (e.g., a Fortran 95-capable compiler) and do a fresh cmake run in an empty directory to configure a PLplot build that includes the component that was missing before.
Contents
General options
CMAKE_INSTALL_PREFIX:PATH=/usr/local - install directory
CMAKE_BUILD_TYPE:STRING= - One of blank (None), Debug, Release, RelWithDebInfo, or MinSizeRel. This option provides overall control of the optimization and debug options used for the build depending on the compiler and platform.
BUILD_SHARED_LIBS:BOOL=ON - build shared libraries (ON) or static libraries (OFF)
ENABLE_DYNDRIVERS:BOOL=ON - build device drivers as dynamically loaded plugins (ON) or as part of the PLplot core C library (OFF)
BUILD_TEST:BOOL=OFF - builds examples in the build tree so that ctest can be run afterward to test that those examples work
PL_DOUBLE:BOOL=ON - use 64-bit (ON) or 32-bit (OFF) floating-point precision
WITH_CSA:BOOL=ON - internally build and use the csirocsa library for bivariate cubic spline approximation
BUILD_DOC:BOOL=OFF - build documentation (Linux only)
LIB_TAG:STRING="" - suffix added to all libraries, notice that 'd' is always appended to it if doubles are used and so by default all libraries have 'd' at the end (and it can't be removed by setting this option unfortunately).
Bindings options
DEFAULT_NO_BINDINGS:BOOL=OFF - turn off all language bindings by default
ENABLE_cxx:BOOL=ON - C++ bindings
ENABLE_f77:BOOL=ON - Fortran 77 bindings
ENABLE_f95:BOOL=ON - Fortran 95 bindings
ENABLE_python:BOOL=ON - Python bindings
ENABLE_java:BOOL=ON - Java bindings
ENABLE_tcl:BOOL=ON - Tcl bindings
ENABLE_itcl:BOOL=ON - iTcl object-oriented extension of the Tcl bindings
ENABLE_tk:BOOL=ON - Tk (graphical extension of Tcl) bindings
ENABLE_itk:BOOL=ON - iTk object-oriented extension of the Tk bindings
ENABLE_ada:BOOL=ON - Ada 95 and Ada 2005 bindings
ENABLE_pdl:BOOL=OFF - include PDL (Perl Data Language) examples to be used with PDL PLplot bindings that are developed as part of the external PDL project
ENABLE_d:BOOL=OFF - Experimental D bindings
ENABLE_ocaml:BOOL=ON - OCaml bindings
ENABLE_qt:BOOL=ON - Qt bindings
ENABLE_wxwidgets:BOOL=ON - wxWidgets bindings
Device options
General device options
DEFAULT_ALL_DEVICES:BOOL=OFF
DEFAULT_NO_DEVICES:BOOL=OFF
WITH_FREETYPE:BOOL=ON - access TrueType fonts with direct calls to libfreetype for certain device drivers that use this method of accessing TrueType fonts.
DEFAULT_NO_QT_DEVICES:BOOL=OFF - disable all qt dependent devices
These devices use various cairo backends. The ones that are turned ON by default generally give beautiful results with properly hinted fonts.
PLD_pscairo=ON
PLD_pdfcairo=ON
PLD_pngcairo=ON
PLD_xcairo=ON
PLD_svgcairo=ON
PLD_extcairo=ON
PLD_memcairo=OFF
PLD_png:BOOL=ON
PLD_jpeg:BOOL=ON
PLD_gif:BOOL=ON
Hewlett-Packard printer devices
PLD_hp7470:BOOL=ON
PLD_hp7580:BOOL=ON
PLD_lj_hpgl:BOOL=ON
Textronix and Textronix emulator devices
PLD_xterm:BOOL=OFF
PLD_tek4010:BOOL=OFF
PLD_tek4010f:BOOL=OFF
PLD_tek4107:BOOL=OFF
PLD_tek4107f:BOOL=OFF
PLD_mskermit:BOOL=OFF
PLD_versaterm:BOOL=OFF
PLD_vlt:BOOL=OFF
PLD_conex:BOOL=OFF
Other devices
PLD_aqt:BOOL=ON
PLD_cgm:BOOL=ON
PLD_dg300:BOOL=OFF
PLD_gcw:BOOL=ON
PLD_imp:BOOL=OFF
PLD_linuxvga:BOOL=OFF
PLD_ljii:BOOL=OFF
PLD_ljiip:BOOL=OFF
PLD_mem:BOOL=ON
PLD_ntk:BOOL=OFF
PLD_null:BOOL=ON
PLD_pbm:BOOL=ON
PLD_pdf:BOOL=OFF
PLD_plmeta:BOOL=OFF
PLD_ps:BOOL=ON
PLD_pstex:BOOL=OFF
PLD_psttf:BOOL=ON
PLD_svg:BOOL=ON
PLD_tk:BOOL=ON
PLD_tkwin:BOOL=ON
PLD_wingcc:BOOL=ON
PLD_wxwidgets:BOOL=ON
PLD_xfig:BOOL=ON
PLD_xwin:BOOL=ON