CMake options for PLplot
A large number of options are available to modify the CMake configuration process. Use the ccmake command to obtain documentation of all of them. 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=Release/Debug - release or debug build of plplot
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)
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=OFF - Experimental Ada 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=OFF - Experimental OCaml 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.
These devices use various cairo backends. The ones that are turned ON by default generally give beautiful results with properly hinted fonts. The others do not yet work well for the present (2007-12) state of cairo backend development but may work well in the future.
PLD_pscairo=ON
PLD_pdfcairo=ON
PLD_pngcairo=ON
PLD_xcairo=ON
PLD_svgcairo=OFF
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