[cig-commits] r12849 - in cs/cigma/trunk/build: . m4
luis at geodynamics.org
luis at geodynamics.org
Wed Sep 10 12:50:51 PDT 2008
Author: luis
Date: 2008-09-10 12:50:51 -0700 (Wed, 10 Sep 2008)
New Revision: 12849
Added:
cs/cigma/trunk/build/m4/
cs/cigma/trunk/build/m4/vtk.m4
Log:
Autoconf functions for detecting & configuring VTK library
Added: cs/cigma/trunk/build/m4/vtk.m4
===================================================================
--- cs/cigma/trunk/build/m4/vtk.m4 (rev 0)
+++ cs/cigma/trunk/build/m4/vtk.m4 2008-09-10 19:50:51 UTC (rev 12849)
@@ -0,0 +1,157 @@
+##############################################################################
+# -*- Autoconf -*-
+#
+# Implements the AM_OPTIONS_VTK and AM_PATH_VTK macros.
+# The AM_OPTIONS_VTK macro adds the --with-vtk=path option,
+# and the AM_PATH_VTK macro is used to detect VTK presence,
+# location and version.
+#
+# Modified from http://www.vtk.org/Wiki/VTK_Autoconf
+# Originally by Francesco Montorsi
+#
+
+
+##############################################################################
+#
+# AM_OPTIONS_VTK
+#
+# Adds the --with-vtk=PATH option to the configure options
+#
+AC_DEFUN([AM_OPTIONS_VTK],[
+ AC_ARG_WITH([vtk],
+ [AC_HELP_STRING(
+ [--with-vtk],
+ [The prefix where VTK is installed (default is /usr/local)])],
+ [with_vtk=$withval],
+ [with_vtk="/usr/local"])
+ AC_ARG_WITH([vtk-version],
+ [AC_HELP_STRING(
+ [--with-vtk-version],
+ [VTK's include directory name is vtk-suffix, e.g., vtk-5.0/.
+ What's the suffix? (Default -5.0)])],
+ [vtk_suffix=$withval],
+ [vtk_suffix="-5.0"])
+])
+
+##############################################################################
+#
+# AM_PATH_VTK([minimum-version], [action-if-found], [action-if-not-found])
+#
+# NOTE: [minimum-version] must be in the form [X.Y.Z]
+#
+AC_DEFUN([AM_PATH_VTK],[
+
+ dnl do we want to check for VTK?
+ if [[ $with_vtk = "yes" ]]; then
+ dnl in case user wrote --with-vtk=yes
+ with_vtk="/usr/local"
+ fi
+
+ if [[ $with_vtk != "no" ]]; then
+
+ VTK_PREFIX="$with_vtk"
+
+ AC_CHECK_FILE([$VTK_PREFIX/include/vtk$vtk_suffix/vtkCommonInstantiator.h],
+ [vtkFound="OK"])
+ AC_MSG_CHECKING([if VTK is installed in $VTK_PREFIX])
+
+ if [[ -z "$vtkFound" ]]; then
+
+ dnl VTK not found!
+ AC_MSG_RESULT([no])
+ $3
+
+ else
+
+ dnl VTK found!
+ AC_MSG_RESULT([yes])
+
+ dnl these are the VTK libraries of a default build
+ VTK_LIBS="-lvtkCommon -lvtkFiltering"
+
+ dnl set VTK c,cpp,ld flags
+ VTK_CFLAGS="-I$VTK_PREFIX/include/vtk$vtk_suffix"
+ VTK_CXXFLAGS="$VTK_CFLAGS"
+ VTK_LDFLAGS="-L$VTK_PREFIX/lib/vtk $VTK_LIBS"
+
+ dnl now, eventually check version
+ if [[ -n "$1" ]]; then
+
+ dnl the version of VTK we need
+ maj=`echo $1 | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+ min=`echo $1 | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+ rel=`echo $1 | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+ AC_MSG_CHECKING([if VTK version is at least $maj.$min.$rel])
+
+ dnl in order to be able to compile the following test program,
+ dnl we need to add to the current flags, the VTK settings...
+ OLD_CFLAGS=$CFLAGS
+ OLD_CXXFLAGS=$CXXFLAGS
+ OLD_LDFLAGS=$LDFLAGS
+ CFLAGS="$VTK_CFLAGS $CFLAGS"
+ CXXFLAGS="$VTK_CXXFLAGS $CXXFLAGS"
+ LDFLAGS="$VTK_LDFLAGS $LDFLAGS"
+
+ dnl check if the installed VTK is greater or not
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([
+ #include <vtk/vtkConfigure.h>
+ #include <stdio.h>
+ ],[
+ printf("VTK version is: %d.%d.%d",
+ VTK_MAJOR_VERSION,
+ VTK_MINOR_VERSION,
+ VTK_BUILD_VERSION);
+
+ #if VTK_MAJOR_VERSION < $maj
+ #error Installed VTK is too old!
+ #endif
+
+ #if VTK_MINOR_VERSION < $min
+ #error Installed VTK is too old!
+ #endif
+
+ #if VTK_BUILD_VERSION < $rel
+ #error Installed VTK is too old!
+ #endif
+ ])
+ ], [vtkVersion="OK"])
+
+ if [[ "$vtkVersion" = "OK" ]]; then
+
+ AC_MSG_RESULT([yes])
+
+ $2
+
+ else
+
+ AC_MSG_RESULT([no])
+
+ dnl restore all flags without VTK values
+ CFLAGS=$OLD_CFLAGS
+ CXXFLAGS=$OLD_CXXFLAGS
+ LDFLAGS=$OLD_LDFLAGS
+
+ $3
+ fi # if [[ $vtkVersion = "OK ]];
+
+ else
+
+ dnl if we don't ahve to check for minimum version
+ dnl (because the user did not set that option),
+ dnl then we can execute here the block action-if-found
+ CFLAGS="$VTK_CFLAGS $CFLAGS"
+ CXXFLAGS="$VTK_CXXFLAGS $CXXFLAGS"
+ LDFLAGS="$VTK_LDFLAGS $LDFLAGS"
+
+ $2
+
+ fi #if [[ -n "$1" ]];
+
+ fi # if [[ -z "$vtkFound" ]];
+ fi # $with_vtk != "no"
+])
+
+
+
+# vim: syntax=config
More information about the cig-commits
mailing list