Difference between revisions of "Main Page"

From PLplotWiki
Jump to: navigation, search
m (Reverted edits by OprYp1 (Talk); changed back to last version by Gm2124)
m
Line 24: Line 24:
 
  export PKG_CONFIG_PATH=/home/software/libLASi/install/lib/pkgconfig
 
  export PKG_CONFIG_PATH=/home/software/libLASi/install/lib/pkgconfig
  
For this particular example, <tt>CMAKE_INCLUDE_PATH</tt> helps cmake to find the headers for <tt>libltdl</tt> and <tt>libcd</tt> in non-standard install locations; <tt>CMAKE_LIBRARY_PATH</tt> helps cmake to find the <tt>libltdl</tt> and <tt>libcd</tt> libraries in non-standard install locations;  and <tt>PKG_CONFIG_PATH</tt> helps cmake to use the <tt>pkg-config</tt> command internally to find a libLASi pkg-config module file that is installed in a non-standard location.
+
For this particular example, <tt>CMAKE_INCLUDE_PATH</tt> helps cmake to find the headers for <tt>libltdl</tt> and <tt>libcd</tt> in non-standard install locations; <tt>CMAKE_LIBRARY_PATH</tt> helps cmake to find the <tt>libltdl</tt> and <tt>libcd<
 +
1000
 +
/tt> libraries in non-standard install locations;  and <tt>PKG_CONFIG_PATH</tt> helps cmake to use the <tt>pkg-config</tt> command internally to find a libLASi pkg-config module file that is installed in a non-standard location.
  
 
In general, <tt>CMAKE_INCLUDE_PATH</tt> helps cmake find headers and other files that are installed in non-standard locations; <tt>CMAKE_LIBRARY_PATH</tt> helps cmake find libraries that are installed in non-standard locations; and <tt>PKG_CONFIG_PATH</tt> helps pkg-config (either externally or internally from cmake) find pkg-config modules installed in non-standard locations.  Finally, although not used in the specific example above, the colon-separated environment variable <tt>PATH</tt> helps cmake find executables that are installed in non-standard locations.
 
In general, <tt>CMAKE_INCLUDE_PATH</tt> helps cmake find headers and other files that are installed in non-standard locations; <tt>CMAKE_LIBRARY_PATH</tt> helps cmake find libraries that are installed in non-standard locations; and <tt>PKG_CONFIG_PATH</tt> helps pkg-config (either externally or internally from cmake) find pkg-config modules installed in non-standard locations.  Finally, although not used in the specific example above, the colon-separated environment variable <tt>PATH</tt> helps cmake find executables that are installed in non-standard locations.
Line 33: Line 35:
  
 
  export CC="gcc -O2"
 
  export CC="gcc -O2"
  export CXX="g++ -O2"
+
  export CXX="g   -O2"
 
  export FC="g77 -O2"
 
  export FC="g77 -O2"
  
Line 47: Line 49:
 
  cmake -DCMAKE_INSTALL_PREFIX=/my/prefix \
 
  cmake -DCMAKE_INSTALL_PREFIX=/my/prefix \
 
  -DCMAKE_VERBOSE_MAKEFILE=ON  \
 
  -DCMAKE_VERBOSE_MAKEFILE=ON  \
  ../plplot_cmake >& cmake.out
+
  ../plplot_cmake >
 
+
Check the cmake.out file for any configuration issues, especially WARNING messages which signal that a component of PLplot has been removed because required system components for that component have not been found.
+
 
+
Everything can be controlled with -D options to the cmake command.  There are a large number of [[CMake options for PLplot]] which can be set for cmake to personalize your build.  Use the ccmake front end to cmake to obtain documentation of all these options.
+
In the above case we have specified a particular install prefix "/my/prefix" and verbose make results (essential if you want to see the exact commands used for the build).
+
 
+
Note in the above example an empty build directory called build_dir is used to insure a clean start, and ../plplot_cmake is a freshly checked out source tree (which remains clean because you never actually create any files in that directory tree).  To start fresh, simply execute "cd build_dir; rm -rf *".  Of course, this is an extremely dangerous command (since it removes everything in the current directory and all subdirectories), but you should be okay so long as you cd to the correct directory before executing the "rm" command.
+
 
+
===== Post-cmake build, install, and build-tree and install-tree tests =====
+
[[The PLplot build and install]] follows the cmake invocation.  Build-tree tests may be done with the "ctest" command.  Note, these ctests are limited to just the psc (colour postscript) device and can only be performed if cmake is invoked with the -DBUILD_TEST=ON option (which roughly doubles the build time because all the examples must be built).
+
The installed tree can be tested with [[the PLplot install-tree test]] for a large variety of PLplot device drivers.
+
 
+
===== Specifics for various Unix platforms =====
+
* [[Linux]]
+
 
+
==== Mac OSX ====
+
* [[Mac OSX]] instructions
+
* [[Mac OSX Status]] current status
+
 
+
==== Windows ====
+
 
+
===== Instructions per Windows platform =====
+
 
+
* [[Configure PLplot for Visual CXX]]
+
* [[Configure PLplot for MinGW/CLI]]
+
* [[Configure PLplot for cygwin]]
+
* [[Configure PLplot for Borland CXX 5.5 (free command line tools)]]
+
* [[Configure PLplot for Borland Turbo C++ Explorer Edition (free IDE and compiler)]]
+
* [[Install 3rd party libraries]]
+
 
+
===== Status of CBS on Windows =====
+
 
+
* [[Overview of the status on Windows]]
+
 
+
== Miscellaneous Debris ==
+
 
+
=== Edit Wiki pages ===
+
 
+
Consult the [http://meta.wikimedia.org/wiki/Help:Contents User's Guide] for information on using the wiki software. More information can be found here:
+
* [http://www.mediawiki.org/wiki/Help:Configuration_settings Configuration settings list]
+
* [http://www.mediawiki.org/wiki/Help:FAQ MediaWiki FAQ]
+
* [http://mail.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]
+
 
+
=== Maintain Wiki ===
+
This wiki will be backed up on a regular basis. Use these [[BackupInstructions]].
+
 
+
To restore a backup follow these [[RestoreInstructions]].
+

Revision as of 00:31, 2 September 2007

This is the (un-)official Wiki for PLplot. It should provide additional information to complement the PLplot documentation.

Building PLplot

Our traditional Autotools Build System (ABS) may be used to configure the PLplot build on Unix platforms (only) although it is deprecated and is no longer being maintained. We suggest using our new CMake Build System (CBS) instead which may be used to configure the PLplot build on both Unix and Windows platforms.

(Deprecated.) Building PLplot with our traditional ABS

Follow the ABS directions that are contained in the INSTALL file. We have no plans to update those ABS instructions any more.

Building PLplot with our new CBS

Our CMake Build System (CBS) has been made available as part of our development releases of PLplot starting with version 5.7.0 and is a build-system paradigm shift compared to our traditional Autotools Build System (ABS). Thus, it is important to consult the CMake documentation to get the most out of our CBS. That documentation is quite thorough but tends to be a bit scattered so we have collected what we think are the best general CMake documentation links for your convenience.

After consulting that documentation, install the appropriate package of CMake for your system platform. Note, you must use at least version 2.4.5 of CMake for your PLplot configuration.

Generic Unix instructions for our CBS

(Optional) set environment variables to help cmake find system components that are installed in non-standard locations

Here is one particular example (which must be executed before the cmake invocation discussed below).

export CMAKE_INCLUDE_PATH=/home/software/autotools/install/include:/home/software/cgmlib/cd1.3
export CMAKE_LIBRARY_PATH=/home/software/autotools/install/lib:/home/software/cgmlib/cd1.3
export PKG_CONFIG_PATH=/home/software/libLASi/install/lib/pkgconfig

For this particular example, CMAKE_INCLUDE_PATH helps cmake to find the headers for libltdl and libcd in non-standard install locations; CMAKE_LIBRARY_PATH helps cmake to find the libltdl and libcd< 1000 /tt> libraries in non-standard install locations; and <tt>PKG_CONFIG_PATH helps cmake to use the pkg-config command internally to find a libLASi pkg-config module file that is installed in a non-standard location.

In general, CMAKE_INCLUDE_PATH helps cmake find headers and other files that are installed in non-standard locations; CMAKE_LIBRARY_PATH helps cmake find libraries that are installed in non-standard locations; and PKG_CONFIG_PATH helps pkg-config (either externally or internally from cmake) find pkg-config modules installed in non-standard locations. Finally, although not used in the specific example above, the colon-separated environment variable PATH helps cmake find executables that are installed in non-standard locations.

(Optional) set environment variables to specify the compilers and compiler flags

Here is one particular example (which must be executed before the cmake invocation discussed below).

export CC="gcc -O2"
export CXX="g   -O2"
export FC="g77 -O2"

Note a better option is to set CMAKE_BUILD_TYPE to one of Debug, Release, RelWithDebInfo, or MinSizeRel. If you don't set this variable and don't set the environment variables above, then by default no compiler options (i.e., no optimization and no debugging symbols) are used for gcc-related compilers for our CBS which makes for fast builds, but slow execution.

cmake invocation

Here is one typical example.

mkdir build_dir
cd build_dir
cmake -DCMAKE_INSTALL_PREFIX=/my/prefix \
-DCMAKE_VERBOSE_MAKEFILE=ON  \
../plplot_cmake >