Explorar el Código

ENH: add a smaple configure.in for CMake based projects

Bill Hoffman hace 25 años
padre
commit
149f83dc2b
Se han modificado 1 ficheros con 617 adiciones y 0 borrados
  1. 617 0
      configure.in.sample

+ 617 - 0
configure.in.sample

@@ -0,0 +1,617 @@
+# Process this file with autoconf to produce a configure script.
+AC_INIT()
+
+AC_CONFIG_HEADER(itkConfigure.h)
+
+CMAKE_CONFIG_DIR=`pwd`
+AC_SUBST(CMAKE_CONFIG_DIR)
+
+#
+# check for some programs we use
+#
+AC_PROG_CC
+AC_PROG_CXX
+AC_PROG_RANLIB
+AC_PROG_INSTALL
+AC_PATH_XTRA
+
+
+# get byte swapping info
+AC_C_BIGENDIAN
+if test $ac_cv_c_bigendian = yes; then
+  AC_DEFINE(CMAKE_WORDS_BIGENDIAN)
+fi
+
+
+# some stuff Tcl uses
+#
+AC_CHECK_HEADER(limits.h, HAVE_LIMITS_H=-DHAVE_LIMITS_H,HAVE_LIMITS_H="")
+AC_SUBST(HAVE_LIMITS_H)
+AC_HAVE_HEADERS(unistd.h, HAVE_UNISTD_H=-DHAVE_UNISTD_H,HAVE_UNISTD_H="")
+AC_SUBST(HAVE_UNISTD_H)
+
+# Step 1: set the variable "system" to hold the name and version number
+# for the system.  This can usually be done via the "uname" command, but
+# there are a few systems, like Next, where this doesn't work.
+
+AC_MSG_CHECKING([system version (for dynamic loading)])
+if test -f /usr/lib/NextStep/software_version; then
+  system=NEXTSTEP-`awk '/3/,/3/' /usr/lib/NextStep/software_version`
+else
+    system=`uname -s`-`uname -r`
+    if test "$?" -ne 0 ; then
+	AC_MSG_RESULT([unknown (can't find uname command)])
+	system=unknown
+    else
+	# Special check for weird MP-RAS system (uname returns weird
+	# results, and the version is kept in special file).
+    
+	if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
+	    system=MP-RAS-`awk '{print $3}' /etc/.relid'`
+	fi
+	AC_MSG_RESULT($system)
+    fi
+fi
+
+
+
+#
+# use shared libs
+#
+AC_ARG_WITH(shared,
+         [  --with-shared           create shared libraries],
+         [CMAKE_shared_ok=$withval], [CMAKE_shared_ok=no])
+
+INSTALL_TARGET="install"
+
+
+
+AC_SUBST(INSTALL_TARGET)
+
+BUILD_TOOLKITS=""
+CLEAN_TOOLKITS=""
+DEPEND_TOOLKITS=""
+INSTALL_TOOLKITS=""
+
+# --with-kits goes here
+AC_SUBST(BUILD_TOOLKITS)
+AC_SUBST(INSTALL_TOOLKITS)
+AC_SUBST(DEPEND_TOOLKITS)
+AC_SUBST(CLEAN_TOOLKITS)
+
+
+# option for handling BSD style makefile includes
+#
+AC_ARG_WITH(bsdmake,
+         [  --with-bsdmake          uses bsd style makefile includes],
+	 if test "$withval" = yes; then
+         MAKEINCLUDE=".include"
+         MAKEQUOTE='"'
+         fi,
+         MAKEINCLUDE="include"
+         MAKEQUOTE='')
+AC_SUBST(MAKEINCLUDE)
+AC_SUBST(MAKEQUOTE)
+
+
+
+# the following is an excerpt from the tcl7.5b2 configure.in
+#--------------------------------------------------------------------
+#	The statements below define a collection of symbols related to
+#	dynamic loading and shared libraries:
+#
+#	SHLIB_CFLAGS -	Flags to pass to cc when compiling the components
+#			of a shared library (may request position-independent
+#			code, among other things).
+#	SHLIB_LD_LIBS -	Dependent libraries for the linker to scan when
+#			creating shared libraries.  This symbol typically
+#			goes at the end of the "ld" commands that build
+#			shared libraries. The value of the symbol if
+#			"${LIBS}" if all of the dependent libraries should
+#			be specified when creating a shared library.  If
+#			dependent libraries should not be specified (as on
+#			SunOS 4.x, where they cause the link to fail, or in
+#			general if Tcl and Tk aren't themselves shared
+#			libraries), then this symbol has an empty string
+#			as its value.
+#	SHLIB_SUFFIX -	Suffix to use for the name of the shared library.  An
+#			empty string means we don't know how to use shared
+#			libraries on this platform.
+#	CMAKE_SHLIB_BUILD_FLAGS -
+#                       Flags to use when building a shared library.	
+#	CMAKE_SHLIB_LINK_FLAGS -	
+#                       Flags to pass to the compiler when linking object
+#			files into an executable application binary such
+#			as tclsh.
+#--------------------------------------------------------------------
+
+
+# Step 2: check for existence of -ldl library.  This is needed because
+# Linux can use either -ldl or -ldld for dynamic loading.
+
+AC_CHECK_LIB(dl, dlopen, have_dl=yes, have_dl=no)
+
+# Step 4: set configuration options based on system name and version.
+
+fullSrcDir=`cd $srcdir; pwd`
+AC_SUBST(fullSrcDir)
+case $system in
+    AIX-*)
+	# AIX: can't link shared library extensions unless Tcl and Tk are
+	# also shared libraries.
+	SHLIB_CFLAGS=""
+	SHLIB_LD_LIBS='${LIBS}'
+	SHLIB_SUFFIX="..o"
+	DL_LIBS=""
+        AC_CHECK_LIB(ld,printf, DL_LIBS="-lld")
+	CMAKE_SHLIB_LINK_FLAGS=""
+	;;
+    HP-UX-*.08.*|HP-UX-*.09.*|HP-UX-*.10.*)
+	SHLIB_CFLAGS="+z"
+	SHLIB_LD_LIBS=""
+	SHLIB_SUFFIX=".sl"
+	DL_LIBS="-ldld"
+	CMAKE_SHLIB_BUILD_FLAGS='+Z -Wl,-E -Wl,-b'
+	CMAKE_SHLIB_LINK_FLAGS='-Wl,+s -Wl,+b,${LIB_RUNTIME_DIR}'
+        if test "$CC" = "gcc" -o `$CC -v 2>&1 | grep -c gcc` != "0" ; then
+  	  CMAKE_SHLIB_BUILD_FLAGS='-shared -Wl,-E -Wl,-b'
+	  CMAKE_SHLIB_LINK_FLAGS='-Wl,+s -Wl,+b,${LIB_RUNTIME_DIR}'
+        fi
+	;;
+    IRIX-5.*)
+	SHLIB_CFLAGS=""
+	SHLIB_LD_LIBS=""
+	SHLIB_SUFFIX=".so"
+	DL_LIBS=""
+	CMAKE_SHLIB_BUILD_FLAGS="-shared -rdata_shared"
+	;;
+    IRIX-6* | IRIX64-6* | IRIX-64-6*)
+	SHLIB_CFLAGS=""
+	SHLIB_LD_LIBS=""
+	SHLIB_SUFFIX=".so"
+	DL_LIBS=""
+	CMAKE_SHLIB_BUILD_FLAGS="-shared -rdata_shared"
+	;;
+    Linux*)
+	SHLIB_CFLAGS="-fPIC"
+	SHLIB_LD_LIBS=""
+	SHLIB_SUFFIX=".so"
+	CMAKE_SHLIB_BUILD_FLAGS="-shared"
+	if test "$have_dl" = yes; then
+	    DL_LIBS="-ldl"
+	    CMAKE_SHLIB_LINK_FLAGS="-rdynamic"
+	else
+	    AC_CHECK_HEADER(dld.h, [
+		DL_LIBS="-ldld"
+		CMAKE_SHLIB_LINK_FLAGS=""])
+	fi
+	;;
+    CYGWIN_NT*)
+        DL_LIBS="-lgdi32"
+        ;;
+    MP-RAS-02*)
+	SHLIB_CFLAGS="-K PIC"
+	SHLIB_LD_LIBS=""
+	SHLIB_SUFFIX=".so"
+	DL_LIBS="-ldl"
+	CMAKE_SHLIB_LINK_FLAGS=""
+	;;
+    MP-RAS-*)
+	SHLIB_CFLAGS="-K PIC"
+	SHLIB_LD_LIBS=""
+	SHLIB_SUFFIX=".so"
+	DL_LIBS="-ldl"
+	CMAKE_SHLIB_LINK_FLAGS="-Wl,-Bexport"
+	;;
+    NetBSD-*|FreeBSD-*)
+	# Not available on all versions:  check for include file.
+	if test -f /usr/include/dlfcn.h; then
+	    SHLIB_CFLAGS="-fpic"
+	    SHLIB_LD_LIBS=""
+	    SHLIB_SUFFIX=".so"
+	    DL_LIBS=""
+	    CMAKE_SHLIB_LINK_FLAGS="-shared"
+	else
+	    SHLIB_CFLAGS=""
+	    SHLIB_LD_LIBS=""
+	    SHLIB_SUFFIX="..o"
+	    DL_LIBS=""
+	    CMAKE_SHLIB_LINK_FLAGS=""
+	fi
+	;;
+    NEXTSTEP-*)
+	SHLIB_CFLAGS=""
+	SHLIB_LD_LIBS=""
+	SHLIB_SUFFIX=".so"
+	DL_LIBS=""
+	CMAKE_SHLIB_LINK_FLAGS=""
+	;;
+    OSF1-1.[012])
+	# OSF/1 1.[012] from OSF, and derivatives, including Paragon OSF/1
+	SHLIB_CFLAGS=""
+	# Hack: make package name same as library name
+	SHLIB_LD_LIBS=""
+	SHLIB_SUFFIX=".so"
+	DL_LIBS=""
+	CMAKE_SHLIB_LINK_FLAGS=""
+	;;
+    OSF1-1.*)
+	# OSF/1 1.3 from OSF using ELF, and derivatives, including AD2
+	SHLIB_CFLAGS="-fpic"
+	SHLIB_LD_LIBS=""
+	SHLIB_SUFFIX=".so"
+	DL_LIBS=""
+	CMAKE_SHLIB_LINK_FLAGS=""
+	;;
+    OSF1-V*)
+        # Digital OSF/1
+	SHLIB_CFLAGS=""
+	SHLIB_LD_LIBS=""
+	SHLIB_SUFFIX=".so"
+	DL_LIBS=""
+	CMAKE_SHLIB_BUILD_FLAGS='-shared -Wl,-expect_unresolved,"*"'
+	CMAKE_SHLIB_LINK_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+	;;
+    RISCos-*)
+	SHLIB_CFLAGS="-G 0"
+	SHLIB_LD_LIBS=""
+	SHLIB_SUFFIX="..o"
+	DL_LIBS=""
+	CMAKE_SHLIB_LINK_FLAGS="-Wl,-D,08000000"
+	;;
+    SCO_SV-3.2*)
+        # Note, dlopen is available only on SCO 3.2.5 and greater.  However,
+        # this test works, since "uname -s" was non-standard in 3.2.4 and
+        # below.
+	SHLIB_CFLAGS="-Kpic -belf"
+	SHLIB_LD_LIBS=""
+	SHLIB_SUFFIX=".so"
+	DL_LIBS=""
+	CMAKE_SHLIB_LINK_FLAGS="-belf -Wl,-Bexport"
+	;;
+     SINIX*5.4*)
+	SHLIB_CFLAGS="-K PIC"
+	SHLIB_LD_LIBS=""
+	SHLIB_SUFFIX=".so"
+	DL_LIBS="-ldl"
+	CMAKE_SHLIB_LINK_FLAGS=""
+	;;
+    SunOS-4*)
+	SHLIB_CFLAGS="-PIC"
+	SHLIB_LD_LIBS=""
+	SHLIB_SUFFIX=".so"
+	DL_LIBS="-ldl"
+	CMAKE_SHLIB_BUILD_FLAGS='-shared -Wl,-r -nostdlib'
+	CMAKE_SHLIB_LINK_FLAGS='-Wl,-L${LIB_RUNTIME_DIR}'
+	;;
+    SunOS-5*)
+	SHLIB_CFLAGS="-KPIC"
+	SHLIB_LD_LIBS='${LIBS}'
+	SHLIB_SUFFIX=".so"
+	DL_LIBS="-ldl"
+	CMAKE_SHLIB_BUILD_FLAGS='-G'
+	CMAKE_SHLIB_LINK_FLAGS='-R ${LIB_RUNTIME_DIR}'
+        if test "$CC" = "gcc" -o `$CC -v 2>&1 | grep -c gcc` != "0" ; then
+	  CMAKE_SHLIB_BUILD_FLAGS='-Wl,-G'
+	  CMAKE_SHLIB_LINK_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
+        fi
+	;;
+    ULTRIX-4.*)
+	SHLIB_CFLAGS="-G 0"
+	SHLIB_SUFFIX="..o"
+	SHLIB_LD_LIBS=""
+	DL_LIBS=""
+	CMAKE_SHLIB_LINK_FLAGS="-Wl,-D,08000000"
+	;;
+    UNIX_SV*)
+	SHLIB_CFLAGS="-K PIC"
+	SHLIB_LD_LIBS=""
+	SHLIB_SUFFIX=".so"
+	DL_LIBS="-ldl"
+	CMAKE_SHLIB_LINK_FLAGS="-Wl,-Bexport"
+	;;
+esac
+export SHLIB_SUFFIX
+
+# If we're running gcc, then change the C flags for compiling shared
+# libraries to the right flags for gcc, instead of those for the
+# standard manufacturer compiler.
+if test "$CC" = "gcc" -o `$CC -v 2>&1 | grep -c gcc` != "0" ; then
+  SHLIB_CFLAGS="-fPIC"
+fi
+
+if test "$CMAKE_shared_ok" = "yes"; then
+    CMAKE_SHLIB_CFLAGS="${SHLIB_CFLAGS}"
+    CMAKE_LD_SEARCH_FLAGS="${LD_SEARCH_FLAGS}"
+    CMAKE_TCL_SHLIB_TARGET="CMAKEtcl"
+    RANLIB=":"
+    TOOLKIT_DEPENDS=""
+    CMAKE_LIB_EXT="${SHLIB_SUFFIX}"
+else
+    CMAKE_LIB_EXT=".a"
+    SHLIB_LD_LIBS=""
+    CMAKE_SHLIB_CFLAGS=""
+    CMAKE_LD_SEARCH_FLAGS=""
+fi
+export CMAKE_LIB_EXT
+
+AC_SUBST(CMAKE_TCL_SHLIB_TARGET)
+
+
+AC_SUBST(TOOLKIT_DEPENDS)
+
+AC_SUBST(CMAKE_SHLIB_LINK_FLAGS)
+AC_SUBST(CMAKE_SHLIB_BUILD_FLAGS)
+
+AC_SUBST(CMAKE_SHLIB_CFLAGS)
+AC_SUBST(CMAKE_LIB_EXT)
+AC_SUBST(DL_LIBS)
+AC_SUBST(SHLIB_LD_LIBS)
+AC_SUBST(SHLIB_SUFFIX)
+
+
+#--------------------------------------------------------------------
+#	Include sys/select.h if it exists and if it supplies things
+#	that appear to be useful and aren't already in sys/types.h.
+#	This appears to be true only on the RS/6000 under AIX.  Some
+#	systems like OSF/1 have a sys/select.h that's of no use, and
+#	other systems like SCO UNIX have a sys/select.h that's
+#	pernicious.  If "fd_set" isn't defined anywhere then set a
+#	special flag.
+#--------------------------------------------------------------------
+
+AC_MSG_CHECKING([fd_set and sys/select])
+AC_TRY_COMPILE([#include <sys/types.h>],
+	[fd_set readMask, writeMask;], tk_ok=yes, tk_ok=no)
+if test $tk_ok = no; then
+    AC_HEADER_EGREP(fd_mask, sys/select.h, tk_ok=yes)
+    if test $tk_ok = yes; then
+	AC_DEFINE(HAVE_SYS_SELECT_H)
+    fi
+fi
+AC_MSG_RESULT($tk_ok)
+if test $tk_ok = no; then
+    AC_DEFINE(NO_FD_SET)
+fi
+
+
+##########################
+##			##
+## Check thread support ##
+##			##
+##########################
+# initialize thread vars
+THREAD_LIBS=""
+THREAD_FLAGS=""
+use_sproc=no
+CMAKE_USE_SPROC=0
+CMAKE_USE_PTHREADS=0
+CMAKE_HP_PTHREADS=0
+
+##########################
+##                      ##
+##      sproc           ##
+##                      ##
+##########################
+# check for sproc
+force_sproc=no
+AC_ARG_WITH(sproc,
+         [  --with-sproc           use sproc instead of pthreads if possible],
+         if test "$withval" = yes; then
+         force_sproc=yes
+         fi,)
+
+
+
+AC_CHECK_HEADERS(sys/prctl.h, [use_sproc=yes])
+if test "$use_sproc" = "yes"; then
+case $system in
+    Linux* | IRIX64-6.5 | IRIX-6.5) 
+        if test "$force_sproc" = "yes"; then
+           CMAKE_USE_SPROC=1
+        else
+	  use_sproc=no
+    	fi
+	;;
+    IRIX*)
+	CMAKE_USE_SPROC=1
+	;;
+esac
+fi
+use_pthreads=no
+AC_CHECK_HEADERS(pthread.h, [use_pthreads=yes])
+if test "$use_pthreads" = "yes"; then
+  if test "$use_sproc" = "no"; then
+    AC_CHECK_LIB(pthreads, pthread_create, THREAD_LIBS="-lpthreads")
+    AC_CHECK_LIB(pthread, pthread_create, THREAD_LIBS="-lpthread")
+# Work around Solaris 5.6 and 5.7 bug:
+    if test "`uname -s -r`" = "SunOS 5.6"; then
+      AC_CHECK_LIB(thread, thr_create, THREAD_LIBS="$THREAD_LIBS -lthread")
+    fi
+    if test "`uname -s -r`" = "SunOS 5.7"; then
+      AC_CHECK_LIB(thread, thr_create, THREAD_LIBS="$THREAD_LIBS -lthread")
+    fi
+	CMAKE_USE_PTHREADS=1
+  fi
+fi
+
+# on an HP with pthread we need to use -lcma
+# on dec alphas we have had problems as well
+if test "$use_pthreads" = "yes"; then
+case $system in
+    HP-UX-*.10.*)
+	THREAD_LIBS="-lcma"
+	CMAKE_USE_PTHREADS=1 
+	CMAKE_HP_PTHREADS=1
+	;;
+    OSF1-V*)
+	CMAKE_USE_PTHREADS=0
+        THREAD_LIBS=""
+        ;;
+    FreeBSD*)
+	CMAKE_USE_PTHREADS=0
+	THREAD_LIBS=""
+	;;
+esac
+fi
+
+
+if test $CMAKE_USE_SPROC = 1; then
+AC_DEFINE(CMAKE_USE_SPROC)
+fi
+if test $CMAKE_USE_PTHREADS = 1; then
+AC_DEFINE(CMAKE_USE_PTHREADS)
+fi
+if test $CMAKE_HP_PTHREADS = 1; then
+AC_DEFINE(CMAKE_HP_PTHREADS)
+fi
+
+AC_SUBST(THREAD_LIBS)
+
+
+
+# on hp use -Aa for ansi
+if test $ac_cv_prog_gxx = no; then
+case $system in
+    HP-UX-*.08.*|HP-UX-*.09.*|HP-UX-*.10.*)
+        echo $ac_n "checking whether ${CC} accepts -Aa""... $ac_c" 1>&6
+        echo 'void f(){}' > conftest.c
+        if test -z "`${CC} -Aa -c conftest.cc 2>&1`"; then
+          echo "$ac_t""yes" 1>&6
+          ANSI_CFLAGS="-Aa"
+        else
+          echo "$ac_t""no" 1>&6
+        fi
+        rm -f conftest*
+	;;
+esac
+fi
+AC_SUBST(ANSI_CFLAGS)
+
+# if we are not running g++ then we might need some other flags
+# to get the templates compiled correctly
+CMAKE_TEMPLATE_FLAGS=""
+if test $ac_cv_prog_gxx = no; then
+    echo $ac_n "checking whether ${CXX} accepts -ptused -no_prelink""... $ac_c" 1>&6
+  echo 'void f(){}' > conftest.cc
+  if test -z "`${CXX} -ptused -no_prelink -c conftest.cc 2>&1`"; then
+    echo "$ac_t""yes" 1>&6
+    CMAKE_TEMPLATE_FLAGS="-ptused -no_prelink"
+  else
+    echo "$ac_t""no" 1>&6
+  fi
+  rm -f conftest*
+  echo $ac_n "checking whether ${CXX} accepts -instances=semiexplicit""... $ac_c" 1>&6
+  echo 'void f(){}' > conftest.cc
+  if test -z "`${CXX} -instances=static -c conftest.cc 2>&1`"; then
+    echo "$ac_t""yes" 1>&6
+    CMAKE_TEMPLATE_FLAGS="-instances=static"
+  else
+    echo "$ac_t""no" 1>&6
+  fi
+fi
+AC_SUBST(CMAKE_TEMPLATE_FLAGS)
+
+if test "$CC" = "gcc" -o `$CC -v 2>&1 | grep -c gcc` != "0" ; then
+  SHLIB_CFLAGS="-fPIC"
+fi
+
+if test -f $CMAKE_CONFIG_DIR/CMakeLocal.make.in; then
+   echo "create CMakeLocal.make from $CMAKE_CONFIG_DIR/CMakeLocal.make.in"
+   rm -f local.make
+   cp $CMAKE_CONFIG_DIR/local.make.in local.make
+else
+   echo "no $CMAKE_CONFIG_DIR/CMakeLocal.make.in creating an empty CMakeLocal.make file"
+   rm -f CMakeLocal.make
+   touch CMakeLocal.make
+fi
+
+AC_SUBST(EXTRA_GCC_FLAG)
+
+
+# run any sub directory cofigure scripts here
+
+AC_CONFIG_SUBDIRS(Code/Insight3DParty/vxl/vcl)
+
+# *****************************************
+# 
+#  This next section extracts the sub-directories from 
+#  the CMakeLists.txt file in the current directory,
+#  and any sub directories recursivley 
+#
+
+echo "Searching CMakeLists.txt files for all sub directories"
+# the result of a the directories found is stored in allDirs
+allDirs=
+# start looking in the current directory .
+searchDirs=$srcdir
+# loop until the flag dirHasListsFile is set to falls
+dirHasListsFile=:
+while $dirHasListsFile; do
+    # reset the varible used to store the full paths to the directory
+    # outside the for loop
+    fullPathDirs=
+    # loop over all directorirs in the current searchDirs varible
+    for currentDir in $searchDirs;do
+	# look for a CMakeLists.txt file in the current directory
+	if test -e$currentDir/CMakeLists.txt; then
+	    # extract the SUBDIRS varible from the CMakeLists.txt file
+	    dirsInListsFile=`cat $currentDir/CMakeLists.txt | sed -e :a -e '/SUBDIRS.*\\\\$/N; s/\\\\\\n//; ta' | grep SUBDIRS | sed -e "s/SUBDIRS//g; s/(//g;s/)//g" `
+	    # add the current directory to any sub dirs found
+	    # in the above search of CMakeLists.txt
+	    for subdir in $dirsInListsFile;do
+		fullPathDirs="$fullPathDirs $currentDir/$subdir"
+		allDirs="$allDirs $currentDir/$subdir"
+	    done
+	fi
+    done
+    # now get ready to search any directories found in the above for loop
+    searchDirs=$fullPathDirs
+    # check to see if searchDirs is emtpy
+    if test "x$searchDirs" = x; then
+	dirHasListsFile=false
+    fi
+done  # continue while loop until dirHasListsFile=false
+
+if test "x$srcdir" = x.; then
+    allDirs=`echo $allDirs | sed -e "s|\./||g"`
+else
+    allDirs=`echo $allDirs | sed -e "s|$srcdir/||g"`
+fi
+SUBDIR_MAKEFILES=`echo $allDirs | sed -e 's|\\([[A-Za-z0-9_/]][[A-Za-z0-9_/]]*\\)|\1/Makefile:CMake/MakefileTemplate.in|g'`
+
+SUBDIR_CMAKE_TARGETS=`echo $allDirs | sed -e 's|\\([[A-Za-z0-9_/]][[A-Za-z0-9_/]]*\\)|\1/CMakeTargets.make:CMake/CMakeTargets.make.in|g'`
+
+#
+# *****************************************
+#  end of extract SUBDIRS out of CMakeLists.txt files
+# 
+
+
+# output to the top level Makefile, which must be present
+# create the toplevel CMakeTargets.make file
+# Create all the make file fragments in CMake
+# Create the Makefile in CMake/Source
+# Create all the Makefiles and CMakeTargets.make files for
+# sub directories found in CMakeLists.txt files
+
+AC_OUTPUT(
+Makefile:CMake/MakefileTemplate.in
+CMakeTargets.make:CMake/CMakeTargets.make.in 
+CMake/CMakeSimpleRules.make 
+CMake/CMakeMaster.make 
+CMake/CMakeVariables.make
+CMake/CMakeRules.make 
+CMake/Source/CMakeTargets.make:CMake/dummy.in 
+CMake/Source/Makefile
+$SUBDIR_MAKEFILES
+$SUBDIR_CMAKE_TARGETS
+)
+
+
+
+# force a rebuild of rulesgen which will rebuild CMakeTargets.make
+# this has to be done because configure generates empty CMakeTargets.make files
+# for makes other than gnu.
+rm -f CMake/Source/CMakeBuildTargets
+rm -f CMake/Source/CMakeBuildTargets.exe