CMake options for PLplot

From PLplotWiki
Revision as of 05:46, 25 July 2008 by Hcarty (Talk | contribs) (Added cmake build option for OCaml)

Jump to: navigation, search

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.

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.

libpango/libcairo-related devices

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

libgd-related devices

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