diff -Naur -x .svn libsigc++-2.2.4/cmake/00-Common.cmake libsigc++-2.2.4.cmake/cmake/00-Common.cmake
--- libsigc++-2.2.4/cmake/00-Common.cmake	1969-12-31 16:00:00.000000000 -0800
+++ libsigc++-2.2.4.cmake/cmake/00-Common.cmake	2009-10-26 16:39:59.000000000 -0700
@@ -0,0 +1,159 @@
+################################################################################
+#  
+# Copyright (c) 2009 by Made to Order Software Corporation
+#
+# Author: R. Douglas Barbieri
+# 
+# The source code in this file ("Source Code") is provided by Made to Order Software Corporation
+# to you under the terms of the GNU General Public License, version 2.0
+# ("GPL").  Terms of the GPL can be found in doc/GPL-license.txt in this distribution.
+# 
+# By copying, modifying or distributing this software, you acknowledge
+# that you have read and understood your obligations described above,
+# and agree to abide by those obligations.
+# 
+# ALL SOURCE CODE IN THIS DISTRIBUTION IS PROVIDED "AS IS." THE AUTHOR MAKES NO
+# WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+# COMPLETENESS OR PERFORMANCE.
+# 
+#
+# This file defines common CMake defintions for use in the sandbox.
+# STAGING_DIR is a globally defined path in the cmake cache, configurable
+# via cmake command line "-D" (or in ccmake or cmake-gui). All output of each
+# package in the sandbox will wind up installed here (in other words, for
+# autoconf stuff, configure --prefix=${STAGING_DIR}).
+#
+# This common file is intended to be included in each CMakeLists.txt file in
+# the entire sandbox. It defines the following variables:
+#
+# LINUX		 - Set if operating system is GNU/Linux
+# DARWIN	 - Set if operating system is Macintosh OS/X 
+# WINDOWS	 - Set if operating system is Microsoft Windows and generator is Visual Studio.
+# MINGW32	 - Set if operating system is Microsoft Windows and generator is MingGW or MSYS.
+# MO_ARCH	 - Set to the architecture of the current system (e.g. i686_win32)
+# PREREQ_DIR - points to the directory containing the prerequistites.
+#
+# If you have not created the prereqs first the cmake config process will fail.
+#
+# You can bypass the PREREQ_DIR requirement by setting WANT_PREREQ_DIR to FALSE.
+#
+################################################################################
+
+
+################################################################################
+#
+option( WANT_PREREQ_DIR "Turn this on for sandbox support." FALSE )
+if( WANT_PREREQ_DIR )
+	set( PREREQ_DIR ${CMAKE_BINARY_DIR}/prereqs CACHE PATH "Prerequesites to building sandbox" )
+	#
+	if( NOT EXISTS ${PREREQ_DIR} )
+		message( FATAL_ERROR "You must create a prereqs directory in your staging area and run cmake against the source prereqs!" )
+	endif( NOT EXISTS ${PREREQ_DIR} )
+	#
+	set( PREREQ_INCLUDE_DIR ${PREREQ_DIR}/include )
+	set( PREREQ_LIB_DIR		${PREREQ_DIR}/lib	  )
+	set( PREREQ_SHARE_DIR	${PREREQ_DIR}/share	  )
+endif( WANT_PREREQ_DIR )
+#
+set( MINGW_CROSS_COMPILE FALSE CACHE BOOL "Enable cross compiling of MinGW32 under GNU/Linux" )
+#
+# Configuration types for IDEs that support this feature
+#
+set( CMAKE_CONFIGURATION_TYPES "RelWithDebInfo;Release;Debug" CACHE STRING "Supported build types." )
+#
+# Determine which platform we are on and set flags accordingly
+#
+# UNIX matches both Linux and Darwin (Mac OS/X)
+#
+if( UNIX )
+	#
+	# Linux
+	#
+	if( ${CMAKE_SYSTEM_NAME} MATCHES "Linux" )
+		set( LINUX ON BOOL FORCE )
+		execute_process( COMMAND uname -m
+						 COMMAND sed s/i.86/i686/
+						 OUTPUT_VARIABLE ARCH
+						 OUTPUT_STRIP_TRAILING_WHITESPACE )
+		set( MO_ARCH ${ARCH}_linux )
+	endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+	#
+	# Darwin
+	#
+	if( ${CMAKE_SYSTEM_NAME} MATCHES "Darwin" )
+		set( DARWIN ON BOOL FORCE )
+		#
+		# Set this on the command line to turn on universal binary support
+		#
+		# -DCMAKE_OSX_ARCHITECTURES:STRING='i386;ppc'
+		set( CMAKE_OSX_ARCHITECTURES i386 )
+		set( CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.4u.sdk )
+		#
+		if( CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc" )
+			set( ARCH universal )
+		else( CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc" )
+			if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc")
+				set(ARCH ppc)
+			else (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc")
+				set(ARCH i386)
+			endif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc")
+		endif( CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc" )
+		set(MO_ARCH ${ARCH}_darwin)
+	endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+	#
+else( UNIX )
+	#
+	# Windows (both MSVC and MinGW)
+	#
+	if( ${CMAKE_SYSTEM_NAME} MATCHES "Windows" )
+		if( MSVC )
+			set( WINDOWS ON BOOL FORCE )
+			set( ARCH i686 )
+			set( MO_ARCH ${ARCH}_win32 )
+		else( MSVC )
+			set( MINGW32 ON BOOL FORCE )
+			set( ARCH mingw )
+			set( MO_ARCH ${ARCH}_win32 )
+		endif( MSVC )
+	endif( ${CMAKE_SYSTEM_NAME} MATCHES "Windows" )
+	#
+endif( UNIX )
+#
+# Global configuration options
+#
+set( CONFIGURATION_OPTIONS "--prefix=${STAGING_DIR}" )
+
+
+################################################################################
+# Handle quirks specific to each platform
+#
+if (LINUX)
+	#
+	# Definition specific to GNU/Linux
+	#
+	add_definitions( "-DMO_LINUX" )
+endif (LINUX)
+#
+if (DARWIN)
+	#
+	# Definition specific to GNU/Linux
+	#
+	add_definitions( "-DMO_DARWIN" )
+endif (DARWIN)
+#
+if (WINDOWS)
+	#
+	# Definitions specific to windows
+	#
+	add_definitions( "-DMO_WINDOWS -DMO_WIN32 -DWIN32 -D_CRT_SECURE_NO_WARNINGS" )
+endif (WINDOWS)
+#
+if (MINGW32)
+	#
+	# Definition specific to MinGW32
+	#
+	add_definitions( "-DMO_MINGW32 -DMO_WIN32 -DWIN32" )
+endif (MINGW32)
+
+
+# vim: ts=4 sw=4 noexpandtab
diff -Naur -x .svn libsigc++-2.2.4/cmake/01-Configure.cmake libsigc++-2.2.4.cmake/cmake/01-Configure.cmake
--- libsigc++-2.2.4/cmake/01-Configure.cmake	1969-12-31 16:00:00.000000000 -0800
+++ libsigc++-2.2.4.cmake/cmake/01-Configure.cmake	2009-10-26 16:40:21.000000000 -0700
@@ -0,0 +1,493 @@
+################################################################################
+#  
+# Copyright (c) 2009 by Made to Order Software Corporation
+#
+# Author: R. Douglas Barbieri
+# 
+# The source code in this file ("Source Code") is provided by Made to Order Software Corporation
+# to you under the terms of the GNU General Public License, version 2.0
+# ("GPL").  Terms of the GPL can be found in doc/GPL-license.txt in this distribution.
+# 
+# By copying, modifying or distributing this software, you acknowledge
+# that you have read and understood your obligations described above,
+# and agree to abide by those obligations.
+# 
+# ALL SOURCE CODE IN THIS DISTRIBUTION IS PROVIDED "AS IS." THE AUTHOR MAKES NO
+# WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+# COMPLETENESS OR PERFORMANCE.
+# 
+#
+# This file inspects the current system so you can produce a proper "config.h" file.
+# The project can then properly compile and link against the current local libraries.
+#
+# For example:
+# include( 01-Configure )
+# ConfigureSystemIncludes()
+# configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h )
+#
+################################################################################
+
+
+################################################################################
+# ConfigureSystemIncludes()
+#
+# This function checks for common include files then configures the system,
+# Call configure_file() to generate the proper include file.
+#
+function( ConfigureSystemIncludes )
+	#
+	include( CheckIncludeFiles )
+	include( CheckFunctionExists )
+	include( CheckSymbolExists )
+	include( CheckLibraryExists )
+	include( CheckTypeSize )
+	include( MoCheckCSourceCompiles )
+
+	if( NOT WINDOWS )
+		add_definitions( -D_GNU_SOURCE )
+		set( CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE )
+	endif( NOT WINDOWS )
+
+	#
+	# This macro checks if the symbol exists in the library and if it
+	# does, it appends library to the list.
+	SET(REQUIRED_LIBS "")
+	MACRO(CHECK_LIBRARY_EXISTS_CONCAT LIBRARY SYMBOL VARIABLE)
+	  CHECK_LIBRARY_EXISTS("${LIBRARY};${REQUIRED_LIBS}" ${SYMBOL} ""
+		${VARIABLE})
+	  IF(${VARIABLE})
+		SET(REQUIRED_LIBS ${REQUIRED_LIBS} ${LIBRARY})
+	  ENDIF(${VARIABLE})
+	ENDMACRO(CHECK_LIBRARY_EXISTS_CONCAT)
+
+	# Check for all needed libraries
+	CHECK_LIBRARY_EXISTS_CONCAT("dl"     dlopen       HAVE_LIBDL)
+	CHECK_LIBRARY_EXISTS_CONCAT("ucb"    gethostname  HAVE_LIBUCB)
+	CHECK_LIBRARY_EXISTS_CONCAT("socket" connect      HAVE_LIBSOCKET)
+	CHECK_LIBRARY_EXISTS("c" gethostbyname "" NOT_NEED_LIBNSL)
+	#
+	IF(NOT NOT_NEED_LIBNSL)
+	  CHECK_LIBRARY_EXISTS_CONCAT("nsl"    gethostbyname  HAVE_LIBNSL)
+	ENDIF(NOT NOT_NEED_LIBNSL)
+	#
+	CHECK_LIBRARY_EXISTS_CONCAT("ws2_32"	WSAGetLastError	HAVE_LIBWS2_32)
+	CHECK_LIBRARY_EXISTS_CONCAT("winmm" 	puts			HAVE_LIBWINMM)
+	CHECK_LIBRARY_EXISTS_CONCAT("m"			cos 			HAVE_LIBWINMM)
+	CHECK_LIBRARY_EXISTS_CONCAT("history"	append_history	HAVE_LIBHISTORY)
+	CHECK_LIBRARY_EXISTS_CONCAT("readline"	readline		HAVE_LIBREADLINE)
+	CHECK_LIBRARY_EXISTS_CONCAT("pthread"	pthread_create	HAVE_LIBPTHREAD)
+	#
+	#OPTION(CMAKE_USE_OPENSSL "Use OpenSSL code. Experimental" OFF)
+	#
+	MARK_AS_ADVANCED(CMAKE_USE_OPENSSL)
+	IF(CMAKE_USE_OPENSSL)
+	  CHECK_LIBRARY_EXISTS_CONCAT("crypto" CRYPTO_lock  HAVE_LIBCRYPTO)
+	  CHECK_LIBRARY_EXISTS_CONCAT("ssl"    SSL_connect  HAVE_LIBSSL)
+	ENDIF(CMAKE_USE_OPENSSL)
+
+	# Check for symbol dlopen (same as HAVE_LIBDL)
+	CHECK_LIBRARY_EXISTS("${REQUIRED_LIBS}" dlopen "" HAVE_DLOPEN)
+	CHECK_LIBRARY_EXISTS("${REQUIRED_LIBS}" finite "" HAVE_FINITE)
+	CHECK_LIBRARY_EXISTS("${REQUIRED_LIBS}" fprintf "" HAVE_FPRINTF)
+	CHECK_LIBRARY_EXISTS("${REQUIRED_LIBS}" ftime "" HAVE_FTIME)
+
+	# For other tests to use the same libraries
+	SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${REQUIRED_LIBS})
+
+	# If we have features.h, then do the _BSD_SOURCE magic
+	CHECK_INCLUDE_FILES("features.h"       HAVE_FEATURES_H)
+
+	# Check if header file exists and add it to the list.
+	MACRO(CHECK_INCLUDE_FILES_CONCAT FILE VARIABLE)
+	  CHECK_INCLUDE_FILES("${REQUIRED_INCLUDES};${FILE}" ${VARIABLE})
+	  IF(${VARIABLE})
+		SET(REQUIRED_INCLUDES ${REQUIRED_INCLUDES} ${FILE})
+	  ENDIF(${VARIABLE})
+	ENDMACRO(CHECK_INCLUDE_FILES_CONCAT)
+
+	# Check for header files
+	CHECK_INCLUDE_FILES_CONCAT("arpa/inet.h"      HAVE_ARPA_INET_H)
+	CHECK_INCLUDE_FILES_CONCAT("arpa/nameser.h"  HAVE_ARPA_NAMESER_H)
+	CHECK_INCLUDE_FILES_CONCAT("stdio.h"          HAVE_STDIO_H)
+	CHECK_INCLUDE_FILES_CONCAT("stddef.h"         HAVE_STDDEF_H)
+	CHECK_INCLUDE_FILES_CONCAT("inttypes.h"       HAVE_INTTYPES_H)
+	CHECK_INCLUDE_FILES_CONCAT("alloca.h"         HAVE_ALLOCA_H)
+	CHECK_INCLUDE_FILES_CONCAT("dlfcn.h"          HAVE_DLFCN_H)
+	CHECK_INCLUDE_FILES_CONCAT("fcntl.h"          HAVE_FCNTL_H)
+	CHECK_INCLUDE_FILES_CONCAT("malloc.h"         HAVE_MALLOC_H)
+	CHECK_INCLUDE_FILES_CONCAT("memory.h"         HAVE_MEMORY_H)
+	CHECK_INCLUDE_FILES_CONCAT("netdb.h"          HAVE_NETDB_H)
+	CHECK_INCLUDE_FILES_CONCAT("assert.h"         HAVE_ASSERT_H)
+	CHECK_INCLUDE_FILES_CONCAT("limits.h"         HAVE_LIMITS_H)
+
+	IF(CMAKE_USE_OPENSSL)
+	  CHECK_INCLUDE_FILES_CONCAT("openssl/x509.h"   HAVE_OPENSSL_X509_H)
+	  CHECK_INCLUDE_FILES_CONCAT("openssl/engine.h" HAVE_OPENSSL_ENGINE_H)
+	  CHECK_INCLUDE_FILES_CONCAT("openssl/rsa.h"    HAVE_OPENSSL_RSA_H)
+	  CHECK_INCLUDE_FILES_CONCAT("openssl/crypto.h" HAVE_OPENSSL_CRYPTO_H)
+	  CHECK_INCLUDE_FILES_CONCAT("openssl/pem.h"    HAVE_OPENSSL_PEM_H)
+	  CHECK_INCLUDE_FILES_CONCAT("openssl/ssl.h"    HAVE_OPENSSL_SSL_H)
+	  CHECK_INCLUDE_FILES_CONCAT("openssl/err.h"    HAVE_OPENSSL_ERR_H)
+	  CHECK_INCLUDE_FILES_CONCAT("openssl/rand.h"   HAVE_OPENSSL_RAND_H)
+	ENDIF(CMAKE_USE_OPENSSL)
+
+	CHECK_INCLUDE_FILES_CONCAT("zlib.h"           HAVE_ZLIB_H)
+	CHECK_INCLUDE_FILES_CONCAT("netinet/in.h"     HAVE_NETINET_IN_H)
+	CHECK_INCLUDE_FILES_CONCAT("net/if.h"         HAVE_NET_IF_H)
+	CHECK_INCLUDE_FILES_CONCAT("netinet/if_ether.h" HAVE_NETINET_IF_ETHER_H)
+	CHECK_INCLUDE_FILES_CONCAT("netinet/tcp.h"	HAVE_NETINET_TCP_H)
+	CHECK_INCLUDE_FILES_CONCAT("utime.h"         HAVE_UTIME_H)
+	CHECK_INCLUDE_FILES_CONCAT("netinet/in.h"    HAVE_NETINET_IN_H)
+	CHECK_INCLUDE_FILES_CONCAT("pwd.h"           HAVE_PWD_H)
+	CHECK_INCLUDE_FILES_CONCAT("sgtty.h"         HAVE_SGTTY_H)
+	CHECK_INCLUDE_FILES_CONCAT("stdint.h"        HAVE_STDINT_H)
+	CHECK_INCLUDE_FILES_CONCAT("stdlib.h"        HAVE_STDLIB_H)
+	CHECK_INCLUDE_FILES_CONCAT("string.h"        HAVE_STRING_H)
+	CHECK_INCLUDE_FILES_CONCAT("strings.h"       HAVE_STRINGS_H)
+	CHECK_INCLUDE_FILES_CONCAT("termios.h"       HAVE_TERMIOS_H)
+	CHECK_INCLUDE_FILES_CONCAT("termio.h"        HAVE_TERMIO_H)
+	CHECK_INCLUDE_FILES_CONCAT("io.h"            HAVE_IO_H)
+	CHECK_INCLUDE_FILES_CONCAT("time.h"          HAVE_TIME_H)
+	CHECK_INCLUDE_FILES_CONCAT("unistd.h"        HAVE_UNISTD_H)
+	CHECK_INCLUDE_FILES_CONCAT("sockio.h"        HAVE_SOCKIO_H)
+	CHECK_INCLUDE_FILES_CONCAT("x509.h"          HAVE_X509_H)
+	CHECK_INCLUDE_FILES_CONCAT("setjmp.h"        HAVE_SETJMP_H)
+	CHECK_INCLUDE_FILES_CONCAT("signal.h"        HAVE_SIGNAL_H)
+	CHECK_INCLUDE_FILES_CONCAT("pthread.h"   	 HAVE_PTHREAD_H)
+	CHECK_INCLUDE_FILES_CONCAT("ansidecl.h"   	 HAVE_ANSIDECL_H)
+	CHECK_INCLUDE_FILES_CONCAT("ctype.h"  		 HAVE_CTYPE_H)
+	CHECK_INCLUDE_FILES_CONCAT("dirent.h"  		 HAVE_DIRENT_H)
+	CHECK_INCLUDE_FILES_CONCAT("dl.h"  		 	 HAVE_DL_H)
+	CHECK_INCLUDE_FILES_CONCAT("errno.h"  		 HAVE_ERRNO_H)
+	CHECK_INCLUDE_FILES_CONCAT("float.h"  		 HAVE_FLOAT_H)
+	CHECK_INCLUDE_FILES_CONCAT("fp_class.h"  	 HAVE_FP_CLASS_H)
+	CHECK_INCLUDE_FILES_CONCAT("resolv.h"  	 	 HAVE_RESOLV_H)
+	CHECK_INCLUDE_FILES_CONCAT("stdarg.h"  	 	 HAVE_STDARG_H)
+	#
+	# Win32
+	#
+	CHECK_INCLUDE_FILES_CONCAT("windows.h"		 HAVE_WINDOWS_H)
+	CHECK_INCLUDE_FILES_CONCAT("winsock.h"       HAVE_WINSOCK_H)
+	CHECK_INCLUDE_FILES_CONCAT("winsock2.h"      HAVE_WINSOCK2_H)
+	CHECK_INCLUDE_FILES_CONCAT("ws2tcpip.h"      HAVE_WS2TCPIP_H)
+	#
+	# POSIX
+	#
+	CHECK_INCLUDE_FILES_CONCAT("sys/dir.h"       HAVE_SYS_DIR_H)
+	CHECK_INCLUDE_FILES_CONCAT("sys/ioctl.h"     HAVE_SYS_IOCTL_H)
+	CHECK_INCLUDE_FILES_CONCAT("sys/mman.h"      HAVE_SYS_MMAN_H)
+	CHECK_INCLUDE_FILES_CONCAT("sys/ndir.h"      HAVE_SYS_NDIR_H)
+	CHECK_INCLUDE_FILES_CONCAT("sys/param.h"     HAVE_SYS_PARAM_H)
+	CHECK_INCLUDE_FILES_CONCAT("sys/poll.h"      HAVE_SYS_POLL_H)
+	CHECK_INCLUDE_FILES_CONCAT("sys/select.h"    HAVE_SYS_SELECT_H)
+	CHECK_INCLUDE_FILES_CONCAT("sys/socket.h"    HAVE_SYS_SOCKET_H)
+	CHECK_INCLUDE_FILES_CONCAT("sys/sockio.h"    HAVE_SYS_SOCKIO_H)
+	CHECK_INCLUDE_FILES_CONCAT("sys/stat.h"      HAVE_SYS_STAT_H)
+	CHECK_INCLUDE_FILES_CONCAT("sys/time.h"      HAVE_SYS_TIME_H)
+	CHECK_INCLUDE_FILES_CONCAT("sys/timeb.h"     HAVE_SYS_TIMEB_H)
+	CHECK_INCLUDE_FILES_CONCAT("sys/types.h"     HAVE_SYS_TYPES_H)
+	CHECK_INCLUDE_FILES_CONCAT("sys/utime.h"     HAVE_SYS_UTIME_H)
+	CHECK_INCLUDE_FILES_CONCAT("sys/utsname.h"   HAVE_SYS_UTSNAME_H)
+
+	CHECK_TYPE_SIZE(size_t  SIZEOF_SIZE_T)
+	CHECK_TYPE_SIZE(ssize_t  SIZEOF_SSIZE_T)
+	CHECK_TYPE_SIZE("long long"  SIZEOF_LONG_LONG)
+	CHECK_TYPE_SIZE("long double"  SIZEOF_LONG_DOUBLE)
+	CHECK_TYPE_SIZE(socklen_t  XML_SOCKLEN_T)
+
+	if( WIN32 )
+		set( in_addr_t "unsigned long" CACHE INTERNAL "in_addr_t" )
+	endif( WIN32 )
+	IF(NOT HAVE_SIZEOF_SSIZE_T)
+	  SET(ssize_t int)
+	ENDIF(NOT HAVE_SIZEOF_SSIZE_T)
+	IF(HAVE_SIZEOF_LONG_LONG)
+	  SET(HAVE_LONGLONG 1)
+	ENDIF(HAVE_SIZEOF_LONG_LONG)
+
+	FIND_FILE(RANDOM_FILE urandom /dev)
+	MARK_AS_ADVANCED(RANDOM_FILE)
+
+	# Check for some functions that are used
+	CHECK_SYMBOL_EXISTS(socket        "${REQUIRED_INCLUDES}" HAVE_SOCKET)
+	CHECK_SYMBOL_EXISTS(poll          "${REQUIRED_INCLUDES}" HAVE_POLL)
+	CHECK_SYMBOL_EXISTS(select        "${REQUIRED_INCLUDES}" HAVE_SELECT)
+	CHECK_SYMBOL_EXISTS(strdup        "${REQUIRED_INCLUDES}" HAVE_STRDUP)
+	CHECK_SYMBOL_EXISTS(strstr        "${REQUIRED_INCLUDES}" HAVE_STRSTR)
+	CHECK_SYMBOL_EXISTS(strtok_r      "${REQUIRED_INCLUDES}" HAVE_STRTOK_R)
+	CHECK_SYMBOL_EXISTS(strftime      "${REQUIRED_INCLUDES}" HAVE_STRFTIME)
+	CHECK_SYMBOL_EXISTS(uname         "${REQUIRED_INCLUDES}" HAVE_UNAME)
+	CHECK_SYMBOL_EXISTS(strcasecmp    "${REQUIRED_INCLUDES}" HAVE_STRCASECMP)
+	CHECK_SYMBOL_EXISTS(stricmp       "${REQUIRED_INCLUDES}" HAVE_STRICMP)
+	CHECK_SYMBOL_EXISTS(strcmpi       "${REQUIRED_INCLUDES}" HAVE_STRCMPI)
+	CHECK_SYMBOL_EXISTS(strncmpi      "${REQUIRED_INCLUDES}" HAVE_STRNCMPI)
+	#	IF(NOT HAVE_STRNCMPI)
+	#	  SET(HAVE_STRCMPI)
+	#	ENDIF(NOT HAVE_STRNCMPI)
+	CHECK_SYMBOL_EXISTS(gethostbyaddr "${REQUIRED_INCLUDES}" HAVE_GETHOSTBYADDR)
+	CHECK_SYMBOL_EXISTS(gettimeofday  "${REQUIRED_INCLUDES}" HAVE_GETTIMEOFDAY)
+	CHECK_SYMBOL_EXISTS(inet_addr     "${REQUIRED_INCLUDES}" HAVE_INET_ADDR)
+	CHECK_SYMBOL_EXISTS(inet_pton     "${REQUIRED_INCLUDES}" HAVE_INET_PTON)
+	CHECK_SYMBOL_EXISTS(inet_ntoa     "${REQUIRED_INCLUDES}" HAVE_INET_NTOA)
+	CHECK_SYMBOL_EXISTS(inet_ntoa_r   "${REQUIRED_INCLUDES}" HAVE_INET_NTOA_R)
+	CHECK_SYMBOL_EXISTS(tcsetattr     "${REQUIRED_INCLUDES}" HAVE_TCSETATTR)
+	CHECK_SYMBOL_EXISTS(tcgetattr     "${REQUIRED_INCLUDES}" HAVE_TCGETATTR)
+	CHECK_SYMBOL_EXISTS(perror        "${REQUIRED_INCLUDES}" HAVE_PERROR)
+	CHECK_SYMBOL_EXISTS(closesocket   "${REQUIRED_INCLUDES}" HAVE_CLOSESOCKET)
+	CHECK_SYMBOL_EXISTS(setvbuf       "${REQUIRED_INCLUDES}" HAVE_SETVBUF)
+	CHECK_SYMBOL_EXISTS(sigsetjmp     "${REQUIRED_INCLUDES}" HAVE_SIGSETJMP)
+	CHECK_SYMBOL_EXISTS(getpass_r     "${REQUIRED_INCLUDES}" HAVE_GETPASS_R)
+	CHECK_SYMBOL_EXISTS(strlcat       "${REQUIRED_INCLUDES}" HAVE_STRLCAT)
+	CHECK_SYMBOL_EXISTS(getpwuid      "${REQUIRED_INCLUDES}" HAVE_GETPWUID)
+	CHECK_SYMBOL_EXISTS(geteuid       "${REQUIRED_INCLUDES}" HAVE_GETEUID)
+	CHECK_SYMBOL_EXISTS(utime         "${REQUIRED_INCLUDES}" HAVE_UTIME)
+	IF(CMAKE_USE_OPENSSL)
+	  CHECK_SYMBOL_EXISTS(RAND_status   "${REQUIRED_INCLUDES}" HAVE_RAND_STATUS)
+	  CHECK_SYMBOL_EXISTS(RAND_screen   "${REQUIRED_INCLUDES}" HAVE_RAND_SCREEN)
+	  CHECK_SYMBOL_EXISTS(RAND_egd      "${REQUIRED_INCLUDES}" HAVE_RAND_EGD)
+	  CHECK_SYMBOL_EXISTS(CRYPTO_cleanup_all_ex_data "${REQUIRED_INCLUDES}"
+		HAVE_CRYPTO_CLEANUP_ALL_EX_DATA)
+	ENDIF(CMAKE_USE_OPENSSL)
+	CHECK_SYMBOL_EXISTS(gmtime_r      "${REQUIRED_INCLUDES}" HAVE_GMTIME_R)
+	CHECK_SYMBOL_EXISTS(localtime_r   "${REQUIRED_INCLUDES}" HAVE_LOCALTIME_R)
+
+	CHECK_SYMBOL_EXISTS(gethostbyname   "${REQUIRED_INCLUDES}" HAVE_GETHOSTBYNAME)
+	CHECK_SYMBOL_EXISTS(gethostbyname_r "${REQUIRED_INCLUDES}" HAVE_GETHOSTBYNAME_R)
+	CHECK_SYMBOL_EXISTS(gethostbyaddr_r "${REQUIRED_INCLUDES}" HAVE_GETHOSTBYADDR_R)
+
+	CHECK_SYMBOL_EXISTS(signal        "${REQUIRED_INCLUDES}" HAVE_SIGNAL_FUNC)
+	CHECK_SYMBOL_EXISTS(SIGALRM       "${REQUIRED_INCLUDES}" HAVE_SIGNAL_MACRO)
+	IF(HAVE_SIGNAL_FUNC AND HAVE_SIGNAL_MACRO)
+	  SET(HAVE_SIGNAL 1)
+	ENDIF(HAVE_SIGNAL_FUNC AND HAVE_SIGNAL_MACRO)
+	CHECK_SYMBOL_EXISTS(uname         "${REQUIRED_INCLUDES}" HAVE_UNAME)
+	CHECK_SYMBOL_EXISTS(strtoll       "${REQUIRED_INCLUDES}" HAVE_STRTOLL)
+	CHECK_SYMBOL_EXISTS(_strtoi64     "${REQUIRED_INCLUDES}" HAVE__STRTOI64)
+	CHECK_SYMBOL_EXISTS(strerror_r    "${REQUIRED_INCLUDES}" HAVE_STRERROR_R)
+	CHECK_SYMBOL_EXISTS(strerror      "${REQUIRED_INCLUDES}" HAVE_STRERROR)
+	CHECK_SYMBOL_EXISTS(siginterrupt  "${REQUIRED_INCLUDES}" HAVE_SIGINTERRUPT)
+	CHECK_SYMBOL_EXISTS(perror        "${REQUIRED_INCLUDES}" HAVE_PERROR)
+	CHECK_SYMBOL_EXISTS(getaddinfo    "${REQUIRED_INCLUDES}" HAVE_GETADDRINFO)
+	CHECK_SYMBOL_EXISTS(gettimeofday  "${REQUIRED_INCLUDES}" HAVE_GETTIMEOFDAY)
+	CHECK_SYMBOL_EXISTS(snprintf      "${REQUIRED_INCLUDES}" HAVE_SNPRINTF)
+	CHECK_SYMBOL_EXISTS(sprintf       "${REQUIRED_INCLUDES}" HAVE_SPRINTF)
+	CHECK_SYMBOL_EXISTS(asprintf      "${REQUIRED_INCLUDES}" HAVE_ASPRINTF)
+	CHECK_SYMBOL_EXISTS(wprintf       "${REQUIRED_INCLUDES}" HAVE_WPRINTF)
+	CHECK_SYMBOL_EXISTS(stat 	      "${REQUIRED_INCLUDES}" HAVE_STAT)
+	CHECK_SYMBOL_EXISTS(_stat 	      "${REQUIRED_INCLUDES}" HAVE__STAT)
+	CHECK_SYMBOL_EXISTS(strndup 	  string.h HAVE_STRNDUP)
+	CHECK_SYMBOL_EXISTS(stpcpy 	  	  string.h HAVE_STPCPY)
+	CHECK_SYMBOL_EXISTS(mempcpy 	  string.h HAVE_MEMPCPY)
+	#
+	set( HAVE_POSIX_PRINTF 0 CACHE INTERNAL "Posix printf (whatever that is" )
+	#
+	if( NOT HAVE_ASPRINTF )
+		set( HAVE_ASPRINTF 0 CACHE INTERNAL "Lame!" )
+	endif( NOT HAVE_ASPRINTF )
+	#
+	if( NOT HAVE_WPRINTF )
+		set( HAVE_WPRINTF 0 CACHE INTERNAL "Lame!!!!!" )
+	endif( NOT HAVE_WPRINTF )
+	#
+	CHECK_SYMBOL_EXISTS(va_copy 	  "${REQUIRED_INCLUDES}" HAVE_VA_COPY)
+	CHECK_SYMBOL_EXISTS(__va_copy 	  "${REQUIRED_INCLUDES}" HAVE___VA_COPY)
+	CHECK_SYMBOL_EXISTS(vfprintf 	  "${REQUIRED_INCLUDES}" HAVE_VFPRINTF)
+	CHECK_SYMBOL_EXISTS(vsnprintf 	  "${REQUIRED_INCLUDES}" HAVE_VSNPRINTF)
+	CHECK_SYMBOL_EXISTS(vsprintf 	  "${REQUIRED_INCLUDES}" HAVE_VSPRINTF)
+	CHECK_SYMBOL_EXISTS(readlink 	  "${REQUIRED_INCLUDES}" HAVE_READLINK)
+	CHECK_SYMBOL_EXISTS(basename 	  "${REQUIRED_INCLUDES}" HAVE_BASENAME)
+
+	if( HAVE_SYS_SOCKET_H OR HAVE_WINSOCK_H )
+		set( HAVE_RECV 1 CACHE INTERNAL "recv() exists on system" )
+		set( HAVE_SEND 1 CACHE INTERNAL "send() exists on system" )
+		if( WIN32 )
+			set( RECV_TYPE_ARG1 SOCKET		CACHE INTERNAL "argument for recv/send functions" )
+			set( RECV_TYPE_ARG2 "char *"	CACHE INTERNAL "argument for recv/send functions" )
+			set( RECV_TYPE_ARG3 int			CACHE INTERNAL "argument for recv/send functions" )
+			set( RECV_TYPE_ARG4 int			CACHE INTERNAL "argument for recv/send functions" )
+			set( RECV_TYPE_RETV int			CACHE INTERNAL "argument for recv/send functions" )
+			#                            
+			set( SEND_TYPE_ARG1 SOCKET		CACHE INTERNAL "argument for recv/send functions" )
+			set( SEND_QUAL_ARG2 const		CACHE INTERNAL "argument for recv/send functions" )
+			set( SEND_TYPE_ARG2 "char *"	CACHE INTERNAL "argument for recv/send functions" )
+			set( SEND_TYPE_ARG3 int			CACHE INTERNAL "argument for recv/send functions" )
+			set( SEND_TYPE_ARG4 int			CACHE INTERNAL "argument for recv/send functions" )
+			set( SEND_TYPE_RETV int			CACHE INTERNAL "argument for recv/send functions" )
+		else( WIN32 )                    
+			set( RECV_TYPE_ARG1 int			CACHE INTERNAL "argument for recv/send functions" )
+			set( RECV_TYPE_ARG2 "char *"	CACHE INTERNAL "argument for recv/send functions" )
+			set( RECV_TYPE_ARG3 size_t		CACHE INTERNAL "argument for recv/send functions" )
+			set( RECV_TYPE_ARG4 int			CACHE INTERNAL "argument for recv/send functions" )
+			set( RECV_TYPE_RETV ssize_t		CACHE INTERNAL "argument for recv/send functions" )
+			#                            
+			set( SEND_TYPE_ARG1 int			CACHE INTERNAL "argument for recv/send functions" )
+			set( SEND_QUAL_ARG2 const		CACHE INTERNAL "argument for recv/send functions" )
+			set( SEND_TYPE_ARG2 "char *"	CACHE INTERNAL "argument for recv/send functions" )
+			set( SEND_TYPE_ARG3 size_t		CACHE INTERNAL "argument for recv/send functions" )
+			set( SEND_TYPE_ARG4 int			CACHE INTERNAL "argument for recv/send functions" )
+			set( SEND_TYPE_RETV ssize_t		CACHE INTERNAL "argument for recv/send functions" )
+		endif( WIN32 )
+	endif( HAVE_SYS_SOCKET_H OR HAVE_WINSOCK_H )
+
+	IF(WINDOWS)
+		SET(EXTRA_DEFINES ${EXTRA_DEFINES}
+				"__unused7\n#ifndef WIN32_LEAN_AND_MEAN\n#define WIN32_LEAN_AND_MEAN\n#endif\n#define __unused3")
+		add_header_include(HAVE_WINDOWS_H "windows.h")
+		add_header_include(HAVE_WINSOCK_H "winsock.h")
+		add_header_include(HAVE_WINSOCK2_H "winsock2.h")
+		add_header_include(HAVE_WS2TCPIP_H "ws2tcpip.h")
+	ELSE(WINDOWS)
+		add_header_include(HAVE_SYS_TYPES_H "sys/types.h")
+		add_header_include(HAVE_SYS_TIME_H "sys/time.h")
+		add_header_include(TIME_WITH_SYS_TIME "time.h")
+		add_header_include(HAVE_TIME_H "time.h")
+	ENDIF(WINDOWS)
+	MO_CHECK_C_SOURCE_COMPILES("struct timeval ts;\nts.tv_sec  = 0;\nts.tv_usec = 0" HAVE_STRUCT_TIMEVAL)
+
+	CHECK_FUNCTION_EXISTS( ioctlsocket HAVE_IOCTLSOCKET )
+	CHECK_FUNCTION_EXISTS( Ioctlsocket HAVE_IOCTLSOCKET_CASE )
+	if( HAVE_WINSOCK_H )
+		set( HAVE_IOCTLSOCKET 1 CACHE INTERNAL "Winsock version of ioctlsocket" )
+	endif( HAVE_WINSOCK_H )
+
+	CHECK_FUNCTION_EXISTS( fcntl HAVE_FCNTL )
+	if( HAVE_FCNTL )
+		set( HAVE_O_NONBLOCK 1 CACHE INTERNAL "We found fcntl so we can block, and we're no doubt on Linux" )
+	endif( HAVE_FCNTL )
+
+	set( HEADER_INCLUDES "errno.h" )
+	#
+	MO_CHECK_C_SOURCE_COMPILES( "char buffer[1024];
+			char *string = strerror_r(EACCES, buffer, sizeof(buffer));
+			if(!string || !string[0])
+				return 99;
+				return 0;"
+		HAVE_GLIBC_STRERROR_R )
+
+	MO_CHECK_C_SOURCE_COMPILES( "char buffer[1024];
+			int error = strerror_r(EACCES, buffer, sizeof(buffer));
+			if(!buffer[0] || error)
+				return 99;
+				return 0;"
+		HAVE_POSIX_STRERROR_R )
+
+	MO_CHECK_C_SOURCE_COMPILES( "extern __attribute__((__visibility__("hidden"))) int hiddenvar;
+			extern __attribute__((__visibility__("default"))) int exportedvar;
+			extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void);
+			extern __attribute__((__visibility__("default"))) int exportedfunc (void);"
+		HAVE_VISIBILITY )
+
+    set( HEADER_INCLUDES "#include <stdlib.h>
+		#include <iconv.h>" )
+	MO_CHECK_C_SOURCE_COMPILES( "extern
+			#ifdef __cplusplus
+			\"C\"
+			#endif
+			#if defined(__STDC__) || defined(__cplusplus)
+			size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+			#else
+			size_t iconv();
+			#endif"
+		ICONV_NEEDS_CONST )
+	#
+	if( ICONV_NEEDS_CONST )
+		set( ICONV_CONST_VALUE "const" )
+	else( ICONV_NEEDS_CONST )
+		set( ICONV_CONST_VALUE " " )
+	endif( ICONV_NEEDS_CONST )
+	#
+	set( ICONV_CONST "${ICONV_CONST_VALUE}" CACHE INTERNAL "Set to const if ICONV needs this in the decl" )
+
+	MO_CHECK_C_SOURCE_COMPILES( "wchar_t foo = (wchar_t)'\0';"
+		NEEDS_WCHAR_T )
+	#
+	if( NEEDS_WCHAR_T )
+		set( HAVE_WCHAR_T 1 CACHE INTERNAL "Set if compiler supports wchar_t" )
+	else( NEEDS_WCHAR_T )
+		set( HAVE_WCHAR_T 0 CACHE INTERNAL "Set if compiler supports wchar_t" )
+	endif( NEEDS_WCHAR_T )
+
+	# Check for ipv6 and other socket-related stuff
+	#
+    set( HEADER_INCLUDES "
+		#include <sys/types.h>
+		#include <sys/socket.h>"
+		)
+	#
+	MO_CHECK_C_SOURCE_COMPILES("
+		struct sockaddr_storage ss;
+		socket(AF_INET6, SOCK_STREAM, 0);"
+		HAS_IPV6
+		)
+	#
+	if( HAS_IPV6 )
+		set( SUPPORT_IP6 1 CACHE INTERNAL "We have IPV6 support" )
+	endif( HAS_IPV6 )
+	#
+	# On some platforms (like AIX 5L), the structure sockaddr doesn't have
+	# a ss_family member, but rather __ss_family. Let's detect that
+	# and define the HAVE_BROKEN_SS_FAMILY when we are on one of these
+	# platforms.  However, we should only do this if ss_family is not
+	# present.
+	#
+	MO_CHECK_C_SOURCE_COMPILES("
+	  struct sockaddr_storage ss;
+      ss.ss_family = 0;"
+	  HAS_SS_FAMILY
+	  )
+	#
+	if( HAS_SS_FAMILY )
+		set( HAVE_SS_FAMILY 1 CACHE INTERNAL "We have ss_family support" )
+		set( ss_family ss_family CACHE INTERNAL "Using broken ss_family" )
+	endif( HAS_SS_FAMILY )
+	#
+	MO_CHECK_C_SOURCE_COMPILES("
+	  struct sockaddr_storage ss;
+	  ss.__ss_family = 0;"
+	  HAS_BROKEN_SS_FAMILY
+	  )
+	#
+	if( HAS_BROKEN_SS_FAMILY )
+		set( HAVE_BROKEN_SS_FAMILY 1 CACHE INTERNAL "ss_family is supported, but it's the broken one." )
+		set( ss_family __ss_family CACHE INTERNAL "Using broken ss_family" )
+	endif( HAS_BROKEN_SS_FAMILY )
+
+	if( HAVE_VISIBILITY )
+		set( CFLAG_VISIBILITY "-fvisibility=hidden" )
+	endif( HAVE_VISIBILITY )
+
+	# TODO: make this crossplatform!
+	#
+	set( LOCALEDIR "\"/usr/share/locale\"" CACHE INTERNAL "Locale directory--this is system dependent!" )
+
+	# The following libraries are provided this in the sandbox, so we can force all these on
+	#
+	set( HAVE_IDN_FREE_H	1 CACHE INTERNAL "idn-free header"     )
+	set( HAVE_IDN_FREE		1 CACHE INTERNAL "idn-free function"   )
+	set( HAVE_LIBIDN		1 CACHE INTERNAL "libidn library"      )
+	set( HAVE_LIBZ			1 CACHE INTERNAL "libz library"        )
+	set( STDC_HEADERS		1 CACHE INTERNAL "using std-c headers" )
+
+
+	# System dependent definitions
+	#
+	if( LINUX AND DARWIN )
+	    set(HAVE_ISINF	1 CACHE INTERNAL "ISINF Defined" )
+        set(HAVE_ISINFF	1 CACHE INTERNAL "ISINFF Defined" )
+        set(HAVE_ISNAN	1 CACHE INTERNAL "ISNAN Defined" )
+        set(HAVE_ISNANF	1 CACHE INTERNAL "ISNANF Defined" )
+	else ( LINUX AND DARWIN )
+		if( WINDOWS )
+			set( _WINSOCKAPI_	1			CACHE INTERNAL	"Using winsock" )
+			set( snprintf		_snprintf	CACHE INTERNAL	"Win32 has its own version" )
+			set( vsnprintf		_vsnprintf	CACHE INTERNAL	"Win32 has its own version" )
+		endif( WINDOWS )
+	    set(HAVE_ISINF	0 CACHE INTERNAL "ISINF Defined" )
+        set(HAVE_ISINFF	0 CACHE INTERNAL "ISINFF Defined" )
+        set(HAVE_ISNAN	0 CACHE INTERNAL "ISNAN Defined" )
+        set(HAVE_ISNANF	0 CACHE INTERNAL "ISNANF Defined" )
+	endif( LINUX AND DARWIN )
+
+endfunction( ConfigureSystemIncludes )
+
+# vim: ts=4 sw=4 noexpandtab
diff -Naur -x .svn libsigc++-2.2.4/cmake/CMakeConfigurableFile.in libsigc++-2.2.4.cmake/cmake/CMakeConfigurableFile.in
--- libsigc++-2.2.4/cmake/CMakeConfigurableFile.in	1969-12-31 16:00:00.000000000 -0800
+++ libsigc++-2.2.4.cmake/cmake/CMakeConfigurableFile.in	2009-10-26 16:28:07.000000000 -0700
@@ -0,0 +1,2 @@
+@CMAKE_CONFIGURABLE_FILE_CONTENT@
+
diff -Naur -x .svn libsigc++-2.2.4/cmake/MoCheckCSourceCompiles.cmake libsigc++-2.2.4.cmake/cmake/MoCheckCSourceCompiles.cmake
--- libsigc++-2.2.4/cmake/MoCheckCSourceCompiles.cmake	1969-12-31 16:00:00.000000000 -0800
+++ libsigc++-2.2.4.cmake/cmake/MoCheckCSourceCompiles.cmake	2009-10-26 16:41:29.000000000 -0700
@@ -0,0 +1,100 @@
+################################################################################
+#  
+# Copyright (c) 2009 by Made to Order Software Corporation
+#
+# The source code in this file ("Source Code") is provided by Made to Order Software Corporation
+# to you under the terms of the GNU General Public License, version 2.0
+# ("GPL").  Terms of the GPL can be found in doc/GPL-license.txt in this distribution.
+# 
+# By copying, modifying or distributing this software, you acknowledge
+# that you have read and understood your obligations described above,
+# and agree to abide by those obligations.
+# 
+# - Check if the source code provided in the SOURCE argument compiles.
+# MO_CHECK_C_SOURCE_COMPILES(SOURCE VAR)
+# - macro which checks if the source code compiles
+#  SOURCE   - source code to try to compile
+#  VAR      - variable to store whether the source code compiled
+#
+# The following variables may be set before calling this macro to
+# modify the way the check is run:
+#
+#  CMAKE_REQUIRED_FLAGS = string of compile command line flags
+#  CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
+#  CMAKE_REQUIRED_INCLUDES = list of include directories
+#  CMAKE_REQUIRED_LIBRARIES = list of libraries to link
+#
+################################################################################
+
+MACRO(MO_CHECK_C_SOURCE_COMPILES SOURCE VAR)
+  IF("${VAR}" MATCHES "^${VAR}$" OR "${VAR}" MATCHES "UNKNOWN")
+    SET(message "${VAR}")
+    # If the number of arguments is greater than 2 (SOURCE VAR)
+    IF(${ARGC} GREATER 2)
+      # then add the third argument as a message
+      SET(message "${ARGV2} (${VAR})")
+    ENDIF(${ARGC} GREATER 2)
+    SET(MACRO_CHECK_FUNCTION_DEFINITIONS
+      "-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
+    IF(CMAKE_REQUIRED_LIBRARIES)
+      SET(MO_CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
+        "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
+    ELSE(CMAKE_REQUIRED_LIBRARIES)
+      SET(MO_CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES)
+    ENDIF(CMAKE_REQUIRED_LIBRARIES)
+    IF(CMAKE_REQUIRED_INCLUDES)
+      SET(MO_CHECK_C_SOURCE_COMPILES_ADD_INCLUDES
+        "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
+    ELSE(CMAKE_REQUIRED_INCLUDES)
+      SET(MO_CHECK_C_SOURCE_COMPILES_ADD_INCLUDES)
+    ENDIF(CMAKE_REQUIRED_INCLUDES)
+    SET(src "")
+    FOREACH(def ${EXTRA_DEFINES})
+      SET(src "${src}#define ${def} 1\n")
+    ENDFOREACH(def)
+    FOREACH(inc ${HEADER_INCLUDES})
+      SET(src "${src}#include <${inc}>\n")
+    ENDFOREACH(inc)
+
+    SET(src "${src}\nint main() { ${SOURCE} ; return 0; }")
+    SET(CMAKE_CONFIGURABLE_FILE_CONTENT "${src}")
+    CONFIGURE_FILE(${CMAKE_MODULE_PATH}/CMakeConfigurableFile.in
+      "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c"
+      IMMEDIATE)
+    MESSAGE(STATUS "Performing Test ${message}")
+    TRY_COMPILE(${VAR}
+      ${CMAKE_BINARY_DIR}
+      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c
+      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
+      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
+      "${MO_CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}"
+      "${MO_CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
+      OUTPUT_VARIABLE OUTPUT)
+    IF(${VAR})
+      SET(${VAR} 1 CACHE INTERNAL "Test ${message}")
+      MESSAGE(STATUS "Performing Test ${message} - Success")
+      FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+        "Performing C SOURCE FILE Test ${message} succeded with the following output:\n"
+        "${OUTPUT}\n"
+        "Source file was:\n${src}\n")
+    ELSE(${VAR})
+      MESSAGE(STATUS "Performing Test ${message} - Failed")
+      SET(${VAR} "" CACHE INTERNAL "Test ${message}")
+      FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+        "Performing C SOURCE FILE Test ${message} failed with the following output:\n"
+        "${OUTPUT}\n"
+        "Source file was:\n${src}\n")
+    ENDIF(${VAR})
+  ENDIF("${VAR}" MATCHES "^${VAR}$" OR "${VAR}" MATCHES "UNKNOWN")
+ENDMACRO(MO_CHECK_C_SOURCE_COMPILES)
+
+MACRO(add_header_include check header)
+  IF(${check})
+    SET(headers_hack
+      "${headers_hack}\n#include <${header}>")
+    SET(HEADER_INCLUDES
+      ${HEADER_INCLUDES}
+      "${header}")
+  ENDIF(${check})
+ENDMACRO(add_header_include header)
+
diff -Naur -x .svn libsigc++-2.2.4/cmake/Toolchain_mingw32.cmake libsigc++-2.2.4.cmake/cmake/Toolchain_mingw32.cmake
--- libsigc++-2.2.4/cmake/Toolchain_mingw32.cmake	1969-12-31 16:00:00.000000000 -0800
+++ libsigc++-2.2.4.cmake/cmake/Toolchain_mingw32.cmake	2009-10-26 16:41:46.000000000 -0700
@@ -0,0 +1,34 @@
+################################################################################
+#  
+# Copyright (c) 2009 by Made to Order Software Corporation
+#
+# The source code in this file ("Source Code") is provided by Made to Order Software Corporation
+# to you under the terms of the GNU General Public License, version 2.0
+# ("GPL").  Terms of the GPL can be found in doc/GPL-license.txt in this distribution.
+# 
+# By copying, modifying or distributing this software, you acknowledge
+# that you have read and understood your obligations described above,
+# and agree to abide by those obligations.
+# 
+# ALL SOURCE CODE IN THIS DISTRIBUTION IS PROVIDED "AS IS." THE AUTHOR MAKES NO
+# WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+# COMPLETENESS OR PERFORMANCE.
+# 
+################################################################################
+
+# the name of the target operating system
+SET(CMAKE_SYSTEM_NAME Windows)
+ 
+# which compilers to use for C and C++
+SET(CMAKE_C_COMPILER i586-mingw32msvc-gcc)
+SET(CMAKE_CXX_COMPILER i586-mingw32msvc-g++)
+ 
+# here is the target environment located
+SET(CMAKE_FIND_ROOT_PATH  /usr/i586-mingw32msvc )
+
+# search for programs in the build host directories
+SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+# for libraries and headers in the target directories
+SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+
diff -Naur -x .svn libsigc++-2.2.4/CMakeLists.txt libsigc++-2.2.4.cmake/CMakeLists.txt
--- libsigc++-2.2.4/CMakeLists.txt	1969-12-31 16:00:00.000000000 -0800
+++ libsigc++-2.2.4.cmake/CMakeLists.txt	2009-10-26 17:01:20.000000000 -0700
@@ -0,0 +1,50 @@
+################################################################################
+#  
+# Copyright (c) 2009 by Made to Order Software Corporation
+#
+# Author: R. Douglas Barbieri
+# 
+# The source code in this file ("Source Code") is provided by Made to Order Software Corporation
+# to you under the terms of the GNU General Public License, version 2.0
+# ("GPL").  Terms of the GPL can be found in doc/GPL-license.txt in this distribution.
+# 
+# By copying, modifying or distributing this software, you acknowledge
+# that you have read and understood your obligations described above,
+# and agree to abide by those obligations.
+# 
+# ALL SOURCE CODE IN THIS DISTRIBUTION IS PROVIDED "AS IS." THE AUTHOR MAKES NO
+# WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+# COMPLETENESS OR PERFORMANCE.
+#
+#
+# To use:
+#
+# $ cd ligsigc++2.0.18
+# $ mkdir BUILD
+# $ cd BUILD
+# $ cmake -G "Unix Makefiles" ..
+# $ make
+# $ make install
+# 
+################################################################################
+cmake_minimum_required (VERSION 2.6)
+
+set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" )
+
+include( 00-Common )
+include( 01-Configure )
+
+ConfigureSystemIncludes()
+
+configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/sigc++config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/sigc++config.h)
+
+include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} )
+
+install( FILES "${CMAKE_CURRENT_BINARY_DIR}/sigc++config.h" DESTINATION include/sigc++-2.0 )
+
+add_subdirectory( sigc++ )
+add_subdirectory( tests )
+#add_subdirectory( docs )
+add_subdirectory( examples )
+
+# vim: ts=4 sw=4 noexpandtab
diff -Naur -x .svn libsigc++-2.2.4/examples/CMakeLists.txt libsigc++-2.2.4.cmake/examples/CMakeLists.txt
--- libsigc++-2.2.4/examples/CMakeLists.txt	1969-12-31 16:00:00.000000000 -0800
+++ libsigc++-2.2.4.cmake/examples/CMakeLists.txt	2009-10-26 16:42:32.000000000 -0700
@@ -0,0 +1,38 @@
+################################################################################
+#  
+# Copyright (c) 2009 by Made to Order Software Corporation
+#
+# Author: R. Douglas Barbieri
+# 
+# The source code in this file ("Source Code") is provided by Made to Order Software Corporation
+# to you under the terms of the GNU General Public License, version 2.0
+# ("GPL").  Terms of the GPL can be found in doc/GPL-license.txt in this distribution.
+# 
+# By copying, modifying or distributing this software, you acknowledge
+# that you have read and understood your obligations described above,
+# and agree to abide by those obligations.
+# 
+# ALL SOURCE CODE IN THIS DISTRIBUTION IS PROVIDED "AS IS." THE AUTHOR MAKES NO
+# WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+# COMPLETENESS OR PERFORMANCE.
+# 
+################################################################################
+cmake_minimum_required (VERSION 2.6)
+
+if( MINGW32 )
+	set( CMAKE_CXX_LINK_FLAGS -no-undefined -Wl,--export-all-symbols )
+endif( MINGW32 )
+
+include_directories( ${sigc++_SOURCE_DIR} )
+
+link_directories( hello_world ${sigc++_SOURCE_DIR} )
+add_executable( hello_world hello_world.cc )
+target_link_libraries( hello_world sigc++ )
+install( TARGETS hello_world DESTINATION bin )
+
+link_directories( member_method  ${sigc++_SOURCE_DIR} )
+add_executable( member_method member_method.cc )
+target_link_libraries( member_method sigc++ )
+install( TARGETS member_method DESTINATION bin )
+
+# vim: ts=4 sw=4 noexpandtab
diff -Naur -x .svn libsigc++-2.2.4/sigc++/CMakeLists.txt libsigc++-2.2.4.cmake/sigc++/CMakeLists.txt
--- libsigc++-2.2.4/sigc++/CMakeLists.txt	1969-12-31 16:00:00.000000000 -0800
+++ libsigc++-2.2.4.cmake/sigc++/CMakeLists.txt	2009-10-26 17:01:26.000000000 -0700
@@ -0,0 +1,66 @@
+################################################################################
+#  
+# Copyright (c) 2009 by Made to Order Software Corporation
+#
+# Author: R. Douglas Barbieri
+# 
+# The source code in this file ("Source Code") is provided by Made to Order Software Corporation
+# to you under the terms of the GNU General Public License, version 2.0
+# ("GPL").  Terms of the GPL can be found in doc/GPL-license.txt in this distribution.
+# 
+# By copying, modifying or distributing this software, you acknowledge
+# that you have read and understood your obligations described above,
+# and agree to abide by those obligations.
+# 
+# ALL SOURCE CODE IN THIS DISTRIBUTION IS PROVIDED "AS IS." THE AUTHOR MAKES NO
+# WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+# COMPLETENESS OR PERFORMANCE.
+# 
+################################################################################
+cmake_minimum_required (VERSION 2.6)
+
+set( PROJECT_NAME sigc++ )
+project( ${PROJECT_NAME} )
+
+set( VERSION 2 )
+set( FULL_VERSION ${VERSION}.0.18 )
+
+if( WINDOWS )
+	add_definitions( -DSIGC_BUILD )
+endif( WINDOWS )
+
+set( SOURCE_FILES
+	trackable.cc
+	connection.cc
+	signal_base.cc
+	signal.cc
+	adaptors/lambda/lambda.cc
+	functors/slot.cc
+	functors/slot_base.cc
+   )
+
+
+if( MINGW32 )
+	set( CMAKE_CXX_LINK_FLAGS -no-undefined -Wl,--export-all-symbols )
+endif( MINGW32 )
+
+
+add_library( ${PROJECT_NAME} SHARED ${SOURCE_FILES} )
+
+set_target_properties( ${PROJECT_NAME} PROPERTIES VERSION ${FULL_VERSION} SOVERSION ${VERSION} )
+
+file( GLOB SIGC_HEADER_FILES ${PROJECT_SOURCE_DIR}/*.h )
+file( GLOB SIGC_ADAPTORS_HEADER_FILES ${PROJECT_SOURCE_DIR}/adaptors/*.h )
+file( GLOB SIGC_ADAPTORS_LAMBDA_HEADER_FILES ${PROJECT_SOURCE_DIR}/adaptors/lambda/*.h )
+file( GLOB SIGC_FUNCTORS_HEADER_FILES ${PROJECT_SOURCE_DIR}/functors/*.h )
+
+set( SIGC_INCLUDE_DIR include/sigc++-2.0/sigc++ )
+
+install( TARGETS ${PROJECT_NAME}					DESTINATION lib )
+install( FILES ${SIGC_HEADER_FILES}					DESTINATION ${SIGC_INCLUDE_DIR} )
+install( FILES ${SIGC_ADAPTORS_HEADER_FILES}		DESTINATION ${SIGC_INCLUDE_DIR}/adaptors )
+install( FILES ${SIGC_ADAPTORS_LAMBDA_HEADER_FILES} DESTINATION ${SIGC_INCLUDE_DIR}/adaptors/lambda )
+install( FILES ${SIGC_FUNCTORS_HEADER_FILES}		DESTINATION ${SIGC_INCLUDE_DIR}/functors )
+
+
+# vim: ts=4 sw=4 noexpandtab
diff -Naur -x .svn libsigc++-2.2.4/sigc++/CMakeLists.txt.orig libsigc++-2.2.4.cmake/sigc++/CMakeLists.txt.orig
--- libsigc++-2.2.4/sigc++/CMakeLists.txt.orig	1969-12-31 16:00:00.000000000 -0800
+++ libsigc++-2.2.4.cmake/sigc++/CMakeLists.txt.orig	2009-10-26 16:56:36.000000000 -0700
@@ -0,0 +1,66 @@
+################################################################################
+#  
+# Copyright (c) 2009 by Made to Order Software Corporation
+#
+# Author: R. Douglas Barbieri
+# 
+# The source code in this file ("Source Code") is provided by Made to Order Software Corporation
+# to you under the terms of the GNU General Public License, version 2.0
+# ("GPL").  Terms of the GPL can be found in doc/GPL-license.txt in this distribution.
+# 
+# By copying, modifying or distributing this software, you acknowledge
+# that you have read and understood your obligations described above,
+# and agree to abide by those obligations.
+# 
+# ALL SOURCE CODE IN THIS DISTRIBUTION IS PROVIDED "AS IS." THE AUTHOR MAKES NO
+# WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+# COMPLETENESS OR PERFORMANCE.
+# 
+################################################################################
+cmake_minimum_required (VERSION 2.6)
+
+set( PROJECT_NAME sigc++ )
+project( ${PROJECT_NAME} )
+
+set( VERSION 2 )
+set( FULL_VERSION ${VERSION}.0.18 )
+
+if( WINDOWS )
+	add_definitions( -DSIGC_BUILD )
+endif( WINDOWS )
+
+set( SOURCE_FILES
+	trackable.cc
+	connection.cc
+	signal_base.cc
+	signal.cc
+	adaptors/lambda/lambda.cc
+	functors/slot.cc
+	functors/slot_base.cc
+   )
+
+
+if( MINGW32 )
+	set( CMAKE_CXX_LINK_FLAGS -no-undefined -Wl,--export-all-symbols )
+endif( MINGW32 )
+
+
+add_library( ${PROJECT_NAME} SHARED ${SOURCE_FILES} )
+
+set_target_properties( ${PROJECT_NAME} PROPERTIES VERSION ${FULL_VERSION} SOVERSION ${VERSION} )
+
+file( GLOB SIGC_HEADER_FILES ${PROJECT_SOURCE_DIR}/*.h )
+file( GLOB SIGC_ADAPTORS_HEADER_FILES ${PROJECT_SOURCE_DIR}/adaptors/*.h )
+file( GLOB SIGC_ADAPTORS_LAMBDA_HEADER_FILES ${PROJECT_SOURCE_DIR}/adaptors/lambda/*.h )
+file( GLOB SIGC_FUNCTORS_HEADER_FILES ${PROJECT_SOURCE_DIR}/functors/*.h )
+
+set( SIGC_INCLUDE_DIR include/sigc++-2.0/sigc++ )
+
+install( TARGETS ${PROJECT_NAME}					DESTINATION lib )
+install( FILES ${SIGC_HEADER_FILES}					DESTINATION ${SIGC_INCLUDE_DIR} )
+install( FILES ${SIGC_ADAPTORS_HEADER_FILES}		DESTINATION ${SIGC_INCLUDE_DIR}/adaptors )
+install( FILES ${SIGC_ADAPTORS_LAMBDA_HEADER_FILES} DESTINATION ${SIGC_INCLUDE_DIR}/adaptors/lambda )
+install( FILES ${SIGC_FUNCTORS_HEADER_FILES}		DESTINATION ${SIGC_INCLUDE_DIR}/functors )
+
+
+# vim: ts=4 sw=4 noexpandtab
diff -Naur -x .svn libsigc++-2.2.4/sigc++config.h.cmake libsigc++-2.2.4.cmake/sigc++config.h.cmake
--- libsigc++-2.2.4/sigc++config.h.cmake	1969-12-31 16:00:00.000000000 -0800
+++ libsigc++-2.2.4.cmake/sigc++config.h.cmake	2009-10-26 16:44:33.000000000 -0700
@@ -0,0 +1,80 @@
+
+#ifndef _SIGCXX_CONFIG_H
+#define _SIGCXX_CONFIG_H
+
+// Detect common platforms
+#if defined(_WIN32)
+  // Win32 compilers have a lot of variation
+  #if defined(_MSC_VER)
+    #define SIGC_MSC
+    #define SIGC_WIN32
+    #define SIGC_DLL
+  #elif defined(__CYGWIN__)
+    #define SIGC_CONFIGURE
+  #elif defined(__MINGW32__)
+    #define SIGC_WIN32
+    #define SIGC_CONFIGURE
+  #else
+    //The Tru64 compiler complains about this "unrecognized preprocessing directive", but it should never get this far anyway.
+    //#warning "libsigc++ config: Unknown win32 architecture (send me gcc --dumpspecs or equiv)"
+  #endif
+#else
+  #define SIGC_CONFIGURE
+#endif /* _WIN32 */
+
+#ifdef SIGC_CONFIGURE
+  // configure checks
+  #define SIGC_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD 1
+  #define SIGC_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD 1
+  #define SIGC_SELF_REFERENCE_IN_MEMBER_INITIALIZATION 1
+
+  #define SIGC_HAVE_NAMESPACE_STD 1
+  #undef SIGC_HAVE_SUN_REVERSE_ITERATOR
+  #undef SIGC_TYPEDEF_REDEFINE_ALLOWED
+
+  // platform specific macros
+  // #define LIBSIGC_DISABLE_DEPRECATED
+  // #define SIGC_NEW_DELETE_IN_LIBRARY_ONLY 
+#endif /* SIGC_CONFIGURE */
+
+#ifdef SIGC_MSC
+
+  // MS VC7 Warning 4251 says that the classes to any member objects in an
+  // exported class must be also be exported.  Some of the libsigc++
+  // template classes contain std::list members.  MS KB article 168958 says
+  // that it's not possible to export a std::list instantiation due to some
+  // wacky class nesting issues, so our only options are to ignore the
+  // warning or to modify libsigc++ to remove the std::list dependency.
+  // AFAICT, the std::list members are used internally by the library code
+  // and don't need to be used from the outside, and ignoring the warning
+  // seems to have no adverse effects, so that seems like a good enough
+  // solution for now.
+  //
+  #pragma warning(disable:4251)
+
+  #define SIGC_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
+  #define SIGC_NEW_DELETE_IN_LIBRARY_ONLY // To keep ABI compatibility
+  #define SIGC_HAVE_NAMESPACE_STD 1
+
+#endif /* SIGC_MSC */
+
+//Put things in the std namespace, if they should be there.
+#ifndef SIGC_HAVE_NAMESPACE_STD
+  # define SIGC_USING_STD(Symbol) namespace std { using ::Symbol; }
+#else
+  #  define SIGC_USING_STD(Symbol) /* empty */
+#endif
+
+#ifdef SIGC_DLL
+  #if defined(SIGC_BUILD) && defined(_WINDLL)
+    #define SIGC_API __declspec(dllexport) 
+  #elif !defined(SIGC_BUILD)
+    #define SIGC_API __declspec(dllimport)
+  #else
+    #define SIGC_API
+  #endif /* SIGC_BUILD - _WINDLL */
+#else
+  #define SIGC_API
+#endif /* SIGC_DLL */
+
+#endif /* _SIGCXX_CONFIG_H */
diff -Naur -x .svn libsigc++-2.2.4/tests/CMakeLists.txt libsigc++-2.2.4.cmake/tests/CMakeLists.txt
--- libsigc++-2.2.4/tests/CMakeLists.txt	1969-12-31 16:00:00.000000000 -0800
+++ libsigc++-2.2.4.cmake/tests/CMakeLists.txt	2009-10-26 16:38:55.000000000 -0700
@@ -0,0 +1,62 @@
+################################################################################
+#  
+# Copyright (c) 2009 by Made to Order Software Corporation
+#
+# Author: R. Douglas Barbieri
+# 
+# The source code in this file ("Source Code") is provided by Made to Order Software Corporation
+# to you under the terms of the GNU General Public License, version 2.0
+# ("GPL").  Terms of the GPL can be found in doc/GPL-license.txt in this distribution.
+# 
+# By copying, modifying or distributing this software, you acknowledge
+# that you have read and understood your obligations described above,
+# and agree to abide by those obligations.
+# 
+# ALL SOURCE CODE IN THIS DISTRIBUTION IS PROVIDED "AS IS." THE AUTHOR MAKES NO
+# WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+# COMPLETENESS OR PERFORMANCE.
+# 
+################################################################################
+
+cmake_minimum_required (VERSION 2.6)
+
+if( MINGW32 )
+	set( CMAKE_CXX_LINK_FLAGS -no-undefined -Wl,--export-all-symbols )
+endif( MINGW32 )
+
+include_directories( ${sigc++_SOURCE_DIR} )
+
+FUNCTION( BuildTest TEST_NAME TEST_SOURCE_FILE )
+	link_directories( ${TEST_NAME} ${sigc++_SOURCE_DIR} )
+	add_executable( ${TEST_NAME} ${TEST_SOURCE_FILE} )
+	target_link_libraries( ${TEST_NAME} sigc++ )
+	install( TARGETS ${TEST_NAME} DESTINATION bin )
+ENDFUNCTION( BuildTest )
+
+BuildTest( test_accum_iter				test_accum_iter.cc				)
+#BuildTest( test_accumulated				test_accumulated.cc				)
+BuildTest( test_bind					test_bind.cc					)	
+BuildTest( test_bind_ref				test_bind_ref.cc				)		
+BuildTest( test_bind_return				test_bind_return.cc				)	
+BuildTest( test_compose					test_compose.cc					)	
+BuildTest( test_copy_invalid_slot		test_copy_invalid_slot.cc		)	
+BuildTest( test_custom					test_custom.cc					)
+BuildTest( test_deduce_result_type		test_deduce_result_type.cc		)
+BuildTest( test_disconnect				test_disconnect.cc				)
+BuildTest( test_disconnect_during_emit	test_disconnect_during_emit.cc	)
+BuildTest( test_exception_catch			test_exception_catch.cc			)
+BuildTest( test_functor_trait			test_functor_trait.cc			)
+BuildTest( test_hide					test_hide.cc					)	
+#BuildTest( test_lambda					test_lambda.cc					)
+BuildTest( test_limit_reference			test_limit_reference.cc			)
+BuildTest( test_mem_fun					test_mem_fun.cc					)
+BuildTest( test_ptr_fun					test_ptr_fun.cc					)	
+BuildTest( test_retype					test_retype.cc					)
+BuildTest( test_retype_return			test_retype_return.cc			)
+BuildTest( test_signal					test_signal.cc					)
+BuildTest( test_size					test_size.cc					)	
+BuildTest( test_slot					test_slot.cc					)	
+BuildTest( test_slot_disconnect			test_slot_disconnect.cc			)
+BuildTest( test_trackable				test_trackable.cc				)
+
+# vim: ts=4 sw=4 noexpandtab
