Commit 0ee9a53a authored by whitlocb's avatar whitlocb

This updates replaces VisIt's autoconf build system with a cmake build system.



git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@9255 18c085ea-50e0-402c-830e-de6fd14e8384
parent 5273db7f

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

......@@ -1210,90 +1210,51 @@ cd ..
VisIt
======
VisIt uses GNU's autoconf system to provide platform independence when
building VisIt in a UNIX environment. Autoconf creates a script called
configure that tests your system for various libraries and programs required
to build VisIt. Follow the directions listed below to build VisIt.
More information about building VisIt follows after that.
VisIt uses the CMake build system to generate a cross-platform build system
that works on Windows, MacOS X, and UNIX. CMake uses a file called CMakeLists.txt
to generate Makefiles or project files for your environment. We recommand using
the build_visit script since it will build all of VisIt's 3rd party dependencies
and it will generate a `hostname`.conf file that can be used to inform cmake
about the libraries that you will be using when compiling VisIt. Follow the
directions listed below to build VisIt. More information about building VisIt
follows after that.
#
# Build and install it in the visit directory.
# Build and install it
#
gunzip visit1.12.1.tar.gz
tar xf visit1.12.1.tar
cd visit1.12.1/src/config-site
echo VISITHOME=$VISITDIR > `hostname`.conf
sed "s/ARCH/$VISITARCH/" Template.conf >> `hostname`.conf
cd ..
#
# For itanium (ia64) systems add the -fPIC flag to the CFLAGS and CXXFLAGS
# in the env command for configure. For opteron systems add the "-m64 -fPIC"
# flags to the CFLAGS and CXXFLAGS in the env command for configure.
#
env CFLAGS=-O2 CXXFLAGS=-O2 ./configure
cp `hostname`.conf visit1.12.1/src/config-site
cd visit1.12.1/src
cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/where/to/install/visit .
make
clearcase_bin/visit-bin-dist
#
# Use the appropriate install command based on the operating system on
# which you built VisIt.
# Install VisIt
#
clearcase_bin/visit-install 1.12.1 aix $VISITDIR
clearcase_bin/visit-install 1.12.1 aix64 $VISITDIR
clearcase_bin/visit-install 1.12.1 darwin-i386 $VISITDIR
clearcase_bin/visit-install 1.12.1 darwin-ppc $VISITDIR
clearcase_bin/visit-install 1.12.1 linux $VISITDIR
clearcase_bin/visit-install 1.12.1 linux-ia64 $VISITDIR
clearcase_bin/visit-install 1.12.1 linux-x86_64 $VISITDIR
make install
When running the configure script you can enable or disable certain dependent
packages. All the configure options are listed at the beginning of the
configure script or can listed by the configure script by typing
"./configure -help". The most commonly used options are:
--enable-parallel make the parallel version
--disable-scripting build without Python scripting capability
--enable-java build the Java interface library
--enable-buildall build all plugins
--with-netcdf=INC,LIB Location of NetCDF header and library
--with-hdf5=INC,LIB Location of HDF5 header and library
-DVISIT_PARALLEL:BOOL=ON make the parallel version
-DVISIT_JAVA:BOOL=ON build the Java interface library
-DVISIT_BUILD_ALL_PLUGINS:BOOL=ON build all plugins
--with-exodus[=<DIR>] enable Exodus driver
--with-exodus-include[=<DIR>] specify Exodus include path
--with-exodus-lib[=<DIR>] specify Exodus lib path
-DVISIT_NETCDF_DIR:PATH=path Location of NetCDF header and library
-DVISIT_HDF5_DIR:PATH=path Location of HDF5 header and library
The enable parallel option builds the parallel version of VisIt. Parallel
versions are supported on SGI, IBM AIX, Tru64, and some linux systems. The
disable scripting option builds VisIt without the Python scripting. The
enable buildall option builds all the VisIt plugins. By default, only the
most common plugins are built.
The VISIT_PARALLEL option builds the parallel version of VisIt. Parallel
versions are supported on SGI, IBM AIX, Tru64, MacOS X, and most linux systems.
The VISIT_BUILD_ALL_PLUGINS option builds all the VisIt plugins. By default,
only the most common plugins are built.
The second group of options are used when building with support for reading
netcf files or files based on hdf5. The third group of options are used when
building with support for reading exodus files.
Some platforms (especially SUSE) have compilation problems with
"plots/Volume/avtOpenGL3DTextureVolumeRenderer.C". We are currently working
on using an extension wrangler type approach to deal with this. In the
interim, you can avoid this problem by adding:
#ifndef VTK_IMPLEMENT_MESA_CXX
extern PFNGLTEXIMAGE3DEXTPROC glTexImage3D;
#endif
to the file after the standard includes.
Note about fonts used in VisIt
===============================
It has been reported that the font that VisIt uses by default is larger than
some users prefer. If you want to use a smaller font size, you can now pass
the -font argument to VisIt with an XLFD font name or a Qt font name as
returned by QFont::toString (see http://doc.trolltech.com/3.0/qfont.html#toString).
You can also set the font in the VisIt GUI's Appearance window. If you would
rather change the name of the default font that is compiled into VisIt then you
can replace the font name in the AppearanceAttributes state object located in
./common/state/AppearanceAttributes.C.
netcf files or files based on hdf5.
Many more options are available and you can find out more about them if you
run ccmake to configure VisIt.
If you have any problems send e-mail to visit-developers@ornl.gov.
#*****************************************************************************
#
# Copyright (c) 2000 - 2009, Lawrence Livermore National Security, LLC
# Produced at the Lawrence Livermore National Laboratory
# LLNL-CODE-400142
# All rights reserved.
#
# This file is part of VisIt. For details, see https://visit.llnl.gov/. The
# full copyright notice is contained in the file COPYRIGHT located at the root
# of the VisIt distribution or at http://www.llnl.gov/visit/copyright.html.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# - Redistributions of source code must retain the above copyright notice,
# this list of conditions and the disclaimer below.
# - Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the disclaimer (as noted below) in the
# documentation and/or other materials provided with the distribution.
# - Neither the name of the LLNS/LLNL nor the names of its contributors may
# be used to endorse or promote products derived from this software without
# specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL LAWRENCE LIVERMORE NATIONAL SECURITY,
# LLC, THE U.S. DEPARTMENT OF ENERGY OR CONTRIBUTORS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
# DAMAGE.
#
# Modifications:
#
#****************************************************************************/
MACRO(DETERMINE_VISIT_ARCHITECTURE ARCH)
IF(CMAKE_SYSTEM_NAME STREQUAL Linux)
IF(CMAKE_SYSTEM_PROCESSOR STREQUAL ppc)
SET(${ARCH} linux-ppc)
ELSEIF(CMAKE_SYSTEM_PROCESSOR STREQUAL ppc64)
SET(${ARCH} linux-ppc64)
ELSEIF(CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64)
SET(${ARCH} linux-x86_64)
ELSEIF(CMAKE_SYSTEM_PROCESSOR STREQUAL ia64)
SET(${ARCH} linux-ia64)
ELSE(CMAKE_SYSTEM_PROCESSOR STREQUAL ppc)
SET(${ARCH} linux-intel)
ENDIF(CMAKE_SYSTEM_PROCESSOR STREQUAL ppc)
ELSEIF(CMAKE_SYSTEM_NAME STREQUAL AIX)
IF(CMAKE_BASE_NAME STREQUAL xlC)
SET(${ARCH} "ibm-aix-pwr$ENV{OBJECT_MODE}-xlc")
ELSE(CMAKE_BASE_NAME STREQUAL xlC)
SET(${ARCH} "ibm-aix-pwr$ENV{OBJECT_MODE}")
ENDIF(CMAKE_BASE_NAME STREQUAL xlC)
ELSEIF(CMAKE_SYSTEM_NAME STREQUAL Darwin)
IF(CMAKE_SYSTEM_PROCESSOR STREQUAL i386)
SET(${ARCH} darwin-i386)
ELSE(CMAKE_SYSTEM_PROCESSOR STREQUAL i386)
SET(${ARCH} darwin-ppc)
ENDIF(CMAKE_SYSTEM_PROCESSOR STREQUAL i386)
ELSEIF(CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
SET(${ARCH} "freebsd-${CMAKE_SYSTEM_VERSION}")
ELSEIF(CMAKE_SYSTEM_NAME STREQUAL IRIX)
SET(${ARCH} sgi-irix6-mips2)
ELSEIF(CMAKE_SYSTEM_NAME STREQUAL SunOS)
SET(${ARCH} "sun4-${CMAKE_SYSTEM_VERSION}-sparc")
ELSEIF(CMAKE_SYSTEM_NAME STREQUAL Tru64)
SET(${ARCH} dec-osf1-alpha)
ELSE(CMAKE_SYSTEM_NAME STREQUAL Linux)
# Unhandled case. Make up a string.
SET(VISITARCHTMP "${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
STRING(TOLOWER ${VISITARCHTMP} ${ARCH})
ENDIF(CMAKE_SYSTEM_NAME STREQUAL Linux)
ENDMACRO(DETERMINE_VISIT_ARCHITECTURE ARCH)
#*****************************************************************************
#
# Copyright (c) 2000 - 2009, Lawrence Livermore National Security, LLC
# Produced at the Lawrence Livermore National Laboratory
# LLNL-CODE-400142
# All rights reserved.
#
# This file is part of VisIt. For details, see https://visit.llnl.gov/. The
# full copyright notice is contained in the file COPYRIGHT located at the root
# of the VisIt distribution or at http://www.llnl.gov/visit/copyright.html.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# - Redistributions of source code must retain the above copyright notice,
# this list of conditions and the disclaimer below.
# - Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the disclaimer (as noted below) in the
# documentation and/or other materials provided with the distribution.
# - Neither the name of the LLNS/LLNL nor the names of its contributors may
# be used to endorse or promote products derived from this software without
# specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL LAWRENCE LIVERMORE NATIONAL SECURITY,
# LLC, THE U.S. DEPARTMENT OF ENERGY OR CONTRIBUTORS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
# DAMAGE.
#
# Modifications:
#
#****************************************************************************/
# Use the ADIOS_DIR hint from the config-site .cmake file
INCLUDE(${VISIT_SOURCE_DIR}/CMake/SetUpThirdParty.cmake)
IF (WIN32)
SET_UP_THIRD_PARTY(ADIOS lib/${VISIT_MSVC_VERSION} include adiosread)
ELSE (WIN32)
SET_UP_THIRD_PARTY(ADIOS lib include adiosread)
ENDIF (WIN32)
#*****************************************************************************
#
# Copyright (c) 2000 - 2009, Lawrence Livermore National Security, LLC
# Produced at the Lawrence Livermore National Laboratory
# LLNL-CODE-400142
# All rights reserved.
#
# This file is part of VisIt. For details, see https://visit.llnl.gov/. The
# full copyright notice is contained in the file COPYRIGHT located at the root
# of the VisIt distribution or at http://www.llnl.gov/visit/copyright.html.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# - Redistributions of source code must retain the above copyright notice,
# this list of conditions and the disclaimer below.
# - Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the disclaimer (as noted below) in the
# documentation and/or other materials provided with the distribution.
# - Neither the name of the LLNS/LLNL nor the names of its contributors may
# be used to endorse or promote products derived from this software without
# specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL LAWRENCE LIVERMORE NATIONAL SECURITY,