diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..91cfb74
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,52 @@
+cmake_minimum_required(VERSION 3.13)
+include(src/cmake/projectVersionDetails.cmake)
+project(log4cxx VERSION ${log4cxx_VER} LANGUAGES CXX)
+include(CTest)
+
+# FindAPR and FindAPR-util are not provided by APR and APR-Util so source them locally
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/src/cmake")
+
+# Find Apache Runtime
+find_package(APR QUIET)
+# If APR find module sets the cache, the following will do nothing
+find_path(APR_INCLUDE_DIR apr.h PATH_SUFFIXES apr-1)
+find_library(APR_LIBRARIES NAMES libapr-1 apr-1)
+
+# Find Apache Runtime Utilities
+find_package(APR-Util QUIET)
+# If APR-UTIL find module sets the cache, the following will do nothing
+find_path(APR_UTIL_INCLUDE_DIR apu.h PATH_SUFFIXES apr-1)
+find_library(APR_UTIL_LIBRARIES NAMES libaprutil-1 aprutil-1)
+
+# Building
+add_subdirectory(src)
+
+## Installing
+install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/src/main/include/log4cxx
+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+  FILES_MATCHING PATTERN "*.h"
+)
+install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/main/include/log4cxx
+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+  FILES_MATCHING PATTERN "*.h"
+)
+
+install(TARGETS log4cxx EXPORT log4cxxTargets
+  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} 
+  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+  INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+)
+IF(WIN32 AND LOG4CXX_INSTALL_PDB)
+  INSTALL(FILES $<TARGET_PDB_FILE:log4cxx>
+          DESTINATION ${CMAKE_INSTALL_BINDIR}
+          CONFIGURATIONS RelWithDebInfo Debug
+  )
+ENDIF()
+
+# create export file which can be imported by other cmake projects
+install(EXPORT log4cxxTargets
+  FILE log4cxx-targets.cmake
+  NAMESPACE log4cxx::
+  DESTINATION share/cmake/log4cxx
+)
diff --git a/build.xml b/build.xml
index f0ffe82..d4d292a 100644
--- a/build.xml
+++ b/build.xml
@@ -17,50 +17,6 @@
 
 -->
 <!DOCTYPE project [
-<!ENTITY libsets '
-	<libset	libs="${apr-util.lib.prefix}${apr-util.lib.name}${apr-util.lib.suffix}"
-			dir="${apr-util.lib.dir}"
-			if="apr-util.lib.dir"
-	/>
-	<libset	libs="${apr-util.lib.prefix}${apr-util.lib.name}${apr-util.lib.suffix}"
-			unless="apr-util.lib.dir"
-	/>
-	<libset	libs="${apr.lib.prefix}${apr.lib.name}${apr.lib.suffix}"
-			dir="${apr.lib.dir}"
-			if="apr.lib.dir"
-	/>
-	<libset	libs="${apr.lib.prefix}${apr.lib.name}${apr.lib.suffix}"
-			unless="apr.lib.dir"
-	/>
-	<libset	libs="esmtp"
-			dir="${esmtp.lib.dir}"
-			if="esmtp.lib.dir"
-	/>
-	<libset	libs="esmtp"
-			if="has-libesmtp"
-			unless="esmtp.lib.dir"
-	/>
-	<libset	libs="${odbc.lib}"
-			if="odbc.lib"
-	/>
-	<libset	libs="${apr-util.dependencies}"
-			if="apr-util.dependencies"
-			unless="apr-util-includes-dependencies"
-	/>
-	<libset	libs="pthread"
-			if="is-unix"
-	/>
-
-	<syslibset	libs="advapi32 mswsock shell32 ws2_32"
-				if="is-windows"
-	/>
-	<syslibset	libs="stdc++"
-				if="is-gcc"
-	/>
-	<syslibset	libs="cw32mt"
-				if="is-bcc"
-	/>
-'>
 <!ENTITY license '
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
@@ -78,21 +34,14 @@
  limitations under the License.
 '>
 <!ENTITY common SYSTEM 'src/ant/common.xml'>
-<!ENTITY find-apr SYSTEM 'src/ant/find-apr.xml'>
-<!ENTITY find-apr-util SYSTEM 'src/ant/find-apr-util.xml'>
-<!ENTITY find-libesmtp SYSTEM 'src/ant/find-libesmtp.xml'>
 ]>
 
 <!--
-	This file builds log4cxx using Apache Ant (http://ant.apache.org)
-	and the C++ compilation tasks from http://ant-contrib.sourceforge.net.
+	This file releases log4cxx using Apache Ant (http://ant.apache.org)
 -->
-<project name="log4cxx" default="check">
+<project name="log4cxx" default="usage">
 
 	&common;
-	&find-apr;
-	&find-apr-util;
-	&find-libesmtp;
 
 	<property	name="base.dir"
 				location="."
@@ -149,27 +98,6 @@
 	<property	name="lib.prefix"
 				value=""
 	/>
-	<property	name="enable-char"
-				value="1"
-	/>
-	<property	name="enable-wchar_t"
-				value="1"
-	/>
-	<property	name="enable-unichar"
-				value="0"
-	/>
-	<property	name="enable-cfstring"
-				value="0"
-	/>
-	<property	name="with-charset"
-				value="auto"
-	/>
-	<property	name="with-SMTP"
-				value="no"
-	/>
-	<property	name="with-ODBC"
-				value="auto"
-	/>
 
 	<propertyregex	property="version.major"
 					input="${project.version}"
@@ -206,106 +134,20 @@
 	/>
 
 	<target	name="usage"
-			description="Describes usage of the build script">
+			description="Describes usage of the release script">
 		<echo>
-			Ant build file for log4cxx
+			Ant file for releasing log4cxx
 
 			Common invocations:
 
-			> ant
-
-			will attempt to locate APR and APR-util in /usr, /usr/local/apr and ..
-
-			Builds and tests log4cxx.
-
-			> ant -Dwith-apr=APRPATH -Dwith-apr-util=APUPATH
-
-			Builds and tests log4cxx using APR and APR-Util at specified location
-
 			> ant -p
 
 			Displays available targets
-
-			> ant build-projects-vc6
-
-			Builds Microsoft Visual Studio 6 projects.
-			-vc7, -vc8, -vc9 and -xcode for Visual Studio .NET, 2005, 2008 and Apple Xcode 2 and later.
-			respectively.
-
-			Command line options:
-
-			-Ddebug=[true|false]
-			-Doptimize=[speed|size|none]
-			-Dversion=n.n.n
-			-Dlib.type=[shared|static] (Library type to create, default=shared)
-			-Denable-char=[0, 1] (expose char* API, default=1)
-			-Denable-wchar_t=[0, 1] (expose wchar_t* API, default=1)
-			-Denable-unichar=[0, 1] (expose UniChar API, default=0)
-			-Denable-cfstring[0, 1] (expose CFString API, default=0)
-			-Dwith-charset=[auto|utf-8|iso-8859-1|usascii|ebcdic] (default=auto)
-			-Dwith-logchar=[utf-8|wchar_t|unichar] (default=utf-8 on Unix, wchar_t on Windows)
-			-Dwith-apr=APRPATH
-			-Dwith-apr-util=PATH
-			-Dwith-SMTP=[libesmtp, no] (default no)
-			-Dwith-ODBC=[auto, unixODBC, iODBC, Microsoft, no] (default=auto resulting in no on Unix, Microsoft on Windows)
 		</echo>
 	</target>
 
 	<target	name="init"
 			depends="common-init">
-		<property	name="log4cxx.lib.dir"
-					value="${executable.dir}"
-		/>
-		<mkdir dir="${log4cxx.lib.dir}" />
-
-		<condition	property="with-logchar"
-					value="wchar_t">
-			<isset property="is-windows" />
-		</condition>
-		<property	name="with-logchar"
-					value="utf-8"
-		/>
-
-		<condition	property="has-libesmtp"
-					value="1">
-			<equals	arg1="${with-SMTP}"
-					arg2="libesmtp"
-			/>
-		</condition>
-
-		<condition	property="odbc.lib"
-					value="iodbc">
-			<equals	arg1="${with-ODBC}"
-					arg2="iODBC"
-			/>
-		</condition>
-
-		<condition	property="odbc.lib"
-					value="unixodbc">
-			<equals	arg1="${with-ODBC}"
-					arg2="unixODBC"
-			/>
-		</condition>
-
-		<condition	property="odbc.lib"
-					value="odbc32">
-			<and>
-				<not>
-					<equals	arg1="${with-ODBC}"
-							arg2="no"
-					/>
-				</not>
-				<isset property="is-windows" />
-			</and>
-		</condition>
-
-		<condition	property="has-ODBC"
-					value="1">
-			<isset property="odbc.lib" />
-		</condition>
-		<property	name="has-ODBC"
-					value="0"
-		/>
 
 		<condition	property="force-ant"
 					value="1">
@@ -316,494 +158,6 @@
 		<echo>force-ant: ${force-ant}</echo>
 	</target>
 
-	<target	name="clean"
-			depends="init"
-			description="Removes built files">
-		<delete dir="${target.dir}" />
-		<delete>
-			<fileset	dir="${include.dir}/log4cxx"
-						includes="**/log4cxx.h"
-			/>
-		</delete>
-	</target>
-
-	<target	name="unix-configure"
-			if="is-unix">
-		<copy	tofile="${include.dir}/log4cxx/log4cxx.tmp"
-				file="${include.dir}/log4cxx/log4cxx.h.in"
-				overwrite="true"
-		/>
-		<copy	tofile="${include.dir}/log4cxx/private/log4cxx_private.tmp"
-				file="${include.dir}/log4cxx/private/log4cxx_private.h.in"
-				overwrite="true"
-		/>
-	</target>
-
-	<target	name="win-configure"
-			if="is-windows">
-		<copy	tofile="${include.dir}/log4cxx/log4cxx.tmp"
-				file="${include.dir}/log4cxx/log4cxx.hw"
-				overwrite="true"
-		/>
-		<copy	tofile="${include.dir}/log4cxx/private/log4cxx_private.tmp"
-				file="${include.dir}/log4cxx/private/log4cxx_private.hw"
-				overwrite="true"
-		/>
-	</target>
-
-	<target	name="configure"
-			depends="init, unix-configure, win-configure">
-		<echo message="Configuring with-logchar=${with-logchar}" />
-		<echo message="Configuring with-charset=${with-charset}" />
-		<echo message="Configuring with-SMTP=${with-SMTP}" />
-		<echo message="Configuring with-ODBC=${with-ODBC}" />
-		<echo message="Configuring enable-char=${enable-char}" />
-		<echo message="Configuring enable-wchar_t=${enable-wchar_t}" />
-		<echo message="Configuring enable-unichar=${enable-unichar}" />
-		<echo message="Configuring enable-cfstring=${enable-cfstring}" />
-
-		<condition	property="logchar_is_utf8"
-					value="1">
-			<equals	arg1="${with-logchar}"
-					arg2="utf-8"
-			/>
-		</condition>
-		<property	name="logchar_is_utf8"
-					value="0"
-		/>
-
-		<condition	property="logchar_is_unichar"
-					value="1">
-			<equals	arg1="${with-logchar}"
-					arg2="unichar"
-			/>
-		</condition>
-		<property	name="logchar_is_unichar"
-					value="0"
-		/>
-
-		<condition	property="logchar_is_wchar"
-					value="1">
-			<equals	arg1="${with-logchar}"
-					arg2="wchar_t"
-			/>
-		</condition>
-		<property	name="logchar_is_wchar"
-					value="0"
-		/>
-
-		<replaceregexp	file="${include.dir}/log4cxx/log4cxx.tmp"
-						match="@LOGCHAR_IS_UNICHAR@"
-						replace="${logchar_is_unichar}"
-		/>
-
-		<replaceregexp	file="${include.dir}/log4cxx/log4cxx.tmp"
-						match="@LOGCHAR_IS_UTF8@"
-						replace="${logchar_is_utf8}"
-		/>
-
-		<replaceregexp	file="${include.dir}/log4cxx/log4cxx.tmp"
-						match="@LOGCHAR_IS_WCHAR@"
-						replace="${logchar_is_wchar}"
-		/>
-
-		<condition	property="charset_is_utf8"
-					value="1">
-			<equals	arg1="${with-charset}"
-					arg2="utf-8"
-			/>
-		</condition>
-		<property	name="charset_is_utf8"
-					value="0"
-		/>
-
-		<condition	property="charset_is_iso-8859-1"
-					value="1">
-			<equals	arg1="${with-charset}"
-					arg2="iso-8859-1"
-			/>
-		</condition>
-		<property	name="charset_is_iso-8859-1"
-					value="0"
-		/>
-
-		<condition	property="charset_is_usascii"
-					value="1">
-			<equals	arg1="${with-charset}"
-					arg2="usascii"
-			/>
-		</condition>
-		<property	name="charset_is_usascii"
-					value="0"
-		/>
-
-		<condition	property="charset_is_ebcdic"
-					value="1">
-			<equals	arg1="${with-charset}"
-					arg2="ebcdic"
-			/>
-		</condition>
-		<property	name="charset_is_ebcdic"
-					value="0"
-		/>
-
-		<replaceregexp	file="${include.dir}/log4cxx/private/log4cxx_private.tmp"
-						match="@CHARSET_UTF8@"
-						replace="${charset_is_utf8}"
-		/>
-
-		<replaceregexp	file="${include.dir}/log4cxx/private/log4cxx_private.tmp"
-						match="@CHARSET_ISO88591@"
-						replace="${charset_is_iso-8859-1}"
-		/>
-		<replaceregexp	file="${include.dir}/log4cxx/private/log4cxx_private.tmp"
-						match="@CHARSET_USASCII@"
-						replace="${charset_is_usascii}"
-		/>
-		<replaceregexp	file="${include.dir}/log4cxx/private/log4cxx_private.tmp"
-						match="@CHARSET_EBCDIC@"
-						replace="${charset_is_ebcdic}"
-		/>
-
-		<replaceregexp	file="${include.dir}/log4cxx/log4cxx.tmp"
-						match="@CHAR_API@"
-						replace="${enable-char}"
-		/>
-
-		<replaceregexp	file="${include.dir}/log4cxx/log4cxx.tmp"
-						match="@WCHAR_T_API@"
-						replace="${enable-wchar_t}"
-		/>
-
-		<replaceregexp	file="${include.dir}/log4cxx/log4cxx.tmp"
-						match="@UNICHAR_API@"
-						replace="${enable-unichar}"
-		/>
-
-		<replaceregexp	file="${include.dir}/log4cxx/log4cxx.tmp"
-						match="@CFSTRING_API@"
-						replace="${enable-cfstring}"
-		/>
-
-		<replaceregexp	file="${include.dir}/log4cxx/private/log4cxx_private.tmp"
-						match="@HAS_SYSLOG@"
-						replace="1"
-		/>
-		<replaceregexp	file="${include.dir}/log4cxx/private/log4cxx_private.tmp"
-						match="@HAS_STD_LOCALE@"
-						replace="1"
-		/>
-		<replaceregexp	file="${include.dir}/log4cxx/private/log4cxx_private.tmp"
-						match="@HAS_MBSRTOWCS@"
-						replace="1"
-		/>
-		<replaceregexp	file="${include.dir}/log4cxx/private/log4cxx_private.tmp"
-						match="@HAS_WCSTOMBS@"
-						replace="1"
-		/>
-		<condition property="has-fwide" value="0">
-			<isset property="is-cygwin" />
-		</condition>
-		<property	name="has-fwide"
-					value="1"
-		/>
-		<replaceregexp	file="${include.dir}/log4cxx/private/log4cxx_private.tmp"
-						match="@HAS_FWIDE@"
-						replace="${has-fwide}"
-		/>
-
-		<condition property="has-libesmtp-value" value="1">
-			<isset property="has-libesmtp" />
-		</condition>
-		<property	name="has-libesmtp-value"
-					value="0"
-		/>
-		<replaceregexp	file="${include.dir}/log4cxx/private/log4cxx_private.tmp"
-						match="LOG4CXX_HAVE_LIBESMTP 0"
-						replace="LOG4CXX_HAVE_LIBESMTP ${has-libesmtp-value}"
-		/>
-		<replaceregexp	file="${include.dir}/log4cxx/private/log4cxx_private.tmp"
-						match="@HAS_LIBESMTP@"
-						replace="${has-libesmtp-value}"
-		/>
-
-		<replaceregexp	file="${include.dir}/log4cxx/private/log4cxx_private.tmp"
-						match="@HAS_ODBC@"
-						replace="${has-ODBC}"
-		/>
-
-		<antcall target="copy-if-changed">
-			<param	name="tofile"
-					value="${include.dir}/log4cxx/log4cxx.h"
-			/>
-			<param	name="file"
-					value="${include.dir}/log4cxx/log4cxx.tmp"
-			/>
-		</antcall>
-		<delete file="${include.dir}/log4cxx/log4cxx.tmp" />
-		<antcall target="copy-if-changed">
-			<param	name="tofile"
-					value="${include.dir}/log4cxx/private/log4cxx_private.h"
-			/>
-			<param	name="file"
-					value="${include.dir}/log4cxx/private/log4cxx_private.tmp"
-			/>
-		</antcall>
-		<delete file="${include.dir}/log4cxx/private/log4cxx_private.tmp" />
-	</target>
-
-	<target	name="build-apr"
-			depends="find-apr"
-			unless="apr.lib.file">
-		<fail unless="apr.src.dir">Could not locate apr library or source.</fail>
-
-		<property	name="apr.lib.type"
-					value="static"
-		/>
-		<property	name="apr.lib.prefix"
-					value=""
-		/>
-		<property	name="apr.lib.suffix"
-					value=""
-		/>
-		<property	name="project.type"
-					value="msvc6"
-		/>
-
-		<ant	antfile="src/ant/apr-build.xml"
-				target="build"
-				inheritAll="false">
-			<property	name="basedir"
-						value="${apr.src.dir}"
-			/>
-			<property	name="target.dir"
-						value="${target.dir}"
-			/>
-			<property	name="debug"
-						value="${debug}"
-			/>
-			<property	name="lib.prefix"
-						value="${apr.lib.prefix}"
-			/>
-			<property	name="lib.suffix"
-						value="${apr.lib.suffix}"
-			/>
-			<property	name="compiler"
-						value="${compiler}"
-			/>
-			<property	name="runtime"
-						value="${runtime}"
-			/>
-			<property	name="lib.type"
-						value="${apr.lib.type}"
-			/>
-			<property	name="project.type"
-						value="${project.type}"
-			/>
-			<property	name="projects.dir"
-						value="${projects.dir}"
-			/>
-			<property	name="project.if.value"
-						value="${project.if}"
-			/>
-			<property	name="use-pic"
-						value="${use-pic}"
-			/>
-			<property	name="os.family"
-						value="${os.family}"
-			/>
-		</ant>
-
-		<condition	property="apr.lib.dir"
-					value="${target.dir}/${debug.release}/shared">
-			<equals	arg1="${apr.lib.type}"
-					arg2="shared"
-			/>
-		</condition>
-
-		<property	name="apr.lib.dir"
-					location="${target.dir}/${debug.release}/static"
-		/>
-		<property	name="apr.project.file"
-					location="${projects.dir}/apr"
-		/>
-	</target>
-
-	<target	name="build-apr-util"
-			depends="build-apr, find-apr-util"
-			unless="apr-util.lib.file">
-		<fail unless="apr-util.src.dir">Could not locate apr-util library or source.</fail>
-
-		<property	name="apr-util.lib.type"
-					value="${apr.lib.type}"
-		/>
-		<property	name="apr-util.lib.prefix"
-					value=""
-		/>
-		<property	name="apr-util.lib.suffix"
-					value=""
-		/>
-		<property	name="project.type"
-					value="msvc6"
-		/>
-		<!--  built this way, apr-util will include expat and doesn't need an external reference  -->
-		<property	name="apr-util-includes-dependencies"
-					value="1"
-		/>
-
-		<ant	antfile="src/ant/apr-util-build.xml"
-				target="build"
-				inheritAll="false">
-			<property	name="target.dir"
-						value="${target.dir}"
-			/>
-			<property	name="basedir"
-						value="${apr-util.src.dir}"
-			/>
-			<property	name="debug"
-						value="${debug}"
-			/>
-			<property	name="lib.prefix"
-						value="${apr-util.lib.prefix}"
-			/>
-			<property	name="lib.suffix"
-						value="${apr-util.lib.suffix}"
-			/>
-			<property	name="compiler"
-						value="${compiler}"
-			/>
-			<property	name="runtime"
-						value="${runtime}"
-			/>
-			<property	name="apr.include.dir"
-						value="${apr.include.dir}"
-			/>
-			<property	name="apr.lib.dir"
-						value="${apr.lib.dir}"
-			/>
-			<property	name="apr.lib.type"
-						value="${apr.lib.type}"
-			/>
-			<property	name="lib.type"
-						value="${apr-util.lib.type}"
-			/>
-			<property	name="project.type"
-						value="${project.type}"
-			/>
-			<property	name="projects.dir"
-						value="${projects.dir}"
-			/>
-			<property	name="project.if.value"
-						value="${project.if}"
-			/>
-			<property	name="use-pic"
-						value="${use-pic}"
-			/>
-			<property	name="os.family"
-						value="${os.family}"
-			/>
-		</ant>
-
-		<condition	property="apr-util.lib.dir"
-					value="${target.dir}/${debug.release}/shared">
-			<equals	arg1="${apr-util.lib.type}"
-					arg2="shared"
-			/>
-		</condition>
-		<property	name="apr-util.lib.dir"
-					location="${target.dir}/${debug.release}/static"
-		/>
-		<property	name="apr-util.project.file"
-					location="${projects.dir}/apr-util"
-		/>
-	</target>
-
-	<target	name="build-libesmtp"
-			depends="find-esmtp"
-			if="has-libesmtp"
-			unless="esmtp.lib.file">
-		<fail unless="esmtp.src.dir">Could not locate libesmtp library or source.</fail>
-
-		<property	name="esmtp.lib.type"
-					value="static"
-		/>
-		<property	name="esmtp.lib.prefix"
-					value=""
-		/>
-		<property	name="esmtp.lib.suffix"
-					value=""
-		/>
-		<property	name="project.type"
-					value="msvc6"
-		/>
-		<condition	property="esmtp.compiler"
-					value="gcc">
-			<equals	arg1="${compiler}"
-					arg2="g++"
-			/>
-		</condition>
-		<property	name="esmtp.compiler"
-					value="${compiler}"
-		/>
-
-		<ant	antfile="src/ant/esmtp-build.xml"
-				target="build"
-				inheritAll="false">
-			<property	name="target.dir"
-						value="${target.dir}"
-			/>
-			<property	name="basedir"
-						value="${esmtp.src.dir}"
-			/>
-			<property	name="debug"
-						value="${debug}"
-			/>
-			<property	name="lib.prefix"
-						value="${esmtp.lib.prefix}"
-			/>
-			<property	name="lib.suffix"
-						value="${esmtp.lib.suffix}"
-			/>
-			<property	name="compiler"
-						value="${esmtp.compiler}"
-			/>
-			<property	name="runtime"
-						value="${runtime}"
-			/>
-			<property	name="lib.type"
-						value="${esmtp.lib.type}"
-			/>
-			<property	name="project.type"
-						value="${project.type}"
-			/>
-			<property	name="projects.dir"
-						value="${projects.dir}"
-			/>
-			<property	name="project.if.value"
-						value="${project.if}"
-			/>
-			<property	name="use-pic"
-						value="${use-pic}"
-			/>
-			<property	name="os.family"
-						value="${os.family}"
-			/>
-		</ant>
-
-		<condition	property="esmtp.lib.dir"
-					value="${target.dir}/${debug.release}/shared">
-			<equals	arg1="${esmtp.lib.type}"
-					arg2="shared"
-			/>
-		</condition>
-		<property	name="esmtp.lib.dir"
-					location="${target.dir}/${debug.release}/static"
-		/>
-		<property	name="esmtp.project.file"
-					location="${projects.dir}/libesmtp"
-		/>
-	</target>
-
 	<target	name="make-header-check">
 		<echo	file="${header}.cpp"
 				append="false">
@@ -813,7 +167,6 @@
 	</target>
 
 	<target	name="header-check"
-			depends="build-apr-util, configure"
 			description="Checks headers against Effective C++ guidelines">
 		<fail unless="is-gcc">Requires GCC compiler</fail>
 
@@ -870,541 +223,6 @@
 		</cc>
 	</target>
 
-	<target	name="update-rc-files-version-info"
-			description="Provides current version information for Windows resource files."
-			if="is-windows"
-			unless="is-bcc">
-		<replaceregexp	file="${resources.dir}/log4cxx.rc"
-						match="FILEVERSION \d+, \d+, \d+, \d+"
-						replace="FILEVERSION ${version.major}, ${version.minor}, 0, ${version.rev}"
-		/>
-		<replaceregexp	file="${resources.dir}/log4cxx.rc"
-						match="PRODUCTVERSION \d+, \d+, \d+, \d+"
-						replace="PRODUCTVERSION ${version.major}, ${version.minor}, 0, ${version.rev}"
-		/>
-		<replaceregexp	file="${resources.dir}/log4cxx.rc"
-						match="&quot;FileVersion&quot;, &quot;\d+, \d+, \d+, \d+&quot;"
-						replace="&quot;FileVersion&quot;, &quot;${version.major}, ${version.minor}, 0, ${version.rev}&quot;"
-		/>
-		<replaceregexp	file="${resources.dir}/log4cxx.rc"
-						match="&quot;ProductVersion&quot;, &quot;\d+, \d+, \d+, \d+&quot;"
-						replace="&quot;ProductVersion&quot;, &quot;${version.major}, ${version.minor}, 0, ${version.rev}&quot;"
-		/>
-	</target>
-
-	<target	name="restore-rc-files-version-info"
-			description="Restores version information for Windows resource files to their default values."
-			if="is-windows"
-			unless="is-bcc">
-		<replaceregexp	file="${resources.dir}/log4cxx.rc"
-						match="FILEVERSION \d+, \d+, \d+, \d+"
-						replace="FILEVERSION 0, 0, 0, 0"
-		/>
-		<replaceregexp	file="${resources.dir}/log4cxx.rc"
-						match="PRODUCTVERSION \d+, \d+, \d+, \d+"
-						replace="PRODUCTVERSION 0, 0, 0, 0"
-		/>
-		<replaceregexp	file="${resources.dir}/log4cxx.rc"
-						match="&quot;FileVersion&quot;, &quot;\d+, \d+, \d+, \d+&quot;"
-						replace="&quot;FileVersion&quot;, &quot;0, 0, 0, 0&quot;"
-		/>
-		<replaceregexp	file="${resources.dir}/log4cxx.rc"
-						match="&quot;ProductVersion&quot;, &quot;\d+, \d+, \d+, \d+&quot;"
-						replace="&quot;ProductVersion&quot;, &quot;0, 0, 0, 0&quot;"
-		/>
-	</target>
-
-	<target	name="build-lib"
-			depends="build-apr-util, build-libesmtp, configure"
-			description="Build log4cxx library">
-		<mkdir dir="${log4cxx.lib.dir}/log4cxx_obj" />
-
-		<condition	property="apr-static"
-					value="1">
-			<equals	arg1="${apr.lib.type}"
-					arg2="static"
-			/>
-		</condition>
-
-		<condition	property="apr-util-static"
-					value="1">
-			<equals	arg1="${apr-util.lib.type}"
-					arg2="static"
-			/>
-		</condition>
-
-		<condition	property="apr-libs-match"
-					value="1">
-			<equals	arg1="${apr.lib.type}"
-					arg2="${apr-util.lib.type}"
-			/>
-		</condition>
-
-		<fail unless="apr-libs-match">
-			apr is ${apr.lib.type} and apr-util is ${apr-util.lib.type}, must be same type.
-		</fail>
-		<property	name="lib.name"
-					value="log4cxx"
-		/>
-		<property	name="lib.prefix"
-					value=""
-		/>
-		<property	name="lib.suffix"
-					value=""
-		/>
-
-		<condition	property="apr-util.dependencies"
-					value="expat iconv">
-			<equals	arg1="${apr-util.lib.type}"
-					arg2="static"
-			/>
-		</condition>
-
-		<property	name="project.compiler"
-					value="${compiler}"
-		/>
-		<property	name="project.type"
-					value="msvc6"
-		/>
-
-		<condition	property="resource.compiler"
-					value="windres">
-			<isset property="is-gcc" />
-		</condition>
-		<condition	property="resource.compiler"
-					value="brc">
-			<isset property="is-bcc" />
-		</condition>
-		<property	name="resource.compiler"
-					value="msrc"
-		/>
-
-		<antcall target="update-rc-files-version-info" />
-
-		<cc	name="${project.compiler}"
-			exceptions="true"
-			outfile="${log4cxx.lib.dir}/${lib.prefix}${lib.name}${lib.suffix}"
-			outputfileproperty="log4cxx.lib.file"
-			subsystem="console"
-			multithreaded="true"
-			runtime="${runtime}"
-			outtype="${lib.type}"
-			objdir="${log4cxx.lib.dir}/log4cxx_obj"
-			debug="${debug}"
-			projectsOnly="${projectsOnly}"
-			failonerror="true">
-
-			<!-- brc aborts with an access violation. -->
-			<compiler	name="${resource.compiler}"
-						if="is-windows"
-						unless="is-bcc">
-				<includepath path="${resources.dir}" />
-				<fileset	dir="${resources.dir}"
-							includes="*.rc"
-				/>
-			</compiler>
-
-			<fileset	dir="${src.dir}"
-						includes="*.cpp"
-			/>
-			<fileset	dir="${include.dir}"
-						includes="**/*.h"
-			/>
-
-			<includepath	path="${include.dir}"
-			/>
-			<includepath	path="${apr.include.dir}"
-							if="apr.include.dir"
-			/>
-			<includepath	path="${apr-util.include.dir}"
-							if="apr-util.include.dir"
-			/>
-			<includepath	path="${esmtp.include.dir}"
-							if="esmtp.include.dir"
-			/>
-
-			<defineset	define="LOG4CXX"
-			/>
-			<defineset	define="LOG4CXX_STATIC"
-						if="is-static"
-			/>
-			<defineset	define="APR_DECLARE_STATIC"
-						if="apr-static"
-			/>
-			<defineset	define="APU_DECLARE_STATIC"
-						if="apr-util-static"
-			/>
-			<defineset	define="WIN32 _USRDLL DLL_EXPORTS"
-						if="is-windows"
-			/>
-
-			<compilerarg	value="${pic-option}"
-							if="pic-option"
-			/>
-
-			&libsets;
-
-			<project	type="${project.type}"
-						outfile="${projects.dir}/projects/${lib.name}"
-						if="project.if">
-				<comment>&license;</comment>
-				<dependency file="${projects.dir}/apr" />
-				<dependency file="${projects.dir}/xml" />
-				<dependency file="${projects.dir}/aprutil" depends="apr,xml" />
-				<dependency name="${projects.dir}/libesmtp" />
-			</project>
-		</cc>
-
-		<antcall target="restore-rc-files-version-info" />
-
-		<!-- copy liblog4cxx.so to log4cxx.dll for MinGW and Cygwin -->
-		<condition	property="copy.log4cxx"
-					value="${log4cxx.lib.dir}/${lib.prefix}${lib.name}${lib.suffix}.dll">
-			<and>
-				<os family="windows" />
-				<isset property="is-gcc" />
-				<equals arg1="${lib.type}" arg2="shared" />
-				<isset property="log4cxx.lib.file" />
-			</and>
-		</condition>
-	</target>
-
-	<target	name="build"
-			depends="build-lib"
-			if="copy.log4cxx">
-		<copy	file="${log4cxx.lib.file}"
-				tofile="${copy.log4cxx}"
-				overwrite="true"
-				preservelastmodified="true"
-		/>
-	</target>
-
-	<target	name="build-example">
-		<mkdir dir="${log4cxx.lib.dir}/${example.name}_obj" />
-
-		<property	name="project.compiler"
-					value="${compiler}"
-		/>
-		<property	name="project.type"
-					value="msvc6"
-		/>
-		<property	name="example.include.dir"
-					value="${example.src.dir}"
-		/>
-
-		<cc	name="${project.compiler}"
-			exceptions="true"
-			outfile="${log4cxx.lib.dir}/${example.name}"
-			subsystem="console"
-			multithreaded="true"
-			runtime="${runtime}"
-			outtype="executable"
-			objdir="${log4cxx.lib.dir}/${example.name}_obj"
-			debug="${debug}"
-			projectsOnly="${projectsOnly}">
-
-			<fileset	dir="${example.src.dir}"
-						includes="${example.includes}"
-			/>
-
-			<includepath path="${include.dir}" />
-			<includepath path="${example.include.dir}" />
-			<includepath path="${apr.include.dir}" if="apr.include.dir" />
-
-			<defineset	define="WIN32"
-						if="is-windows"
-			/>
-			<defineset	define="LOG4CXX_STATIC"
-						if="is-static"
-			/>
-			<defineset	define="APR_DECLARE_STATIC"
-						if="apr-static"
-			/>
-
-			<compilerarg value="${pic-option}" if="pic-option" />
-
-			<libset	libs="${lib.prefix}${lib.name}${lib.suffix}"
-					dir="${log4cxx.lib.dir}"
-			/>
-			&libsets;
-
-			<project	outfile="${projects.dir}/projects/${example.name}"
-						type="${project.type}"
-						if="project.if">
-				<comment>&license;</comment>
-				<dependency file="${projects.dir}/apr" />
-				<dependency file="${projects.dir}/xml" />
-				<dependency name="${projects.dir}/aprutil" depends="apr,xml" />
-				<dependency name="${projects.dir}/libesmtp" />
-				<dependency file="${projects.dir}/log4cxx" depends="apr,aprutil,xml" />
-			</project>
-		</cc>
-	</target>
-
-	<target	name="run-example">
-		<!--  remove any stray configuration files  -->
-		<delete>
-			<fileset	dir="${log4cxx.lib.dir}"
-						includes="log4*.properties log4*.xml"
-			/>
-		</delete>
-		<exec	executable="${log4cxx.lib.dir}/${example.name}"
-				dir="${log4cxx.lib.dir}"
-				failonerror="true">
-			<env	key="DYLD_LIBRARY_PATH"
-					 value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.DYLD_LIBRARY_PATH}"
-			/>
-			<env	key="LD_LIBRARY_PATH"
-					value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.LD_LIBRARY_PATH}"
-			/>
-			<env	key="Path"
-					value="${env.Path}"
-			/>
-		</exec>
-	</target>
-
-	<target	name="build-delayedloop"
-			depends="build">
-		<antcall target="build-example">
-			<param	name="example.src.dir"
-					value="${examples.dir}"
-			/>
-			<param	name="example.name"
-					value="delayedloop"
-			/>
-			<param	name="example.includes"
-					value="delayedloop.cpp"
-			/>
-		</antcall>
-	</target>
-
-	<target	name="build-trivial"
-			depends="build">
-		<antcall target="build-example">
-			<param	name="example.src.dir"
-					value="${examples.dir}"
-			/>
-			<param	name="example.name"
-					value="trivial"
-			/>
-			<param	name="example.includes"
-					value="trivial.cpp"
-			/>
-		</antcall>
-	</target>
-
-	<target	name="build-console"
-			depends="build">
-		<antcall target="build-example">
-			<param	name="example.src.dir"
-					value="${examples.dir}"
-			/>
-			<param	name="example.name"
-					value="console"
-			/>
-			<param	name="example.includes"
-					value="console.cpp"
-			/>
-		</antcall>
-	</target>
-
-	<target	name="build-stream"
-			depends="build">
-		<antcall target="build-example">
-			<param	name="example.src.dir"
-					value="${examples.dir}"
-			/>
-			<param	name="example.name"
-					value="stream"
-			/>
-			<param	name="example.includes"
-					value="stream.cpp"
-			/>
-		</antcall>
-	</target>
-
-	<target	name="build-examples"
-			depends="build-delayedloop, build-trivial, build-stream, build-console"
-			description="Builds example programs"
-	/>
-
-	<target	name="build-unittest"
-			depends="build"
-			description="Builds unit test app">
-		<mkdir dir="${log4cxx.lib.dir}/testsuite_obj" />
-
-		<property	name="project.compiler"
-					value="${compiler}"
-		/>
-		<property	name="project.type"
-					value="msvc6"
-		/>
-
-		<cc	name="${project.compiler}"
-			exceptions="true"
-			outfile="${log4cxx.lib.dir}/testsuite"
-			subsystem="console"
-			multithreaded="true"
-			runtime="${runtime}"
-			outputfileproperty="testsuite.exe"
-			outtype="executable"
-			objdir="${log4cxx.lib.dir}/testsuite_obj"
-			debug="${debug}"
-			projectsOnly="${projectsOnly}"
-			failonerror="true">
-
-			<fileset	dir="${tests.cpp.dir}"
-						includes="**/*.cpp **/*.c **/*.h"
-			/>
-
-			<includepath	path="${include.dir}"
-			/>
-			<includepath	path="${apr.include.dir}"
-							if="apr.include.dir"
-			/>
-			<includepath	path="${apr-util.include.dir}"
-							if="apr-util.include.dir"
-			/>
-
-			<defineset	define="LOG4CXX_STATIC"
-						if="is-static"
-			/>
-			<defineset	define="APR_DECLARE_STATIC"
-						if="apr-static"
-			/>
-			<defineset	define="APU_DECLARE_STATIC"
-						if="apr-util-static"
-			/>
-			<defineset	define="WIN32"
-						if="is-windows"
-			/>
-
-			<compilerarg	value="${pic-option}"
-							if="pic-option"
-			/>
-
-			<libset	libs="${lib.prefix}${lib.name}${lib.suffix}"
-					dir="${log4cxx.lib.dir}"
-			/>
-			&libsets;
-
-			<project	outfile="${projects.dir}/projects/testsuite"
-						type="${project.type}"
-						if="project.if">
-				<comment>&license;</comment>
-
-				<dependency file="${projects.dir}/apr" />
-				<dependency file="${projects.dir}/xml" />
-				<dependency file="${projects.dir}/aprutil" depends="apr,xml" />
-				<dependency name="${projects.dir}/libesmtp" />
-				<dependency file="${projects.dir}/log4cxx" depends="apr,aprutil,libesmtp" />
-			</project>
-		</cc>
-	</target>
-
-	<target	name="build-standalone-unittest"
-			description="Builds a unit tests + log4cxx executable"
-			depends="build-apr-util, build-libesmtp, configure">
-		<mkdir dir="${executable.dir}/static/testsuite-standalone_obj" />
-
-		<property	name="project.compiler"
-					value="${compiler}"
-		/>
-		<property	name="project.type"
-					value="msvc6"
-		/>
-		<condition	property="resource.compiler"
-					value="windres">
-			<isset property="is-gcc" />
-		</condition>
-		<property	name="resource.compiler"
-					value="msrc"
-		/>
-
-		<cc	name="${project.compiler}"
-			exceptions="true"
-			outfile="${executable.dir}/static/testsuite-standalone"
-			subsystem="console"
-			multithreaded="true"
-			runtime="${runtime}"
-			outputfileproperty="testsuite-standalone.exe"
-			outtype="executable"
-			objdir="${executable.dir}/static/testsuite-standalone_obj"
-			debug="${debug}"
-			projectsOnly="${projectsOnly}">
-
-			<compiler	name="${resource.compiler}"
-						if="is-windows">
-				<includepath path="${resources.dir}" />
-				<fileset	dir="${resources.dir}"
-							includes="*.rc"
-				/>
-			</compiler>
-
-			<fileset	dir="${src.dir}"
-						includes="*.cpp"
-						excludes="**/iconv_module.cpp"
-			/>
-			<fileset	dir="${include.dir}"
-						includes="**/*.h"
-			/>
-			<fileset	dir="${tests.cpp.dir}"
-						includes="**/*.cpp **/*.c **/*.h"
-			/>
-
-			<includepath path="${include.dir}" />
-				<includepath	path="${apr.include.dir}"
-								if="apr.include.dir"
-				/>
-			<includepath	path="${apr-util.include.dir}"
-							if="apr-util.include.dir"
-			/>
-			<includepath	path="${esmtp.include.dir}"
-							if="esmtp.include.dir"
-			/>
-
-			<defineset	define="LOG4CXX"
-			/>
-			<defineset	define="APR_DECLARE_STATIC"
-						if="apr-static"
-			/>
-			<defineset	define="APU_DECLARE_STATIC"
-						if="apr-util-static"
-			/>
-			<defineset	define="WIN32"
-						if="is-windows"
-			/>
-
-			<compilerarg	value="${pic-option}"
-							if="pic-option"
-			/>
-			&libsets;
-
-			<includepath path="${include.dir}" />
-			<includepath path="${apr.include.dir}" />
-
-			<defineset define="LOG4CXX" />
-
-			<libset libs="cw32mt" if="is-bcc" />
-
-			<project	outfile="${projects.dir}/projects/testsuite-standalone"
-						type="${project.type}"
-						if="project.if">
-				<comment>&license;</comment>
-
-				<dependency file="${projects.dir}/apr" />
-				<dependency file="${projects.dir}/xml" />
-				<dependency file="${projects.dir}/aprutil" depends="apr,xml" />
-				<dependency name="${projects.dir}/libesmtp" />
-			</project>
-		</cc>
-	</target>
-
-	<target	name="build-all"
-			depends="build-examples, build-unittest"
-			description="Builds all artifacts"
-	/>
-
 	<target	name="clean-output"
 			depends="init">
 		<delete>
@@ -1414,229 +232,8 @@
 		</delete>
 	</target>
 
-	<target	name="run-defaultinit-unittest"
-			depends="build-unittest">
-		<antcall target="run-defaultinit-log4X">
-			<param	name="config"
-					value="log4j"
-			/>
-		</antcall>
-		<antcall target="run-defaultinit-log4X">
-			<param	name="config"
-					value="log4cxx"
-			/>
-		</antcall>
-	</target>
-
-	<target	name="run-defaultinit-log4X">
-		<mkdir dir="${tests.output.dir}" />
-
-		<!--  test of log4j.properties -->
-		<delete>
-			<fileset	dir="${log4cxx.lib.dir}"
-						includes="*.properties *.xml"
-			/>
-		</delete>
-		<exec	executable="${testsuite.exe}"
-				dir="${log4cxx.lib.dir}"
-				failonerror="true">
-			<arg value="-v" />
-			<arg value="testcase1" />
-
-			<env	key="DYLD_LIBRARY_PATH"
-					value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.DYLD_LIBRARY_PATH}"
-			/>
-			<env	key="LD_LIBRARY_PATH"
-					value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.LD_LIBRARY_PATH}"
-			/>
-		</exec>
-
-		<copy	tofile="${log4cxx.lib.dir}/${config}.xml"
-				file="${tests.resources.dir}/input/xml/defaultInit.xml"
-				overwrite="true"
-		/>
-		<exec	executable="${testsuite.exe}"
-				dir="${log4cxx.lib.dir}"
-				failonerror="true">
-			<arg value="-v" />
-			<arg value="testcase2" />
-
-			<env	key="DYLD_LIBRARY_PATH"
-					value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.DYLD_LIBRARY_PATH}"
-			/>
-			<env	key="LD_LIBRARY_PATH"
-					value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.LD_LIBRARY_PATH}"
-			/>
-		</exec>
-		<delete>
-			<fileset	dir="${log4cxx.lib.dir}"
-						includes="*.properties *.xml"
-			/>
-		</delete>
-
-		<copy	tofile="${log4cxx.lib.dir}/${config}.properties"
-				file="${tests.resources.dir}/input/defaultInit3.properties"
-				overwrite="true"
-		/>
-		<exec	executable="${testsuite.exe}"
-				dir="${log4cxx.lib.dir}"
-				failonerror="true">
-			<arg value="-v" />
-			<arg value="testcase3" />
-
-			<env	key="DYLD_LIBRARY_PATH"
-					value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.DYLD_LIBRARY_PATH}"
-			/>
-			<env	key="LD_LIBRARY_PATH"
-					value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.LD_LIBRARY_PATH}"
-			/>
-		</exec>
-		<delete>
-			<fileset	dir="${log4cxx.lib.dir}"
-						includes="*.properties *.xml"
-			/>
-		</delete>
-
-		<copy	file="${tests.resources.dir}/input/xml/defaultInit.xml"
-				tofile="${log4cxx.lib.dir}/${config}.xml"
-		/>
-		<copy	file="${tests.resources.dir}/input/defaultInit3.properties"
-				tofile="${log4cxx.lib.dir}/${config}.properties"
-		/>
-		<exec	executable="${testsuite.exe}"
-				dir="${log4cxx.lib.dir}"
-				failonerror="true">
-			<arg value="-v" />
-			<arg value="testcase4" />
-
-			<env	key="LD_LIBRARY_PATH"
-					value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.LD_LIBRARY_PATH}"
-			/>
-			<env	key="DYLD_LIBRARY_PATH"
-					value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.DYLD_LIBRARY_PATH}"
-			/>
-		</exec>
-		<delete>
-			<fileset	dir="${log4cxx.lib.dir}"
-						includes="*.properties *.xml"
-			/>
-		</delete>
-	</target>
-
-	<target	name="run-unittest"
-			depends="build-unittest, run-defaultinit-unittest, clean-output"
-			description="Runs unit test">
-		<property environment="env" />
-		<mkdir dir="${tests.output.dir}" />
-		<delete>
-			<fileset	dir="${tests.output.dir}"
-						includes="*"
-			/>
-		</delete>
-
-		<exec	executable="${testsuite.exe}"
-				dir="${tests.resources.dir}"
-				failonerror="true">
-			<arg value="-v" />
-
-			<env	key="TOTO"
-					value="wonderful"
-			/>
-			<env	key="key1"
-					value="value1"
-			/>
-			<env	key="key2"
-					value="value2"
-			/>
-			<env	key="LD_LIBRARY_PATH"
-					value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.LD_LIBRARY_PATH}"
-			/>
-			<env	key="DYLD_LIBRARY_PATH"
-					value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.DYLD_LIBRARY_PATH}"
-			/>
-			<env	key="Path"
-					value="${log4cxx.lib.dir};${env.Path}"
-			/>
-		</exec>
-
-		<available	property="dom3-status"
-					value=""
-					file="src/test/resources/output/dom&#xB3;"
-		/>
-		<available	property="dom4-status"
-					value=""
-					file="src/test/resources/output/dom&#x3195;"
-		/>
-
-		<property	name="dom3-status"
-					value="NOT"
-		/>
-		<property	name="dom4-status"
-					value="NOT"
-		/>
-
-		<echo>output/dom&#xB3; was ${dom3-status} created in DOMTestCase::test3</echo>
-		<echo>output/dom&#x3195; was ${dom4-status} created in DOMTestCase::test4</echo>
-	</target>
-
-	<target	name="run-standalone-unittest"
-			depends="build-standalone-unittest, clean-output"
-			description="Runs standalone unit test">
-		<property environment="env" />
-		<mkdir dir="${tests.output.dir}" />
-		<delete>
-			<fileset	dir="${tests.output.dir}"
-						includes="*"
-			/>
-		</delete>
-
-		<exec	executable="${log4cxx-standalone-test.exe}"
-				dir="${tests.resources.dir}"
-				failonerror="true">
-			<arg value="-v" />
-
-			<env	key="TOTO"
-					value="wonderful"
-			/>
-			<env	key="key1"
-					value="value1"
-			/>
-			<env	key="key2"
-					value="value2"
-			/>
-			<env	key="DYLD_LIBRARY_PATH"
-					value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.DYLD_LIBRARY_PATH}"
-			/>
-			<env	key="LD_LIBRARY_PATH"
-					value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.LD_LIBRARY_PATH}"
-			/>
-			<env	key="Path"
-					value="${log4cxx.lib.dir};${env.Path}"
-			/>
-		</exec>
-
-		<available	property="dom3-status"
-					value=""
-					file="src/test/resources/output/dom&#xB3;"
-		/>
-		<available	property="dom4-status"
-					value=""
-					file="src/test/resources/output/dom&#x3195;"
-		/>
-
-		<property	name="dom3-status"
-					value="NOT"
-		/>
-		<property	name="dom4-status"
-					value="NOT"
-		/>
-
-		<echo>output/dom&#xB3; was ${dom3-status} created in DOMTestCase::test3</echo>
-		<echo>output/dom&#x3195; was ${dom4-status} created in DOMTestCase::test4</echo>
-	</target>
-
 	<target	name="run-socketserver"
-			depends="build-unittest, clean-output"
+			depends="clean-output"
 			description="Runs SocketServer test">
 		<property environment="env" />
 		<mkdir dir="${tests.output.dir}" />
@@ -1680,216 +277,6 @@
 		</parallel>
 	</target>
 
-	<target	name="build-projects">
-		<mkdir dir="${projects.dir}/projects" />
-		<property	name="project.type"
-					value="msvc6"
-		/>
-
-		<antcall target="build-unittest">
-			<param	name="project.if"
-					value="true"
-			/>
-			<param	name="project.type"
-					value="${project.type}"
-			/>
-			<param	name="project.compiler"
-					value="${project.compiler}"
-			/>
-			<param	name="debug"
-					value="${debug}"
-			/>
-			<param	name="projectsOnly"
-					value="true"
-			/>
-			<param	name="os.family"
-					value="${os.family}"
-			/>
-			<param	name="find"
-					value="${find}"
-			/>
-		</antcall>
-
-		<antcall target="build-standalone-unittest">
-			<param	name="project.if"
-					value="true"
-			/>
-			<param	name="project.type"
-					value="${project.type}"
-			/>
-			<param	name="project.compiler"
-					value="${project.compiler}"
-			/>
-			<param	name="debug"
-					value="${debug}"
-			/>
-			<param	name="projectsOnly"
-					value="true"
-			/>
-			<param	name="os.family"
-					value="${os.family}"
-			/>
-			<param	name="find"
-					value="${find}"
-			/>
-		</antcall>
-
-		<antcall target="build-examples">
-			<param	name="project.if"
-					value="true"
-			/>
-			<param	name="project.type"
-					value="${project.type}"
-			/>
-			<param	name="project.compiler"
-					value="${project.compiler}"
-			/>
-			<param	name="debug"
-					value="${debug}"
-			/>
-			<param	name="projectsOnly"
-					value="true"
-			/>
-			<param	name="os.family"
-					value="${os.family}"
-			/>
-			<param	name="find"
-					value="${find}"
-			/>
-		</antcall>
-	</target>
-
-	<target	name="build-projects-vc6"
-			depends="init"
-			description="Builds project files for Microsoft Visual C++ 6">
-		<antcall target="build-projects">
-			<param	name="project.type"
-					value="msvc6"
-			/>
-			<param	name="project.compiler"
-					value="msvc"
-			/>
-			<param	name="os.family"
-					value="windows"
-			/>
-			<param	name="debug"
-					value="${debug}"
-			/>
-			<param	name="find"
-					value="${find}"
-			/>
-		</antcall>
-	</target>
-
-	<target	name="build-projects-vc7"
-			depends="init"
-			description="Builds project files for Microsoft Visual Studio .NET">
-		<antcall target="build-projects">
-			<param	name="project.type"
-					value="msvc7"
-			/>
-			<param	name="project.compiler"
-					value="msvc"
-			/>
-			<param	name="os.family"
-					value="windows"
-			/>
-			<param	name="debug"
-					value="${debug}"
-			/>
-			<param	name="find"
-					value="${find}"
-			/>
-		</antcall>
-	</target>
-
-	<target	name="build-projects-vc8"
-			depends="init"
-			description="Builds project files for Microsoft Visual C++ 2005">
-		<antcall target="build-projects">
-			<param	name="project.type"
-					value="msvc8"
-			/>
-			<param	name="project.compiler"
-					value="msvc"
-			/>
-			<param	name="os.family"
-					value="windows"
-			/>
-			<param	name="debug"
-					value="${debug}"
-			/>
-			<param	name="find"
-					value="${find}"
-			/>
-		</antcall>
-	</target>
-
-
-	<target	name="build-projects-vc9"
-			depends="init"
-			 description="Builds project files for Microsoft Visual C++ 2008">
-		<antcall target="build-projects">
-			<param	name="project.type"
-					value="msvc9"
-			/>
-			<param	name="project.compiler"
-					value="msvc"
-			/>
-			<param	name="os.family"
-					value="windows"
-			/>
-			<param	name="debug"
-					value="${debug}"
-			/>
-			<param	name="find"
-					value="${find}"
-			/>
-		</antcall>
-	</target>
-
-	<target	name="build-projects-xcode"
-			depends="init"
-			description="Builds project files for Apple Xcode">
-		<antcall target="build-projects">
-			<param	name="project.type"
-					value="xcode"
-			/>
-			<param	name="project.compiler"
-					value="gcc"
-			/>
-			<param	name="os.family"
-					value="mac"
-			/>
-			<param	name="debug"
-					value="${debug}"
-			/>
-			<param	name="find"
-					value="${find}"
-			/>
-		</antcall>
-	</target>
-
-	<target	name="test-compile"
-			depends="build-unittest, build-examples"
-	/>
-
-	<target	name="check"
-			depends="run-unittest, build-examples"
-		description="Runs all diagnostic tests">
-		<antcall target="run-example">
-			<param	name="example.name"
-					value="trivial"
-			/>
-		</antcall>
-
-		<antcall target="run-example">
-			<param	name="example.name"
-					value="stream"
-			/>
-		</antcall>
-	</target>
-
 	<target	name="apidocs"
 			description="Build log4cxx manual">
 		<copy	file="${base.dir}/src/site/doxy/Doxyfile.in"
@@ -1954,66 +341,6 @@
 		</replaceregexp>
 	</target>
 
-	<target	name="gen-release-projects">
-		<antcall target="build-projects-vc6">
-			<param name="find" value="false" />
-		</antcall>
-
-		<antcall target="build-projects-xcode">
-		</antcall>
-
-		<replaceregexp	flags="ig"
-						match="ADD LINK32 .*/NOLOGO"
-						replace="ADD LINK32 ADVAPI32.LIB WS2_32.LIB MSWSOCK.LIB SHELL32.LIB ODBC32.LIB /NOLOGO">
-			<fileset	dir="${target.dir}"
-						includes="**/*.dsp"
-			/>
-		</replaceregexp>
-
-		<replaceregexp	flags="g"
-						match=".\\apr.dsp"
-						replace="..\\\\..\\\\apr\\\\apr.dsp">
-			<fileset	dir="${target.dir}"
-						includes="**/*.dsw"
-			/>
-		</replaceregexp>
-
-		<replaceregexp	flags="g"
-						match=".\\aprutil.dsp"
-						replace="..\\\\..\\\\apr-util\\\\aprutil.dsp">
-			<fileset	dir="${target.dir}"
-						includes="**/*.dsw"
-			/>
-		</replaceregexp>
-
-		<replaceregexp	flags="g"
-						match=".\\xml.dsp"
-						replace="..\\\\..\\\\apr-util\\\\xml\\\\expat\\\\lib\\\\xml.dsp">
-			<fileset	dir="${target.dir}"
-						includes="**/*.dsw"
-			/>
-		</replaceregexp>
-
-		<!-- drop library search path -->
-		<replaceregexp	flags="g"
-						match="&lt;string&gt;[\./]*/usr/lib&lt;/string&gt;"
-						replace="">
-			<fileset	dir="${target.dir}"
-						includes="**/*.pbxproj"
-			/>
-		</replaceregexp>
-
-		<replace	dir="${target.dir}"
-					includes="**/*.pbxproj"
-					token="/usr/include/apr-1.0"
-					value="/usr/include/apr-1"
-		/>
-		<replace	dir="${target.dir}" includes="**/*.pbxproj"
-					token="MacOSX10.4u.sdk"
-					value="MacOSX10.5.sdk"
-		/>
-	</target>
-
 	<target	name="site-text-file-cleanup">
 		<fixcrlf	srcDir="${base.dir}/${subDir}"
 					tab="asis"
@@ -2042,10 +369,6 @@
 		</antcall>
 	</target>
 
-	<target	name="gump"
-			depends="check, header-check"
-	/>
-
 	<target	name="prepare-changes"
 			description="Prepares changes.xml from a JIRA issues list">
 		<xslt	style="src/changes/changes.xslt"
@@ -2174,19 +497,10 @@
 	</target>
 
 	<target	name="autogen"
-			depends="init"
 			if="is-unix">
 		<exec executable="sh">
 			<arg value="autogen.sh" />
 		</exec>
-
-		<!--
-			This was coupled with "site" originally, but made building "site" itself on Windows unneccessary
-			hard and the projects are not even used on the website, but only in releases instead. This target
-			is called in that case and some part of project files generation is unix centered already, too.
-		 -->
-		<antcall target="gen-release-projects">
-		</antcall>
 	</target>
 </project>
 
diff --git a/pom.xml b/pom.xml
index abdf7f7..c0afaa2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -65,7 +65,7 @@
 		<connection>scm:git:http://gitbox.apache.org/repos/asf/logging-log4cxx.git</connection>
 		<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/logging-log4cxx.git</developerConnection>
 		<url>https://gitbox.apache.org/repos/asf?p=logging-log4cxx.git</url>
-		<tag>HEAD</tag>
+		<tag>v0.11.0-RC1</tag>
 	</scm>
 
 	<properties>
@@ -74,6 +74,7 @@
 		<releaseVersion>${project.version}</releaseVersion>
 		<releaseManager>Matt Sicker</releaseManager>
 		<releaseKey>B62BABE8</releaseKey>
+        <windowsArchitecture>x64</windowsArchitecture>
 	</properties>
 
 	<organization>
@@ -179,50 +180,59 @@
 
 	<build>
 		<plugins>
+            <plugin>
+              <groupId>com.googlecode.cmake-maven-project</groupId>
+              <artifactId>cmake-maven-plugin</artifactId>
+              <version>3.14.5-b1</version>
+              <executions>
+                <execution>
+                  <id>cmake-generate</id>
+                  <goals>
+                    <goal>generate</goal>
+                  </goals>
+                  <configuration>
+                    <sourcePath>${project.basedir}</sourcePath>
+                    <targetPath>${project.build.directory}/${platform}</targetPath>
+                    <classifier>${cmake.classifier}</classifier>
+                    <options>${cmake.options}</options>
+                    <environmentVariables>
+                        <CMAKE_CLASSIFIER>${cmake.classifier}</CMAKE_CLASSIFIER>
+                    </environmentVariables>
+                    <downloadBinaries>${download.cmake}</downloadBinaries>
+                  </configuration>
+                </execution>
+                <execution>
+                    <id>cmake-compile</id>
+                    <phase>process-resources</phase>
+                    <goals>
+                      <goal>compile</goal>
+                    </goals>
+                    <configuration>
+                        <projectDirectory>${project.build.directory}/${platform}</projectDirectory>
+                        <classifier>${cmake.classifier}</classifier>
+                        <config>${cmake.config}</config>
+                        <downloadBinaries>true</downloadBinaries>
+                    </configuration>
+                </execution>
+                <execution>
+                  <phase>test</phase>
+                  <id>cmake-run-tests</id>
+                  <goals>
+                    <goal>test</goal>
+                  </goals>
+                  <configuration>
+                    <buildDirectory>${project.build.directory}/${platform}</buildDirectory>
+                    <testFailureIgnore>true</testFailureIgnore>
+                    <ctest.skip.tests>${maven.test.skip}</ctest.skip.tests>
+                  </configuration>
+                </execution>
+              </executions>
+            </plugin>
 			<plugin>
 				<artifactId>maven-antrun-plugin</artifactId>
 				<version>1.7</version>
 				<executions>
 					<execution>
-						<phase>compile</phase>
-						<id>compile</id>
-						<configuration>
-							<target>
-								<ant target="build" />
-							</target>
-						</configuration>
-						<goals>
-							<goal>run</goal>
-						</goals>
-					</execution>
-
-					<execution>
-						<phase>test-compile</phase>
-						<id>test-compile</id>
-						<configuration>
-							<target unless="${maven.test.skip}">
-								<ant target="test-compile" />
-							</target>
-						</configuration>
-						<goals>
-							<goal>run</goal>
-						</goals>
-					</execution>
-
-					<execution>
-						<phase>test</phase>
-						<id>test</id>
-						<configuration>
-							<target unless="${maven.test.skip}">
-								<ant target="check" />
-							</target>
-						</configuration>
-						<goals>
-							<goal>run</goal>
-						</goals>
-					</execution>
-
-					<execution>
 						<phase>package</phase>
 						<id>autogen</id>
 						<configuration>
@@ -394,4 +404,82 @@
 			<url>file:///${user.dir}/target/site-deploy/${project.version}</url>
 		</site>
 	</distributionManagement>
+
+	<profiles>
+		<profile>
+			<id>linux-x86_64-debug</id>
+			<properties>
+				<platform>linux-x86_64</platform>
+				<build.type>debug</build.type>
+			</properties>
+		</profile>
+		<profile>
+			<id>linux-x86_64-release</id>
+			<activation>
+				<os>
+					<family>linux</family>
+					<arch>amd64</arch>
+				</os>
+			</activation>
+			<properties>
+				<platform>linux-x86_64</platform>
+				<build.type>release</build.type>
+				<cmake.classifier>linux-x86_64</cmake.classifier>
+			</properties>
+		</profile>
+		<profile>
+			<id>Win32</id>
+			<properties>
+				<windowsArchitecture>Win32</windowsArchitecture>
+			</properties>
+		</profile>
+		<profile>
+			<id>windows-debug</id>
+			<properties>
+				<platform>windows-${windowsArchitecture}</platform>
+				<build.type>debug</build.type>
+				<cmake.classifier>windows-x86_64</cmake.classifier>
+				<cmake.options>-A${windowsArchitecture}</cmake.options>
+				<cmake.config>${build.type}</cmake.config>
+			</properties>
+		</profile>
+		<profile>
+			<id>windows-release</id>
+			<activation>
+				<os>
+					<family>windows</family>
+					<arch>amd64</arch>
+				</os>
+			</activation>
+			<properties>
+				<platform>windows-${windowsArchitecture}</platform>
+				<build.type>release</build.type>
+				<cmake.classifier>windows-x86_64</cmake.classifier>
+				<cmake.options>-A${windowsArchitecture}</cmake.options>
+				<cmake.config>${build.type}</cmake.config>
+			</properties>
+		</profile>
+		<profile>
+			<id>mac-x86_64-debug</id>
+			<properties>
+				<platform>mac-x86_64</platform>
+				<build.type>debug</build.type>
+				<cmake.classifier>mac-x86_64</cmake.classifier>
+			</properties>
+		</profile>
+		<profile>
+			<id>mac-x86_64-release</id>
+			<activation>
+				<os>
+					<family>mac</family>
+					<arch>x86_64</arch>
+				</os>
+			</activation>
+			<properties>
+				<platform>mac-x86_64</platform>
+				<build.type>release</build.type>
+				<cmake.classifier>mac-x86_64</cmake.classifier>
+			</properties>
+		</profile>
+    </profiles>
 </project>
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
index 0000000..39420dd
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -0,0 +1,13 @@
+add_subdirectory(main)
+target_include_directories(log4cxx INTERFACE $<INSTALL_INTERFACE:include> PRIVATE ${APR_INCLUDE_DIR} ${APR_UTIL_INCLUDE_DIR})
+target_link_libraries(log4cxx PRIVATE ${APR_LIBRARIES} ${APR_UTIL_LIBRARIES})
+if(WIN32)
+# The ODBC appender is always enabled in the Windows configuration
+target_link_libraries(log4cxx PRIVATE odbc32.lib)
+option(LOG4CXX_INSTALL_PDB "Install .pdb files (if generated)"  ON)
+endif()
+
+if(BUILD_TESTING)
+   add_subdirectory(test)
+   add_subdirectory(examples/cpp)
+endif()
diff --git a/src/ant/apr-build.xml b/src/ant/apr-build.xml
deleted file mode 100644
index 9812ae0..0000000
--- a/src/ant/apr-build.xml
+++ /dev/null
@@ -1,851 +0,0 @@
-<?xml version="1.0"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
-
-	  http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-<!DOCTYPE project [
-<!ENTITY common SYSTEM 'common.xml'>
-<!ENTITY license '
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
-
-	  http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-'>
-]>
-<!--
-	This file builds APR using Apache Ant (http://ant.apache.org)
-	and the C++ compilation tasks from http://ant-contrib.sourceforge.net.
--->
-<project name="apr" default="check">
-
-&common;
-
-<property	name="src.dir"
-			location="${basedir}"
-/>
-<property	name="include.dir"
-			location="${src.dir}/include"
-/>
-<property	name="test.dir"
-			location="${src.dir}/test"
-/>
-<property	name="target.dir"
-			location="${basedir}/target"
-/>
-<property	name="lib.name"
-			value="apr-1"
-/>
-<property	name="lib.prefix"
-			value=""
-/>
-<property	environment="env"
-/>
-
-<target	name="usage"
-		description="Displays usage notes on build">
-	<echo></echo>
-</target>
-
-<target	name="clean"
-		description="Removes build product files">
-	<delete dir="${target.dir}" />
-</target>
-
-<target	name="win-configure"
-		if="is-windows">
-	<copy	file="${include.dir}/apr.hw"
-			tofile="${include.dir}/apr.tmp"
-			overwrite="true"
-	/>
-	<replaceregexp	file="${include.dir}/apr.tmp"
-					match="typedef *int *uid_t;"
-					replace="/* typedef int uid_t */"
-	/>
-	<replaceregexp	file="${include.dir}/apr.tmp"
-					match="typedef *int *gid_t;"
-					replace="/* typedef int gid_t */"
-	/>
-	<antcall target="copy-if-changed">
-		<param	name="file"
-				value="${include.dir}/apr.tmp"
-		/>
-		<param	name="tofile"
-				value="${include.dir}/apr.h"
-		/>
-	</antcall>
-</target>
-
-<target	name="check-configure"
-		if="is-unix">
-	<condition	property="force-configure"
-				value="1">
-		<not>
-			<available file="${include.dir}/apr.h" />
-		</not>
-	</condition>
-</target>
-
-<target	name="unix-configure"
-		depends="check-configure"
-		if="force-configure">
-	<!-- Shelling to configure allows cygwin to work -->
-	<exec executable="sh" dir="${src.dir}">
-		<arg value="./configure" />
-	</exec>
-</target>
-
-<target	name="init"
-		depends="common-init">
-	<condition	property="arch"
-				value="win32">
-		<isset property="is-windows" />
-	</condition>
-	<property	name="arch"
-				value="unix"
-	/>
-</target>
-
-<target	name="configure"
-		depends="init, unix-configure, win-configure"
-/>
-
-<target	name="build"
-		depends="configure"
-		description="Build library">
-	<mkdir dir="${executable.dir}/apr-ofiles" />
-	<property	name="project.compiler"
-				value="${compiler}"
-	/>
-	<property	name="project.type"
-				value="msvc6"
-	/>
-
-	<cc	name="${project.compiler}"
-		outfile="${executable.dir}/${lib.prefix}${lib.name}${lib.suffix}"
-		subsystem="console"
-		multithreaded="true"
-		runtime="${runtime}"
-		outtype="${lib.type}"
-		objdir="${executable.dir}/apr-ofiles"
-		outputfileproperty="apr-1.dll"
-		debug="${debug}"
-		projectsOnly="${projectsOnly}">
-		<!-- Suppressing misc/win32/rand.c since it needs to include rpc.h -->
-		<fileset	dir="${src.dir}"
-					includes="**/${arch}/*.c"
-					excludes="**/apr_app.c misc/win32/rand.c"
-		/>
-		<fileset	dir="${src.dir}"
-					includes="**/${arch}/apr_app.c"
-					if="is-static"
-		/>
-		<fileset	dir="${src.dir}/file_io/unix"
-					includes="copy.c fileacc.c filepath_util.c fullrw.c mktemp.c tempdir.c"
-		/>
-		<fileset	dir="${src.dir}/memory/unix"
-					includes="*.c"
-		/>
-		<fileset	dir="${src.dir}/misc/unix"
-					includes="errorcodes.c getopt.c otherchild.c version.c"
-		/>
-		<fileset	dir="${src.dir}/mmap/unix"
-					includes="common.c"
-		/>
-		<fileset	dir="${src.dir}/network_io/unix"
-					includes="inet_ntop.c inet_pton.c sockaddr.c"
-		/>
-		<fileset	dir="${src.dir}/poll/unix"
-					includes="*.c"
-		/>
-		<fileset	dir="${src.dir}/random/unix"
-					includes="*.c"
-		/>
-		<fileset	dir="${src.dir}/strings"
-					includes="*.c"
-		/>
-		<fileset	dir="${src.dir}/tables"
-					includes="*.c"
-		/>
-		<fileset	dir="${include.dir}"
-					includes="*.h"
-		/>
-		<fileset	dir="${include.dir}/arch"
-					includes="*.h"
-		/>
-		<fileset	dir="${include.dir}/arch/${arch}"
-					includes="*.h"
-		/>
-		<fileset	dir="${include.dir}/arch/unix"
-					includes="*.h"
-		/>
-		<fileset	dir="${src.dir}/support/unix"
-					includes="waitio.c"
-		/>
-
-		<includepath path="${include.dir}"				/>
-		<includepath path="${include.dir}/arch"			/>
-		<includepath path="${include.dir}/arch/${arch}"	/>
-		<includepath path="${include.dir}/arch/unix"	/>
-
-		<defineset	define="APR_DECLARE_EXPORT"
-					if="is-shared"
-		/>
-		<defineset	define="APR_DECLARE_STATIC"
-					unless="is-shared"
-		/>
-		<defineset if="is-windows">
-			<define name="WIN32" value="1" />
-		</defineset>
-		<defineset	define="_HAVE_CONFIG_H _REENTRANT _GNU_SOURCE"
-					if="is-gcc"
-		/>
-		<defineset	define="HAVE_CONFIG_H DARWIN SIGPROCMASK_SETS_THREAD_MASK"
-					if="is-mac"
-		/>
-		<defineset if="is-bcc">
-			<define	name="_dup2"
-					value="dup2"
-			/>
-			<define	name="_isatty"
-					value="isatty"
-			/>
-			<define	name="_setmode"
-					value="setmode"
-			/>
-		</defineset>
-		<!--
-			apr_atomic.c is not linkable in VS2013 x86 and the only somewhat easy workaround was
-			to claim we are not VS2013, which only works because what we use to claim this is not
-			used elsewhere and doesn't seem to introduce any other problems for now.
-
-			https://groups.google.com/forum/#!topic/aprdev/bc1ILvUe-fk
-			https://groups.google.com/forum/#!topic/unimrcp/Iybpn51UYnI
-		 -->
-		<defineset	define="__MINGW32__"
-					if="env.VS120COMNTOOLS"
-		/>
-
-		<compilerarg	value="${pic-option}"
-						if="pic-option"
-		/>
-
-		<libset	libs="advapi32 mswsock rpcrt4 ws2_32"
-				if="is-windows"
-		/>
-		<libset	libs="pthread dl"
-				if="is-unix"
-		/>
-		<libset	libs="cw32mt"
-				if="is-bcc"
-		/>
-
-		<project	type="${project.type}"
-					outfile="${projects.dir}/projects/apr"
-					if="project.if">
-			<comment>&license;</comment>
-		</project>
-	</cc>
-
-	<property	name="apr.lib.dir"
-				location="${executable.dir}"
-	/>
-</target>
-
-<target	name="build-test">
-	<mkdir dir="${executable.dir}/apr-test-ofiles" />
-	<property	name="project.compiler"
-				value="${compiler}"
-	/>
-	<property	name="project.type"
-				value="msvc6"
-	/>
-
-	<cc	name="${project.compiler}"
-		outfile="${executable.dir}/${test}"
-		subsystem="console"
-		multithreaded="true"
-		runtime="${runtime}"
-		outtype="executable"
-		objdir="${executable.dir}/apr-test-ofiles"
-		debug="${debug}"
-		projectsOnly="${projectsOnly}">
-		<fileset	dir="${test.dir}"
-					includes="${testfiles}"
-		/>
-
-		<includepath path="${include.dir}" />
-
-		<defineset if="is-windows">
-			<define name="WIN32" value="1" />
-		</defineset>
-		<defineset	define="_HAVE_CONFIG_H _REENTRANT _GNU_SOURCE"
-					if="is-gcc"
-		/>
-		<defineset	define="APR_DECLARE_STATIC"
-					unless="is-shared"
-		/>
-		<defineset	define="HAVE_CONFIG_H DARWIN SIGPROCMASK_SETS_THREAD_MASK"
-					if="is-mac"
-		/>
-		<compilerarg value="${pic-option}" if="pic-option"
-		/>
-
-		<libset	dir="${apr.lib.dir}"
-				libs="${lib.prefix}${lib.name}${lib.suffix}"
-		/>
-		<libset	libs="cw32mt"
-				if="is-bcc"
-		/>
-		<libset	libs="pthread dl"
-				if="is-unix"
-		/>
-		<libset	libs="advapi32 ws2_32 mswsock rpcrt4"
-				if="is-windows"
-		/>
-
-		<project	type="${project.type}"
-					outfile="${projects.dir}/projects/${test}"
-					if="project.if">
-			<comment>&license;</comment>
-			<dependency file="${projects.dir}/apr" />
-		</project>
-	</cc>
-</target>
-
-<target	name="run-test">
-	<exec	executable="${apr.lib.dir}/${test}"
-			dir="${apr.lib.dir}"
-			failonerror="true">
-		<env	key="DYLD_LIBRARY_PATH"
-				value="${apr.lib.dir}:${env.DYLD_LIBRARY_PATH}"
-		/>
-		<env	key="LD_LIBRARY_PATH"
-				value="${apr.lib.dir}:${env.LD_LIBRARY_PATH}"
-		/>
-	</exec>
-</target>
-
-<target	name="build-testlockperf"
-		depends="build">
-	<antcall target="build-test">
-		<param	name="test"
-				value="testlockperf"
-		/>
-		<param	name="testfiles"
-				value="testlockperf.c"
-		/>
-	</antcall>
-</target>
-
-<target	name="run-testlockperf"
-		depends="build-testlockperf">
-	<antcall target="run-test">
-		<param	name="test"
-				value="testlockperf"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-testshmproducer"
-		depends="build">
-	<antcall target="build-test">
-		<param	name="test"
-				value="testshmproducer"
-		/>
-		<param	name="testfiles"
-				value="testshmproducer.c"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-testshmconsumer"
-		depends="build">
-	<antcall target="build-test">
-		<param	name="test"
-				value="testshmconsumer"
-		/>
-		<param	name="testfiles"
-				value="testshmconsumer.c"
-		/>
-	</antcall>
-</target>
-
-
-<target	name="build-testmutexscope"
-		depends="build">
-	<antcall target="build-test">
-		<param	name="test"
-				value="testmutexscope"
-		/>
-		<param	name="testfiles"
-				value="testmutexscope.c"
-		/>
-	</antcall>
-</target>
-
-<target	name="run-testmutexscope"
-		depends="build-testmutexscope">
-	<antcall target="run-test">
-		<param	name="test"
-				value="testmutexscope"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-occhild"
-		depends="build">
-	<antcall target="build-test">
-		<param	name="test"
-				value="occhild"
-		/>
-		<param	name="testfiles"
-				value="occhild.c"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-sockchild"
-		depends="build">
-	<antcall target="build-test">
-		<param	name="test"
-				value="sockchild"
-		/>
-		<param	name="testfiles"
-				value="sockchild.c"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-readchild"
-		depends="build">
-	<antcall target="build-test">
-		<param	name="test"
-				value="readchild"
-		/>
-		<param	name="testfiles"
-				value="readchild.c"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-globalmutexchild"
-		depends="build">
-	<antcall target="build-test">
-		<param	name="test"
-				value="globalmutexchild"
-		/>
-		<param	name="testfiles"
-				value="globalmutexchild.c"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-tryread"
-		depends="build">
-	<antcall target="build-test">
-		<param	name="test"
-				value="tryread"
-		/>
-		<param	name="testfiles"
-				value="tryread.c"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-proc_child"
-		depends="build">
-	<antcall target="build-test">
-		<param	name="test"
-				value="proc_child"
-		/>
-		<param	name="testfiles"
-				value="proc_child.c"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-sendfile"
-		depends="build">
-	<antcall target="build-test">
-		<param	name="test"
-				value="sendfile"
-		/>
-		<param	name="testfiles"
-				value="sendfile.c"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-mod_test"
-		depends="build">
-	<mkdir dir="${executable.dir}/test-ofiles"	/>
-	<mkdir dir="${executable.dir}/.libs"		/>
-
-	<property	name="project.compiler"
-				value="${compiler}"
-	/>
-	<property	name="project.type"
-				value="msvc6"
-	/>
-
-	<cc	name="${project.compiler}"
-		outfile="${executable.dir}/.libs/mod_test"
-		subsystem="console"
-		multithreaded="true"
-		runtime="${runtime}"
-		outtype="shared"
-		objdir="${executable.dir}/test-ofiles"
-		outputfileproperty="libmod_test.so"
-		debug="${debug}"
-		projectsOnly="${projectsOnly}">
-		<fileset	dir="${test.dir}"
-					includes="mod_test.c"
-		/>
-
-		<includepath path="${include.dir}" />
-
-		<defineset if="is-windows">
-			<define name="WIN32" value="1" />
-		</defineset>
-		<defineset	define="_HAVE_CONFIG_H _REENTRANT _GNU_SOURCE"
-					if="is-gcc"
-		/>
-		<defineset	define="APR_DECLARE_STATIC"
-					unless="is-shared"
-		/>
-		<defineset	define="HAVE_CONFIG_H DARWIN SIGPROCMASK_SETS_THREAD_MASK"
-					if="is-mac"
-		/>
-		<compilerarg	value="${pic-option}"
-						if="pic-option"
-		/>
-
-		<libset	dir="${apr.lib.dir}"
-				libs="${lib.prefix}${lib.name}${lib.suffix}"
-		/>
-		<libset	libs="cw32mt"
-				if="is-bcc"
-		/>
-		<libset	libs="advapi32 ws2_32 mswsock rpcrt4"
-				if="is-windows"
-		/>
-
-		<project	type="${project.type}"
-					outfile="${projects.dir}/projects/mod_test"
-					if="project.if">
-			<comment>&license;</comment>
-			<dependency file="${projects.dir}/apr-1" />
-		</project>
-	</cc>
-
-	<copy	file="${libmod_test.so}"
-			tofile="${executable.dir}/.libs/mod_test.so"
-	/>
-</target>
-
-<target	name="build-testall"
-		depends="build">
-	<mkdir dir="${executable.dir}/test-ofiles" />
-	<property	name="project.compiler"
-				value="${compiler}"
-	/>
-	<property	name="project.type"
-				value="msvc6"
-	/>
-
-	<cc	name="${project.compiler}"
-		outfile="${executable.dir}/testall"
-		subsystem="console"
-		multithreaded="true"
-		runtime="${runtime}"
-		outtype="executable"
-		objdir="${executable.dir}/test-ofiles"
-		debug="${debug}"
-		projectsOnly="${projectsOnly}">
-		<fileset	dir="${test.dir}"
-					includes="*.c">
-					<exclude name="nw_misc.c"			/>
-					<exclude name="testlockperf.c"		/>
-					<exclude name="occhild.c"			/>
-					<exclude name="sockchild.c"			/>
-					<exclude name="sockperf.c"			/>
-					<exclude name="echod.c"				/>
-					<exclude name="mockchild.c"			/>
-					<exclude name="readchild.c"			/>
-					<exclude name="globalmutexchild.c"	/>
-					<exclude name="tryread.c"			/>
-					<exclude name="proc_child.c"		/>
-					<exclude name="sendfile.c"			/>
-					<exclude name="testshmproducer.c"	/>
-					<exclude name="testshmconsumer.c"	/>
-					<exclude name="testmutexscope.c"	/>
-					<exclude name="testapp.c" />
-		</fileset>
-
-		<includepath path="${include.dir}" />
-
-		<defineset if="is-windows">
-			<define name="WIN32" value="1" />
-		</defineset>
-		<defineset	define="_HAVE_CONFIG_H _REENTRANT _GNU_SOURCE"
-					if="is-gcc"
-		/>
-		<defineset	define="APR_DECLARE_STATIC"
-					unless="is-shared"
-		/>
-		<defineset	define="HAVE_CONFIG_H DARWIN SIGPROCMASK_SETS_THREAD_MASK"
-					if="is-mac"
-		/>
-		<compilerarg	value="${pic-option}"
-						if="pic-option"
-		/>
-
-		<libset	dir="${apr.lib.dir}"
-				libs="${lib.prefix}${lib.name}${lib.suffix}"
-		/>
-		<libset	libs="cw32mt"
-				if="is-bcc"
-		/>
-		<libset	libs="pthread dl"
-				if="is-unix"
-		/>
-		<libset	libs="advapi32 ws2_32 mswsock rpcrt4"
-				if="is-windows"
-		/>
-
-		<project	type="${project.type}"
-					outfile="${projects.dir}/projects/testall"
-					if="project.if">
-			<comment>&license;</comment>
-			<dependency file="${projects.dir}/apr-1" />
-		</project>
-	</cc>
-</target>
-
-<target	name="run-testall"
-		depends="build-testall,
-					build-mod_test,
-					build-tryread,
-					build-readchild,
-					build-globalmutexchild,
-					build-occhild,
-					build-proc_child,
-					build-testshmconsumer,
-					build-testshmproducer,
-					build-sockchild">
-	<mkdir dir="${executable.dir}/data" />
-	<copy todir="${executable.dir}/data">
-		<fileset	dir="${test.dir}/data"
-					includes="*"
-		/>
-	</copy>
-	<exec	executable="${executable.dir}/testall"
-			dir="${executable.dir}"
-			failonerror="true">
-		<env	key="DYLD_LIBRARY_PATH"
-				value="${apr.lib.dir}:${executable.dir}/.libs:${env.DYLD_LIBRARY_PATH}"
-		/>
-		<env	key="LD_LIBRARY_PATH"
-				value="${apr.lib.dir}:${executable.dir}/.libs:${env.LD_LIBRARY_PATH}"
-		/>
-	</exec>
-</target>
-
-<target	name="build-check"
-		depends="build-testlockperf,
-					build-testshmproducer,
-					build-testshmconsumer,
-					build-testmutexscope,
-					build-testall"
-		description="Builds all test applications"
-/>
-
-<target	name="check"
-		depends="run-testlockperf, run-testall"
-		description="Runs all test applications">
-</target>
-
-<target	name="build-projects">
-		<mkdir dir="${projects.dir}" />
-		<antcall	target="build">
-			<param	name="project.if"
-					value="true"
-			/>
-			<param	name="project.type"
-					value="${project.type}"
-			/>
-			<param	name="project.compiler"
-					value="${project.compiler}"
-			/>
-			<param	name="projects.dir"
-					value="${projects.dir}"
-			/>
-			<param	name="debug"
-					value="${debug}"
-			/>
-			<param	name="projectsOnly"
-					value="true"
-			/>
-			<param	name="arch"
-					value="${arch}"
-			/>
-		</antcall>
-		<antcall target="build-check">
-			<param	name="project.if"
-					value="true"
-			/>
-			<param	name="project.type"
-					value="${project.type}"
-			/>
-			<param	name="project.compiler"
-					value="${project.compiler}"
-			/>
-			<param	name="projects.dir"
-					value="${projects.dir}"
-			/>
-			<param	name="debug"
-					value="${debug}"
-			/>
-			<param	name="projectsOnly"
-					value="true"
-			/>
-			<param	name="arch"
-					value="${arch}"
-			/>
-		</antcall>
-</target>
-
-<target	name="build-projects-vc6"
-		depends="init"
-		description="Builds project files for Microsoft Visual C++ 6">
-	<antcall target="build-projects">
-		<param	name="project.type"
-				value="msvc6"
-		/>
-		<param	name="project.compiler"
-				value="msvc"
-		/>
-		<param	name="os.family"
-				value="windows"
-		/>
-		<param	name="debug"
-				value="${debug}"
-		/>
-		<param	name="projects.dir"
-				value="${projects.dir}"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-projects-vc7"
-		depends="init"
-		description="Builds project files for Microsoft Visual Studio .NET">
-	<antcall target="build-projects">
-		<param	name="project.type"
-				value="msvc7"
-		/>
-		<param	name="project.compiler"
-				value="msvc"
-		/>
-		<param	name="os.family"
-				value="windows"
-		/>
-		<param	name="debug"
-				value="${debug}"
-		/>
-		<param	name="projects.dir"
-				value="${projects.dir}"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-projects-vc8"
-		depends="init"
-		description="Builds project files for Microsoft Visual C++ 2005">
-	<antcall target="build-projects">
-		<param	name="project.type"
-				value="msvc8"
-		/>
-		<param	name="project.compiler"
-				value="msvc"
-		/>
-		<param	name="os.family"
-				value="windows"
-		/>
-		<param	name="debug"
-				value="${debug}"
-		/>
-		<param	name="projects.dir"
-				value="${projects.dir}"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-projects-vc9"
-		depends="init"
-		description="Builds project files for Microsoft Visual C++ 2008">
-	<antcall target="build-projects">
-		<param	name="project.type"
-				value="msvc9"
-		/>
-		<param	name="project.compiler"
-				value="msvc"
-		/>
-		<param	name="os.family"
-				value="windows"
-		/>
-		<param	name="debug"
-				value="${debug}"
-		/>
-		<param	name="projects.dir"
-				value="${projects.dir}"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-projects-xcode"
-		depends="init"
-		description="Builds project files for Apple Xcode">
-	<antcall target="build-projects">
-		<param	name="project.type"
-				value="xcode"
-		/>
-		<param	name="project.compiler"
-				value="${compiler}"
-		/>
-		<param	name="os.family"
-				value="mac"
-		/>
-		<param	name="debug"
-				value="${debug}"
-		/>
-		<param	name="projects.dir"
-				value="${projects.dir}"
-		/>
-	</antcall>
-</target>
-
-</project>
diff --git a/src/ant/apr-util-build.xml b/src/ant/apr-util-build.xml
deleted file mode 100644
index 70ba3b2..0000000
--- a/src/ant/apr-util-build.xml
+++ /dev/null
@@ -1,722 +0,0 @@
-<?xml version="1.0"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
-
-	  http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-<!DOCTYPE project [
-<!ENTITY common SYSTEM 'common.xml'>
-<!ENTITY find-apr SYSTEM 'find-apr.xml'>
-<!ENTITY license '
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
-
-	  http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-'>
-]>
-
-<!--
-	This file builds APR using Apache Ant (http://ant.apache.org)
-	and the C++ compilation tasks from http://ant-contrib.sourceforge.net.
--->
-<project name="aprutil" default="check" basedir=".">
-
-&common;
-&find-apr;
-
-<property	name="src.dir"
-			location="${basedir}"
-/>
-<property	name="include.dir"
-			location="${src.dir}/include"
-/>
-<property	name="target.dir"
-			location="${basedir}/target"
-/>
-
-<target	name="usage"
-		description="Displays usage notes">
-	<echo></echo>
-</target>
-
-<target	name="init"
-		depends="common-init">
-	<condition	property="arch"
-				value="win32">
-		<isset property="is-windows" />
-	</condition>
-	<property	name="arch"
-				value="unix"
-	/>
-</target>
-
-<target	name="clean"
-		description="Deletes build products">
-	<delete dir="${target.dir}" />
-</target>
-
-<target	name="configure-check"
-		depends="init">
-	<condition	property="aprutil-config-available"
-				value="true">
-		<and>
-			<available file="${include.dir}/apu.h"						/>
-			<available file="${include.dir}/apu_want.h"					/>
-			<available file="${include.dir}/private/apu_config.h"		/>
-			<available file="${include.dir}/private/apu_select_dbm.h"	/>
-			<available file="${src.dir}/xml/expat/lib/expat.h"			/>
-			<available file="${src.dir}/xml/expat/config.h"				/>
-		</and>
-	</condition>
-</target>
-
-<target	name="win-configure"
-		depends="configure-check"
-		if="is-windows"
-		unless="aprutil-config-available">
-	<copy	tofile="${include.dir}/apu.h"
-			file="${include.dir}/apu.hw"
-	/>
-	<replaceregexp	file="${include.dir}/apu.h"
-					match="#define *APU_HAVE_APR_ICONV.*"
-					replace="#define APU_HAVE_APR_ICONV 0"
-	/>
-	<copy	tofile="${include.dir}/apu_want.h"
-			file="${include.dir}/apu_want.hw"
-	/>
-	<copy	tofile="${include.dir}/apr_ldap.h"
-			file="${include.dir}/apr_ldap.hw"
-	/>
-	<replaceregexp	file="${include.dir}/apr_ldap.h"
-					match="#define APR_HAS_LDAP.*"
-					replace="#define APR_HAS_LDAP 0"
-	/>
-	<copy	tofile="${include.dir}/private/apu_config.h"
-			file="${include.dir}/private/apu_config.hw"
-	/>
-	<copy	tofile="${include.dir}/private/apu_select_dbm.h"
-			file="${include.dir}/private/apu_select_dbm.hw"
-	/>
-	<copy	tofile="${src.dir}/xml/expat/lib/config.h"
-			file="${src.dir}/xml/expat/lib/winconfig.h"
-	/>
-
-	<!--
-		apr_dbd_odbc.c needs stdint.h, but at least on BCC it doesn't seem to be included
-		automatically. It's easier to change that using a file we already create than changing core
-		code files.
-	 -->
-	<condition	property="bcc-needs-stdint"
-				value="1"
-				else="0">
-		<and>
-			<equals arg1="${compiler}" arg2="bcc" />
-			<not>
-				<isfileselected file="${include.dir}/private/apu_config.h">
-					<contains	text="#include &lt;stdint.h&gt;"
-								ignorewhitespace="true"
-					/>
-				</isfileselected>
-			</not>
-		</and>
-	</condition>
-	<if>
-		<equals	arg1="${bcc-needs-stdint}"
-				arg2="1"
-		/>
-		<then>
-			<replace	file="${include.dir}/private/apu_config.h"
-						token="#define APU_CONFIG_H">
-				<replacevalue>#define APU_CONFIG_H
-
-#include &lt;stdint.h&gt;
-				</replacevalue>
-			</replace>
-		</then>
-	</if>
-</target>
-
-<target	name="unix-configure"
-		depends="configure-check, find-apr"
-		if="is-unix"
-		unless="aprutil-config-available">
-	<exec executable="sh" dir="${src.dir}">
-		<arg value="./configure" />
-		<arg value="--with-apr=${apr.dir}" />
-	</exec>
-	<exec executable="sh" dir="${src.dir}/xml/expat">
-		<arg value="./configure" />
-	</exec>
-</target>
-
-<target	name="configure"
-		depends="unix-configure, win-configure">
-	<condition	property="has-iconv"
-				value="1">
-		<isfileselected file="${include.dir}/apu.h">
-			<contains	text="#define APR_HAVE_ICONV 1"
-						ignorewhitespace="true"
-			/>
-		</isfileselected>
-	</condition>
-	<condition	property="has-iconv"
-				value="1">
-		<isfileselected file="${include.dir}/apu.h">
-			<contains	text="#define APU_HAVE_ICONV 1"
-						ignorewhitespace="true"
-			/>
-		</isfileselected>
-	</condition>
-	<condition	property="has-sqlite3"
-				value="1">
-		<isfileselected file="${include.dir}/apu.h">
-			<contains	text="#define APU_HAVE_SQLITE3 1"
-						ignorewhitespace="true"
-			/>
-		</isfileselected>
-	</condition>
-</target>
-
-<target	name="build-xml"
-		depends="configure"
-		description="Builds Expat">
-	<mkdir dir="${executable.dir}/apr-util-ofiles" />
-	<property	name="project.compiler"
-				value="${compiler}"
-	/>
-	<property	name="project.type"
-				value="msvc6"
-	/>
-
-	<!--
-		This only generate a project file necessary to mimic this visual studio project provided
-		with APR.
-	 -->
-	<cc	name="${project.compiler}"
-		outfile="${executable.dir}/expat"
-		subsystem="console"
-		multithreaded="true"
-		runtime="${runtime}"
-		outtype="static"
-		objdir="${executable.dir}/apr-util-ofiles"
-		warnings="none"
-		debug="${debug}"
-		projectsOnly="true">
-		<fileset	dir="${src.dir}/xml/expat/lib"
-					includes="xmlparse.c xmlrole.c xmltok.c"
-		/>
-		<fileset	dir="${src.dir}/xml/expat/lib"
-					includes="*.h"
-		/>
-		<fileset	dir="${src.dir}/xml/expat"
-					includes="*.h"
-		/>
-
-		<includepath path="${src.dir}/xml/expat/lib"	/>
-		<includepath path="${src.dir}/xml/expat"		/>
-
-		<defineset>
-			<define name="XMLPARSEAPI" value=" " />
-		</defineset>
-		<defineset	define="WIN32 COMPILED_FROM_DSP"
-					if="is-windows"
-		/>
-		<defineset	define="_HAVE_CONFIG_H _REENTRANT _GNU_SOURCE"
-					if="is-gcc"
-		/>
-		<compilerarg	value="${pic-option}"
-						if="pic-option"
-		/>
-
-		<libset libs="cw32mt" if="is-bcc" />
-		<project	type="${project.type}"
-					outfile="${projects.dir}/projects/xml"
-					if="project.if">
-			<comment>&license;</comment>
-		</project>
-	</cc>
-</target>
-
-<target	name="build"
-		depends="build-xml, find-apr"
-		description="Build library">
-	<property	name="apr.lib.prefix"
-				value=""
-	/>
-	<property	name="apr.lib.name"
-				value="apr-1"
-	/>
-	<property	name="apr.lib.suffix"
-				value=""
-	/>
-
-	<cc	name="${project.compiler}"
-		outfile="${executable.dir}/aprutil-1${lib-suffix}"
-		subsystem="console"
-		multithreaded="true"
-		runtime="${runtime}"
-		outtype="${lib.type}"
-		objdir="${executable.dir}/apr-util-ofiles"
-		warnings="none"
-		debug="${debug}"
-		projectsOnly="${projectsOnly}">
-		<fileset	dir="${src.dir}" includes="**/*.c"
-					excludes="test/*.c *.c ldap/*.c xml/expat/lib/*"
-		/>
-		<fileset	dir="${src.dir}/xml/expat/lib"
-					includes="xmlparse.c xmlrole.c xmltok.c"
-		/>
-		<fileset	dir="${src.dir}/xml/expat/lib"
-					includes="*.h"
-		/>
-		<fileset	dir="${src.dir}/xml/expat"
-					includes="*.h"
-		/>
-		<fileset	dir="${include.dir}"
-					includes="*.h"
-		/>
-		<fileset	dir="${include.dir}/private"
-					includes="*.h"
-		/>
-
-		<includepath path="${apr.include.dir}"			/>
-		<includepath path="${include.dir}"				/>
-		<includepath path="${include.dir}/private"		/>
-		<includepath path="${src.dir}/xml/expat/lib"	/>
-		<includepath path="${src.dir}/xml/expat"		/>
-
-		<defineset	define="APU_DECLARE_EXPORT"
-					if="is-shared"
-		/>
-		<defineset	define="APU_DECLARE_STATIC"
-					unless="is-shared"
-		/>
-		<defineset	define="APR_DECLARE_STATIC"
-					unless="is-apr-shared"
-		/>
-		<defineset	define="XML_STATIC"
-					unless="is-shared"
-		/>
-		<defineset>
-			<define name="XMLPARSEAPI" value=" " />
-		</defineset>
-		<defineset	define="WIN32 COMPILED_FROM_DSP HAVE_SQL_H"
-					if="is-windows"
-		/>
-		<defineset if="is-bcc">
-			<define	name="EILSEQ"
-					value="50"
-			/>
-		</defineset>
-		<defineset	define="_HAVE_CONFIG_H _REENTRANT _GNU_SOURCE"
-					if="is-gcc"
-		/>
-		<compilerarg	value="${pic-option}"
-						if="pic-option"
-		/>
-
-		<libset	dir="${executable.dir}"
-				libs="xml ${apr.lib.prefix}${apr.lib.name}${apr.lib.suffix}"
-		/>
-		<libset	libs="cw32mt"
-				if="is-bcc"
-		/>
-		<libset	libs="pthread dl"
-				if="is-unix"
-		/>
-		<libset	libs="iconv"
-				if="has-iconv"
-		/>
-		<libset	libs="sqlite3"
-				if="has-sqlite3"
-		/>
-
-		<project	type="${project.type}"
-					outfile="${projects.dir}/projects/aprutil"
-					if="project.if">
-			<comment>&license;</comment>
-			<dependency file="${projects.dir}/apr" />
-		</project>
-	</cc>
-
-	<property	name="apr.lib.dir"
-				location="${executable.dir}"
-	/>
-</target>
-
-<target name="build-test">
-	<mkdir dir="${executable.dir}/apr-util-test-ofiles" />
-	<property	name="project.compiler"
-				value="${compiler}"
-	/>
-	<property	name="project.type"
-				value="msvc6"
-	/>
-
-	<cc	name="${project.compiler}"
-		outfile="${executable.dir}/${test}"
-		subsystem="console"
-		multithreaded="true"
-		runtime="${runtime}"
-		outtype="executable"
-		objdir="${executable.dir}/apr-util-test-ofiles"
-		debug="${debug}"
-		projectsOnly="${projectsOnly}">
-		<fileset	dir="${src.dir}/test"
-					includes="${include.files}"
-					excludes="${exclude.files}"
-		/>
-
-		<includepath path="${include.dir}"		/>
-		<includepath path="${apr.include.dir}"	/>
-
-		<defineset	define="APU_DECLARE_STATIC"
-					unless="is-shared"
-		/>
-		<defineset	define="APR_DECLARE_STATIC"
-					unless="is-apr-shared"
-		/>
-		<defineset if="is-windows">
-			<define name="WIN32" value="1" />
-		</defineset>
-		<defineset	define="_HAVE_CONFIG_H _REENTRANT _GNU_SOURCE"
-					if="is-gcc"
-		/>
-		<compilerarg	value="${pic-option}"
-						if="pic-option"
-		/>
-
-		<libset	dir="${apr.lib.dir}"
-				libs="apr-1${lib-suffix}"
-				if="apr.lib.dir"
-		/>
-		<libset	libs="apr-1${lib-suffix}"
-				unless="apr.lib.dir"
-		/>
-		<libset	dir="${executable.dir}"
-				libs="aprutil-1${lib-suffix}"
-		/>
-		<libset	libs="cw32mt"
-				if="is-bcc"
-		/>
-		<libset	libs="pthread dl"
-				if="is-unix"
-		/>
-		<libset	libs="iconv"
-				if="has-iconv"
-		/>
-		<libset	libs="sqlite3"
-				if="has-sqlite3"
-		/>
-
-		<project	type="${project.type}"
-					outfile="${projects.dir}/projects/${test}"
-					if="project.if">
-			<comment>&license;</comment>
-			<dependency file="${projects.dir}/apr"						/>
-			<dependency file="${projects.dir}/aprutil" depends="apr"	/>
-		</project>
-	</cc>
-</target>
-
-<target	name="copy-apr"
-		if="is-windows">
-	<copy	todir="${executable.dir}"
-			overwrite="true">
-		<fileset	dir="${apr.lib.dir}"
-					includes="apr-1${lib-suffix}.dll"
-		/>
-	</copy>
-</target>
-
-<target	name="run-test"
-		depends="copy-apr">
-	<exec	executable="${executable.dir}/${test}"
-			dir="${executable.dir}"
-			failonerror="true">
-		<env	key="DYLD_LIBRARY_PATH"
-				value="${apr.lib.dir}:${aprutil.lib.dir}:${env.DYLD_LIBRARY_PATH}"
-		/>
-		<env	key="LD_LIBRARY_PATH"
-				value="${apr.lib.dir}:${aprutil.lib.dir}:${env.LD_LIBRARY_PATH}"
-		/>
-		<env	key="Path"
-				value="${apr.lib.dir}:${aprutil.lib.dir}:${env.Path}"
-		/>
-	</exec>
-</target>
-
-<target	name="build-testall"
-		depends="build">
-	<antcall target="build-test">
-		<param	name="test"
-				value="testall"
-		/>
-		<param	name="include.files"
-				value="**/*.c"
-		/>
-		<param	name="exclude.files"
-				value="dbd.c testssl.c echod.c sockperf.c nw*.c"
-		/>
-	</antcall>
-</target>
-
-<target	name="run-testall"
-		depends="build-testall">
-	<antcall target="run-test">
-		<param	name="test"
-				value="testall"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-dbd"
-		depends="build">
-	<antcall target="build-test">
-		<param	name="test"
-				value="dbd"
-		/>
-		<param	name="include.files"
-				value="dbd.c"
-		/>
-		<param	name="exclude.files"
-				value="*.y"
-		/>
-	</antcall>
-</target>
-
-<target	name="run-dbd"
-		depends="build-dbd">
-	<antcall target="run-test">
-		<param	name="test"
-				value="dbd"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-testssl"
-		depends="build">
-	<antcall target="build-test">
-		<param	name="test"
-				value="testssl"
-		/>
-		<param	name="include.files"
-				value="testssl.c"
-		/>
-	</antcall>
-</target>
-
-<target	name="run-testssl"
-		depends="build-testssl">
-	<antcall target="run-test">
-		<param	name="test"
-				value="testssl"
-		/>
-	</antcall>
-</target>
-
-<target name="build-echod" depends="build">
-	<antcall target="build-test">
-		<param	name="test"
-				value="echod"
-		/>
-		<param	name="include.files"
-				value="echod.c"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-sockperf"
-		depends="build">
-	<antcall target="build-test">
-		<param	name="test"
-				value="sockperf"
-		/>
-		<param	name="include.files"
-				value="sockperf.c"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-check"
-		depends="build-testall, build-dbd, build-testssl, build-echod"
-		description="Builds all tests"
-/>
-
-<target	name="check"
-		depends="build-check"
-		description="Runs all tests"
-/>
-
-<target name="build-projects">
-	<mkdir dir="${projects.dir}" />
-	<antcall target="build">
-		<param	name="project.if"
-				value="true"
-		/>
-		<param	name="project.type"
-				value="${project.type}"
-		/>
-		<param	name="project.compiler"
-				value="${project.compiler}"
-		/>
-		<param	name="projects.dir"
-				value="${projects.dir}"
-		/>
-		<param	name="debug"
-				value="${debug}"
-		/>
-		<param	name="projectsOnly"
-				value="true"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-projects-vc6"
-		depends="init"
-		description="Builds project files for Microsoft Visual C++ 6">
-	<antcall target="build-projects">
-		<param	name="projects.dir"
-				value="${projects.dir}"
-		/>
-		<param	name="project.type"
-				value="msvc6"
-		/>
-		<param	name="project.compiler"
-				value="msvc"
-		/>
-		<param	name="os.family"
-				value="windows"
-		/>
-		<param	name="projects.dir"
-				value="${projects.dir}"
-		/>
-		<param	name="debug"
-				value="${debug}"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-projects-vc7"
-		depends="init"
-		description="Builds project files for Microsoft Visual Studio .NET">
-	<antcall target="build-projects">
-		<param	name="projects.dir"
-				value="${projects.dir}"
-		/>
-		<param	name="project.type"
-				value="msvc7"
-		/>
-		<param	name="project.compiler"
-				value="msvc"
-		/>
-		<param	name="os.family"
-				value="windows"
-		/>
-		<param	name="projects.dir"
-				value="${projects.dir}"
-		/>
-		<param	name="debug"
-				value="${debug}"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-projects-vc8"
-		depends="init"
-		description="Builds project files for Microsoft Visual C++ 2005">
-	<antcall target="build-projects">
-		<param	name="projects.dir"
-				value="${projects.dir}"
-		/>
-		<param	name="project.type"
-				value="msvc8"
-		/>
-		<param	name="project.compiler"
-				value="msvc"
-		/>
-		<param	name="os.family"
-				value="windows"
-		/>
-		<param	name="projects.dir"
-				value="${projects.dir}"
-		/>
-		<param	name="debug"
-				value="${debug}"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-projects-vc9"
-		depends="init"
-		description="Builds project files for Microsoft Visual C++ 2008">
-	<antcall target="build-projects">
-		<param	name="projects.dir"
-				value="${projects.dir}"
-		/>
-		<param	name="project.type"
-				value="msvc9"
-		/>
-		<param	name="project.compiler"
-				value="msvc"
-		/>
-		<param	name="os.family"
-				value="windows"
-		/>
-		<param	name="projects.dir"
-				value="${projects.dir}"
-		/>
-		<param	name="debug"
-				value="${debug}"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-projects-xcode"
-		depends="init"
-		description="Builds project files for Apple Xcode">
-	<antcall target="build-projects">
-		<param	name="projects.dir"
-				value="${projects.dir}"
-		/>
-		<param	name="project.type"
-				value="xcode"
-		/>
-		<param	name="project.compiler"
-				value="${compiler}"
-		/>
-		<param	name="os.family"
-				value="mac"
-		/>
-		<param	name="projects.dir"
-				value="${projects.dir}"
-		/>
-		<param	name="debug"
-				value="${debug}"
-		/>
-	</antcall>
-</target>
-
-</project>
diff --git a/src/ant/common.xml b/src/ant/common.xml
index 3343b3d..1f9f192 100644
--- a/src/ant/common.xml
+++ b/src/ant/common.xml
@@ -34,8 +34,6 @@
 			value="dynamic"
 />
 
-<taskdef resource="cpptasks.tasks" />
-<typedef resource="cpptasks.types" />
 <taskdef resource="net/sf/antcontrib/antcontrib.properties" />
 
 <target name="os-detect">
@@ -124,26 +122,6 @@
 
 <target	name="common-init"
 		depends="win-init, unix-init">
-	<available	classname="net.sf.antcontrib.cpptasks.CCTask"
-				property="cctask-available" />
-	<fail unless="cctask-available">cpptasks required
-
-Use cpptasks 1.0b5 or later from
-http://ant-contrib.sourceforge.net.
-	</fail>
-
-	<available	classname="net.sf.antcontrib.cpptasks.ide.ProjectDef"
-				property="cctask-project-available" />
-		<!-- fail unless="cctask-project-available">later version of cpptasks required
-
-Required features not present in cpptasks releases prior to Feb 2005
-		</fail -->
-
-	<mkdir dir="${target.dir}" />
-	<property	name="projects.dir"
-				value="${target.dir}"
-	/>
-	<mkdir dir="${projects.dir}" />
 
 	<condition	property="is-gcc"
 				value="true">
@@ -211,27 +189,6 @@
 	<property	name="projectsOnly"
 				value="false"
 	/>
-
-	<property	name="apr.lib.name"
-				value="apr-1"
-	/>
-	<property	name="apr.sample.h"
-				value="apr_pools.h"
-	/>
-	<property	name="apr.sample.c" value="file_io/unix/dir.c"
-	/>
-	<property	name="apr-util.lib.name" value="aprutil-1"
-	/>
-	<property	name="apr-util.sample.h" value="apr_xml.h"
-	/>
-	<property	name="apr-util.sample.c" value="xml/apr_xml.c"
-	/>
-	<property	name="esmtp.lib.name" value="esmtp"
-	/>
-	<property	name="esmtp.sample.h" value="libesmtp.h"
-	/>
-	<property	name="esmtp.sample.c" value="smtp-api.c"
-	/>
 </target>
 
 <target	name="copy-if-changed-compare"
diff --git a/src/ant/esmtp-build.xml b/src/ant/esmtp-build.xml
deleted file mode 100644
index 3e7e63a..0000000
--- a/src/ant/esmtp-build.xml
+++ /dev/null
@@ -1,207 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE project [
-<!ENTITY common SYSTEM 'common.xml'>
-]>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-
-<!--
-	This file builds libesmtp using Apache Ant (http://ant.apache.org)
-	and the C++ compilation tasks from http://ant-contrib.sourceforge.net.
--->
-<project name="esmtp" default="build">
-
-&common;
-
-<property	name="src.dir"
-			location="${basedir}"
-/>
-<property	name="include.dir"
-			location="${src.dir}"
-/>
-<property	name="test.dir"
-			location="${src.dir}/test"
-/>
-<property	name="target.dir"
-			location="${basedir}/target"
-/>
-<property	name="lib.type"
-			value="shared"
-/>
-<property	name="projects.dir"
-			location="${target.dir}"
-/>
-
-<target	name="usage"
-		description="Displays usage notes on build">
-	<echo></echo>
-</target>
-
-<target	name="init"
-		depends="common-init">
-</target>
-
-<target	name="clean"
-		description="Removes build product files">
-	<delete dir="${target.dir}" />
-</target>
-
-<target	name="configure-check"
-		depends="init">
-	<condition	property="esmtp-configure-available"
-				value="true">
-		<available file="${include.dir}/config.h" />
-	</condition>
-</target>
-
-<target	name="win-configure"
-		depends="configure-check"
-		if="is-windows">
-	<antcall target="copy-if-changed">
-		<param	name="file"
-				value="${include.dir}/config.h.in"
-		/>
-		<param	name="tofile"
-				value="${include.dir}/config.h"
-		/>
-	</antcall>
-</target>
-
-<target	name="unix-configure"
-		depends="configure-check"
-		if="is-unix"
-		unless="esmtp-configure-available">
-	<!-- Shelling to configure allows cygwin to work -->
-	<exec	executable="sh"
-			dir="${src.dir}">
-		<arg value="./configure" />
-	</exec>
-</target>
-
-<target	name="configure"
-		depends="unix-configure, win-configure"
-/>
-
-<target	name="build"
-		depends="configure"
-		description="Build library">
-	<mkdir dir="${executable.dir}/libesmtp-ofiles" />
-	<property	name="project.compiler"
-				value="${compiler}"
-	/>
-
-	<cc	name="${project.compiler}"
-		outfile="${executable.dir}/esmtp${lib-suffix}"
-		subsystem="console"
-		multithreaded="true"
-		outtype="${lib.type}"
-		objdir="${executable.dir}/libesmtp-ofiles"
-		outputfileproperty="esmtp.dll"
-		debug="${debug}"
-		projectsOnly="${projectsOnly}">
-		<fileset dir="${src.dir}">
-			<include name="*.c" />
-			<exclude name="getaddrinfo.c" />
-			<exclude name="gethostbyname.c" if="is-windows" />
-			<exclude name="strdup.c" if="is-windows" />
-			<exclude name="snprintf.c" if="is-windows" />
-			<exclude name="auth-client.c" if="is-windows" />
-			<!-- exclude name="siobuf.c" if="is-windows"/ -->
-		</fileset>
-
-		<includepath	path="${include.dir}"	/>
-		<defineset		define="HAVE_CONFIG_H"	/>
-		<compilerarg	value="${pic-option}"
-						if="pic-option"
-		/>
-
-		<libset	libs="advapi32 ws2_32 mswsock rpcrt4"
-				if="is-windows"
-		/>
-		<libset	libs="ssl crypto"
-				if="is-unix"
-		/>
-		<libset	libs="cw32mt"
-				if="is-bcc"
-		/>
-
-		<project	type="${project.type}"
-					outfile="${projects.dir}/projects/libesmtp"
-					if="project.if"
-		/>
-	</cc>
-</target>
-
-<target	name="build-projects">
-	<mkdir dir="${projects.dir}" />
-	<antcall target="build">
-		<param	name="project.if"
-				value="true"
-		/>
-		<param	name="project.type"
-				value="${project.type}"
-		/>
-		<param	name="project.compiler"
-				value="${project.compiler}"
-		/>
-		<param	name="projects.dir"
-				value="${projects.dir}"
-		/>
-		<param	name="projectsOnly"
-				value="true"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-projects-vc6"
-		description="Builds project files for Microsoft Visual C++ 6">
-	<antcall target="build-projects">
-		<param	name="project.type"
-				value="msvc6"
-		/>
-		<param	name="project.compiler"
-				value="msvc"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-projects-vc8"
-		description="Builds project files for Microsoft Visual C++ 2005">
-	<antcall target="build-projects">
-		<param	name="project.type"
-				value="msvc8"
-		/>
-		<param	name="project.compiler"
-				value="msvc"
-		/>
-	</antcall>
-</target>
-
-<target	name="build-projects-xcode"
-		description="Builds project files for Apple Xcode">
-	<antcall target="build-projects">
-		<param	name="project.type"
-				value="xcode"
-		/>
-		<param	name="project.compiler"
-				value="g++"
-		/>
-	</antcall>
-</target>
-
-</project>
diff --git a/src/ant/find-apr-util.xml b/src/ant/find-apr-util.xml
deleted file mode 100644
index 10908ed..0000000
--- a/src/ant/find-apr-util.xml
+++ /dev/null
@@ -1,369 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-
-<target	name="find-apr-util-src"
-		depends="init">
-	<condition	property="apr-util.dir"
-				value="${with-apr-util}">
-		<available file="${with-apr-util}" />
-	</condition>
-	<condition	property="apr-util.src.dir"
-				value="${apr-util.dir}">
-		<available file="${apr-util.dir}/${apr-util.sample.c}" />
-	</condition>
-	<condition	property="apr-util.src.dir"
-				value="../apr-util">
-		<available file="../apr-util/${apr-util.sample.c}" />
-	</condition>
-</target>
-
-<target	name="find-apr-util-lib"
-		depends="find-apr-util-src"
-		unless="force-ant">
-	<condition	property="apr-util.lib.file"
-				value="${apr-util.dir}/lib${apr-util.lib.name}.la">
-		<available file="${apr-util.dir}/lib${apr-util.lib.name}.la" />
-	</condition>
-	<condition	property="apr-util.lib.file"
-				value="${apr-util.dir}/lib${apr-util.lib.name}.dylib">
-		<available file="${apr-util.dir}/lib${apr-util.lib.name}.dylib" />
-	</condition>
-	<condition	property="apr-util.lib.file"
-				value="${apr-util.dir}/lib${apr-util.lib.name}.so">
-		<available file="${apr-util.dir}/lib${apr-util.lib.name}.so" />
-	</condition>
-	<condition	property="apr-util.lib.file"
-				value="${apr-util.dir}/lib${apr-util.lib.name}.a">
-		<available file="${apr-util.dir}/lib${apr-util.lib.name}.a" />
-	</condition>
-	<condition	property="apr-util.lib.file"
-				value="${apr-util.dir}/${apr-util.lib.name}.lib">
-		<available file="${apr-util.dir}/${apr-util.lib.name}.lib" />
-	</condition>
-	<condition	property="apr-util.lib.file.dir"
-				value="${apr-util.dir}">
-		<isset property="apr-util.lib.file" />
-	</condition>
-
-	<condition	property="apr-util.lib.file"
-				value="${apr-util.dir}/.libs/lib${apr-util.lib.name}.la">
-		<available file="${apr-util.dir}/.libs/lib${apr-util.lib.name}.la" />
-	</condition>
-	<condition	property="apr-util.lib.file"
-				value="${apr-util.dir}/.libs/lib${apr-util.lib.name}.dylib">
-		<available file="${apr-util.dir}/.libs/lib${apr-util.lib.name}.dylib" />
-	</condition>
-	<condition	property="apr-util.lib.file"
-				value="${apr-util.dir}/.libs/lib${apr-util.lib.name}.so">
-		<available file="${apr-util.dir}/.libs/lib${apr-util.lib.name}.so" />
-	</condition>
-	<condition	property="apr-util.lib.file"
-				value="${apr-util.dir}/.libs/lib${apr-util.lib.name}.a">
-		<available file="${apr-util.dir}/.libs/lib${apr-util.lib.name}.a" />
-	</condition>
-	<condition	property="apr-util.lib.file"
-				value="${apr-util.dir}/.libs/${apr-util.lib.name}.lib">
-		<available file="${apr-util.dir}/.libs/${apr-util.lib.name}.lib" />
-	</condition>
-	<condition	property="apr-util.lib.file.dir"
-				value="${apr-util.dir}/.libs">
-		<isset property="apr-util.lib.file" />
-	</condition>
-
-	<!-- Start looking at candidates in /usr -->
-	<condition	property="apr-util.lib.file"
-				value="/usr/lib/lib${apr-util.lib.name}.la">
-		<available file="/usr/lib/lib${apr-util.lib.name}.la" />
-	</condition>
-	<condition	property="apr-util.lib.file"
-				value="/usr/lib/lib${apr-util.lib.name}.dylib">
-		<available file="/usr/lib/lib${apr-util.lib.name}.dylib" />
-	</condition>
-	<condition	property="apr-util.lib.file"
-				value="/usr/lib/lib${apr-util.lib.name}.so">
-		<available file="/usr/lib/lib${apr-util.lib.name}.so" />
-	</condition>
-	<condition	property="apr-util.lib.file"
-				value="/usr/lib/lib${apr-util.lib.name}.a">
-		<available file="/usr/lib/lib${apr-util.lib.name}.a" />
-	</condition>
-	<condition	property="apr-util.dir" value="/usr">
-		<isset property="apr-util.lib.file" />
-	</condition>
-	<condition	property="apr-util.lib.file.dir" value="/usr/lib">
-		<isset property="apr-util.lib.file" />
-	</condition>
-
-	<!-- start looking at candidates in /usr/local -->
-	<condition	property="apr-util.lib.file"
-				value="/usr/local/lib/lib${apr-util.lib.name}.la">
-		<available file="/usr/local/lib/lib${apr-util.lib.name}.la" />
-	</condition>
-	<condition	property="apr-util.lib.file"
-				value="/usr/local/lib/lib${apr-util.lib.name}.dylib">
-		<available file="/usr/local/lib/lib${apr-util.lib.name}.dylib" />
-	</condition>
-	<condition	property="apr-util.lib.file"
-				value="/usr/local/lib/lib${apr-util.lib.name}.so">
-		<available file="/usr/local/lib/lib${apr-util.lib.name}.so" />
-	</condition>
-	<condition	property="apr-util.lib.file"
-				value="/usr/local/lib/lib${apr-util.lib.name}.a">
-		<available file="/usr/local/lib/lib${apr-util.lib.name}.a" />
-	</condition>
-	<condition	property="apr-util.dir" value="/usr/local">
-		<isset property="apr-util.lib.file" />
-	</condition>
-	<condition	property="apr-util.lib.file.dir" value="/usr/local/lib">
-		<isset property="apr-util.lib.file" />
-	</condition>
-
-	<property	name="relative-apr-util"
-				location="../apr-util"
-	/>
-	<condition	property="apr-util.dir"
-				value="${relative-apr-util}">
-		<available file="${relative-apr-util}" />
-	</condition>
-	<condition	property="apr-util.lib.file"
-				value="${apr-util.dir}/lib${apr-util.lib.name}.la">
-		<available file="${apr-util.dir}/lib${apr-util.lib.name}.la" />
-	</condition>
-	<condition	property="apr-util.lib.file"
-				value="${apr-util.dir}/lib${apr-util.lib.name}.dylib">
-		<available file="${apr-util.dir}/lib${apr-util.lib.name}.dylib" />
-	</condition>
-	<condition	property="apr-util.lib.file"
-				value="${apr-util.dir}/lib${apr-util.lib.name}.so">
-		<available file="${apr-util.dir}/lib${apr-util.lib.name}.so" />
-	</condition>
-	<condition	property="apr-util.lib.file"
-				value="${apr-util.dir}/lib${apr-util.lib.name}.a">
-		<available file="${apr-util.dir}/lib${apr-util.lib.name}.a" />
-	</condition>
-	<condition	property="apr-util.lib.file"
-				value="${apr-util.dir}/${apr-util.lib.name}.lib">
-		<available file="${apr-util.dir}/${apr-util.lib.name}.lib" />
-	</condition>
-	<condition	property="apr-util.lib.file.dir"
-				value="${apr-util.dir}">
-		<isset property="apr-util.lib.file" />
-	</condition>
-
-	<condition	property="apr-util.lib.file"
-				value="${apr-util.dir}/.libs/lib${apr-util.lib.name}.la">
-		<available file="${apr-util.dir}/.libs/lib${apr-util.lib.name}.la" />
-	</condition>
-	<condition	property="apr-util.lib.file"
-				value="${apr-util.dir}/.libs/lib${apr-util.lib.name}.dylib">
-		<available file="${apr-util.dir}/.libs/lib${apr-util.lib.name}.dylib" />
-	</condition>
-	<condition	property="apr-util.lib.file"
-				value="${apr-util.dir}/.libs/lib${apr-util.lib.name}.so">
-		<available file="${apr-util.dir}/.libs/lib${apr-util.lib.name}.so" />
-	</condition>
-	<condition	property="apr-util.lib.file"
-				value="${apr-util.dir}/.libs/lib${apr-util.lib.name}.a">
-		<available file="${apr-util.dir}/.libs/lib${apr-util.lib.name}.a" />
-	</condition>
-	<condition	property="apr-util.lib.file.dir"
-				value="${apr-util.dir}/.libs">
-		<isset property="apr-util.lib.file" />
-	</condition>
-	<fail unless="apr-util.dir">Unable to locate apr-util base directory.</fail>
-
-	<!-- Static debug libraries in APR's VC6 projects typical location (ignored unless debug build) -->
-	<condition	property="apr-util.lib.file"
-		value="${apr-util.dir}/LibD/${apr-util.lib.name}.lib">
-		<and>
-			<isset property="is-debug" />
-			<available file="${apr-util.dir}/LibD/${apr-util.lib.name}.lib" />
-		</and>
-	</condition>
-	<condition	property="apr-util.lib.file.dir"
-				value="${apr-util.dir}/LibD">
-		<isset property="apr-util.lib.file" />
-	</condition>
-
-	<!-- Shared debug libraries in APR's VC6 projects typical location (ignored unless debug build) -->
-	<condition	property="apr-util.lib.file"
-				value="${apr-util.dir}/Debug/lib${apr-util.lib.name}.lib">
-		<and>
-			<isset property="is-debug" />
-			<available file="${apr-util.dir}/Debug/lib${apr-util.lib.name}.lib" />
-		</and>
-	</condition>
-	<condition	property="apr-util.lib.file.dir"
-				value="${apr-util.dir}/Debug">
-		<isset property="apr-util.lib.file" />
-	</condition>
-
-	<!-- Static release libraries in APR's VC6 projects typical location (ignored unless debug build) -->
-	<condition	property="apr-util.lib.file"
-				value="${apr-util.dir}/LibR/${apr-util.lib.name}.lib">
-		<available file="${apr-util.dir}/LibR/${apr-util.lib.name}.lib" />
-	</condition>
-	<condition	property="apr-util.lib.file.dir"
-				value="${apr-util.dir}/LibR">
-		<isset property="apr-util.lib.file" />
-	</condition>
-
-	<!-- Shared release libraries in APR's VC6 projects typical location -->
-	<condition	property="apr-util.lib.file"
-				value="${apr-util.dir}/Release/lib${apr-util.lib.name}.lib">
-		<available file="${apr-util.dir}/Release/lib${apr-util.lib.name}.lib" />
-	</condition>
-	<condition	property="apr-util.lib.file.dir"
-				value="${apr-util.dir}/Release">
-		<isset property="apr-util.lib.file" />
-	</condition>
-
-	<condition	property="apr-util.lib.dir"
-				value="${apr-util.lib.file.dir}">
-		<and>
-			<isset property="apr-util.lib.file.dir" />
-			<not>
-				<or>
-					<!--  default search path -->
-					<equals arg1="${apr-util.lib.file.dir}" arg2="/usr" />
-				</or>
-			</not>
-		</and>
-	</condition>
-
-	<condition	property="apr-util.lib.suffix"
-				value="d">
-		<or>
-			<contains	string="${apr-util.lib.file}"
-						substring="/lib${apr-util.lib.name}d."
-			/>
-			<contains	string="${apr-util.lib.file}"
-						substring="/${apr-util.lib.name}d."
-			/>
-		</or>
-	</condition>
-	<condition	property="apr-util.lib.suffix"
-				value="D">
-		<or>
-			<contains	string="${apr-util.lib.file}"
-						substring="/lib${apr-util.lib.name}D."
-			/>
-			<contains	string="${apr-util.lib.file}"
-						substring="/${apr-util.lib.name}D."
-			/>
-		</or>
-	</condition>
-	<condition	property="apr-util.lib.suffix"
-				value="">
-		<isset property="apr-util.lib.file" />
-	</condition>
-
-	<condition	property="apr-util.lib.prefix"
-				value="lib">
-		<or>
-			<contains	string="[${apr-util.lib.file}]"
-						substring="/lib${apr-util.lib.name}.lib]"
-			/>
-		</or>
-	</condition>
-	<condition	property="apr-util.lib.prefix"
-				value="">
-		<isset property="apr-util.lib.file" />
-	</condition>
-
-	<condition	property="apr-util.lib.type"
-				value="shared">
-		<or>
-			<contains	string="${apr-util.lib.file}]"
-						substring=".dylib]"
-						casesensitive="no"
-			/>
-			<contains	string="${apr-util.lib.file}]"
-						substring=".so]"
-						casesensitive="no"
-			/>
-			<contains	string="${apr-util.lib.file}]"
-						substring=".la]"
-						casesensitive="no"
-			/>
-			<and>
-				<!--
-					If we have just a .lib, guess based on file size. Import libs should be much
-					smaller.
-				 -->
-				<contains	string="${apr-util.lib.file}]"
-							substring=".lib]"
-							casesensitive="no"
-				/>
-				<isfileselected file="${apr-util.lib.file}">
-					<size value="250000" when="less" />
-				</isfileselected>
-			</and>
-		</or>
-	</condition>
-
-	<condition	property="apr-util.lib.type"
-				value="static">
-		<isset property="apr-util.lib.file" />
-	</condition>
-</target>
-
-<target	name="find-apr-util"
-		depends="find-apr-util-lib">
-	<!--
-		Use character ref to prevent directory name from being changed on global search and
-		replacements.
-	 -->
-	<condition	property="apr-util.include.dir"
-				value="${apr-util.dir}/include/ap&#x72;-1.0">
-		<available file="${apr-util.dir}/include/ap&#x72;-1.0/${apr-util.sample.h}" />
-	</condition>
-	<condition	property="apr-util.include.dir"
-				value="${apr-util.dir}/include/ap&#x72;-1">
-		<available file="${apr-util.dir}/include/ap&#x72;-1/${apr-util.sample.h}" />
-	</condition>
-	<condition	property="apr-util.include.dir"
-				value="${apr-util.dir}/include">
-		<available file="${apr-util.dir}/include/${apr-util.sample.h}" />
-	</condition>
-	<condition	property="apr-util.include.dir"
-				value="${apr-util.dir}/../usr/include/ap&#x72;-1">
-		<available file="${apr-util.dir}/../usr/include/ap&#x72;-1/${apr-util.sample.h}" />
-	</condition>
-	<condition	property="apr-util.include.dir"
-				value="${apr-util.src.dir}/include">
-		<available file="${apr-util.src.dir}/include/${apr-util.sample.h}" />
-	</condition>
-
-	<condition	property="apr-util.dir"
-				value="${apr-util.src.dir}">
-		<isset property="apr-util.src.dir" />
-	</condition>
-
-	<echo>apr-util-find:
-apr-util.dir=${apr-util.dir}
-apr-util.include.dir=${apr-util.include.dir}
-apr-util.src.dir=${apr-util.src.dir}
-apr-util.lib.file=${apr-util.lib.file}
-apr-util.lib.file.dir=${apr-util.lib.file.dir}
-apr-util.lib.dir=${apr-util.lib.dir}
-apr-util.lib.prefix=${apr-util.lib.prefix}
-apr-util.lib.suffix=${apr-util.lib.suffix}
-apr-util.lib.type=${apr-util.lib.type}
-	</echo>
-</target>
diff --git a/src/ant/find-apr.xml b/src/ant/find-apr.xml
deleted file mode 100644
index d29d7aa..0000000
--- a/src/ant/find-apr.xml
+++ /dev/null
@@ -1,370 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-
-<target	name="find-apr-src"
-		depends="init">
-	<condition	property="apr.dir"
-				value="${with-apr}">
-		<available file="${with-apr}" />
-	</condition>
-	<condition	property="apr.src.dir"
-				value="${apr.dir}">
-		<available file="${apr.dir}/${apr.sample.c}" />
-	</condition>
-	<condition	property="apr.src.dir"
-				value="../apr">
-		<available file="../apr/${apr.sample.c}" />
-	</condition>
-</target>
-
-<target	name="find-apr-lib"
-		depends="find-apr-src"
-		unless="force-ant">
-	<condition	property="apr.lib.file"
-				value="${apr.dir}/lib${apr.lib.name}.la">
-		<available file="${apr.dir}/lib${apr.lib.name}.la" />
-	</condition>
-	<condition	property="apr.lib.file"
-				value="${apr.dir}/lib${apr.lib.name}.dylib">
-		<available file="${apr.dir}/lib${apr.lib.name}.dylib" />
-	</condition>
-	<condition	property="apr.lib.file"
-				value="${apr.dir}/lib${apr.lib.name}.so">
-		<available file="${apr.dir}/lib${apr.lib.name}.so" />
-	</condition>
-	<condition	property="apr.lib.file"
-				value="${apr.dir}/lib${apr.lib.name}.a">
-		<available file="${apr.dir}/lib${apr.lib.name}.a" />
-	</condition>
-	<condition	property="apr.lib.file"
-				value="${apr.dir}/${apr.lib.name}.lib">
-		<available file="${apr.dir}/${apr.lib.name}.lib" />
-	</condition>
-	<condition	property="apr.lib.file.dir"
-				value="${apr.dir}">
-		<isset property="apr.lib.file" />
-	</condition>
-
-	<condition	property="apr.lib.file"
-				value="${apr.dir}/.libs/lib${apr.lib.name}.la">
-		<available file="${apr.dir}/.libs/lib${apr.lib.name}.la" />
-	</condition>
-	<condition	property="apr.lib.file"
-				value="${apr.dir}/.libs/lib${apr.lib.name}.dylib">
-		<available file="${apr.dir}/.libs/lib${apr.lib.name}.dylib" />
-	</condition>
-	<condition	property="apr.lib.file"
-				value="${apr.dir}/.libs/lib${apr.lib.name}.so">
-		<available file="${apr.dir}/.libs/lib${apr.lib.name}.so" />
-	</condition>
-	<condition	property="apr.lib.file"
-				value="${apr.dir}/.libs/lib${apr.lib.name}.a">
-		<available file="${apr.dir}/.libs/lib${apr.lib.name}.a" />
-	</condition>
-	<condition	property="apr.lib.file"
-				value="${apr.dir}/.libs/${apr.lib.name}.lib">
-		<available file="${apr.dir}/.libs/${apr.lib.name}.lib" />
-	</condition>
-	<condition	property="apr.lib.file.dir"
-				value="${apr.dir}/.libs">
-		<isset property="apr.lib.file" />
-	</condition>
-
-	<!-- Start looking at candidates in /usr -->
-	<condition	property="apr.lib.file"
-				value="/usr/lib/lib${apr.lib.name}.la">
-		<available file="/usr/lib/lib${apr.lib.name}.la" />
-	</condition>
-	<condition	property="apr.lib.file"
-				value="/usr/lib/lib${apr.lib.name}.dylib">
-		<available file="/usr/lib/lib${apr.lib.name}.dylib" />
-	</condition>
-	<condition	property="apr.lib.file"
-				value="/usr/lib/lib${apr.lib.name}.so">
-		<available file="/usr/lib/lib${apr.lib.name}.so" />
-	</condition>
-	<condition	property="apr.lib.file"
-				value="/usr/lib/lib${apr.lib.name}.a">
-		<available file="/usr/lib/lib${apr.lib.name}.a" />
-	</condition>
-	<condition	property="apr.dir" value="/usr">
-		<isset property="apr.lib.file" />
-	</condition>
-	<condition	property="apr.lib.file.dir"
-				value="/usr/lib">
-		<isset property="apr.lib.file" />
-	</condition>
-
-	<!--  start looking at candidates  in /usr/local -->
-	<condition	property="apr.lib.file"
-				value="/usr/local/lib/lib${apr.lib.name}.la">
-		<available file="/usr/local/lib/lib${apr.lib.name}.la" />
-	</condition>
-	<condition	property="apr.lib.file"
-				value="/usr/local/lib/lib${apr.lib.name}.dylib">
-		<available file="/usr/local/lib/lib${apr.lib.name}.dylib" />
-	</condition>
-	<condition	property="apr.lib.file"
-				value="/usr/local/lib/lib${apr.lib.name}.so">
-		<available file="/usr/local/lib/lib${apr.lib.name}.so" />
-	</condition>
-	<condition	property="apr.lib.file"
-				value="/usr/local/lib/lib${apr.lib.name}.a">
-		<available file="/usr/local/lib/lib${apr.lib.name}.a" />
-	</condition>
-	<condition	property="apr.dir"
-				value="/usr/local">
-		<isset property="apr.lib.file" />
-	</condition>
-	<condition	property="apr.lib.file.dir"
-				value="/usr/local/lib">
-		<isset property="apr.lib.file" />
-	</condition>
-
-	<property	name="relative-apr"
-				location="../apr"
-	/>
-	<condition	property="apr.dir"
-				value="${relative-apr}">
-		<available file="${relative-apr}" />
-	</condition>
-	<condition	property="apr.lib.file"
-				value="${apr.dir}/lib${apr.lib.name}.la">
-		<available file="${apr.dir}/lib${apr.lib.name}.la" />
-	</condition>
-	<condition	property="apr.lib.file"
-				value="${apr.dir}/lib${apr.lib.name}.dylib">
-		<available file="${apr.dir}/lib${apr.lib.name}.dylib" />
-	</condition>
-	<condition	property="apr.lib.file"
-				value="${apr.dir}/lib${apr.lib.name}.so">
-		<available file="${apr.dir}/lib${apr.lib.name}.so" />
-	</condition>
-	<condition	property="apr.lib.file"
-				value="${apr.dir}/lib${apr.lib.name}.a">
-		<available file="${apr.dir}/lib${apr.lib.name}.a" />
-	</condition>
-	<condition	property="apr.lib.file"
-				value="${apr.dir}/${apr.lib.name}.lib">
-		<available file="${apr.dir}/${apr.lib.name}.lib" />
-	</condition>
-	<condition	property="apr.lib.file.dir" value="${apr.dir}">
-		<isset property="apr.lib.file" />
-	</condition>
-
-	<condition	property="apr.lib.file"
-				value="${apr.dir}/.libs/lib${apr.lib.name}.la">
-		<available file="${apr.dir}/.libs/lib${apr.lib.name}.la" />
-	</condition>
-	<condition	property="apr.lib.file"
-				value="${apr.dir}/.libs/lib${apr.lib.name}.dylib">
-		<available file="${apr.dir}/.libs/lib${apr.lib.name}.dylib" />
-	</condition>
-	<condition	property="apr.lib.file"
-				value="${apr.dir}/.libs/lib${apr.lib.name}.so">
-		<available file="${apr.dir}/.libs/lib${apr.lib.name}.so" />
-	</condition>
-	<condition	property="apr.lib.file"
-				value="${apr.dir}/.libs/lib${apr.lib.name}.a">
-		<available file="${apr.dir}/.libs/lib${apr.lib.name}.a" />
-	</condition>
-	<condition	property="apr.lib.file.dir" value="${apr.dir}/.libs">
-		<isset property="apr.lib.file" />
-	</condition>
-	<fail unless="apr.dir">Unable to locate apr base directory.</fail>
-
-	<!-- Static debug libraries in APR's VC6 projects typical location (ignored unless debug build) -->
-	<condition	property="apr.lib.file"
-				value="${apr.dir}/LibD/${apr.lib.name}.lib">
-		<and>
-			<isset property="is-debug" />
-			<available file="${apr.dir}/LibD/${apr.lib.name}.lib" />
-		</and>
-	</condition>
-	<condition	property="apr.lib.file.dir"
-				value="${apr.dir}/LibD">
-		<isset property="apr.lib.file" />
-	</condition>
-
-	<!-- Shared debug libraries in APR's VC6 projects typical location (ignored unless debug build) -->
-	<condition	property="apr.lib.file"
-				value="${apr.dir}/Debug/lib${apr.lib.name}.lib">
-		<and>
-			<isset property="is-debug" />
-			<available file="${apr.dir}/Debug/lib${apr.lib.name}.lib" />
-		</and>
-	</condition>
-	<condition	property="apr.lib.file.dir"
-				value="${apr.dir}/Debug">
-		<isset property="apr.lib.file" />
-	</condition>
-
-	<!-- Static release libraries in APR's VC6 projects typical location (ignored unless debug build) -->
-	<condition	property="apr.lib.file"
-				value="${apr.dir}/LibR/${apr.lib.name}.lib">
-		<available file="${apr.dir}/LibR/${apr.lib.name}.lib" />
-	</condition>
-	<condition	property="apr.lib.file.dir"
-				value="${apr.dir}/LibR">
-		<isset property="apr.lib.file" />
-	</condition>
-
-	<!-- Shared release libraries in APR's VC6 projects typical location -->
-	<condition	property="apr.lib.file"
-				value="${apr.dir}/Release/lib${apr.lib.name}.lib">
-		<available file="${apr.dir}/Release/lib${apr.lib.name}.lib" />
-	</condition>
-	<condition	property="apr.lib.file.dir"
-				value="${apr.dir}/Release">
-		<isset property="apr.lib.file" />
-	</condition>
-
-	<condition	property="apr.lib.dir"
-				value="${apr.lib.file.dir}">
-		<and>
-			<isset property="apr.lib.file.dir" />
-			<not>
-				<or>
-					<!--  default search path -->
-					<equals arg1="${apr.lib.file.dir}" arg2="/usr" />
-				</or>
-			</not>
-		</and>
-	</condition>
-
-	<condition	property="apr.lib.suffix"
-				value="d">
-		<or>
-			<contains	string="${apr.lib.file}"
-						substring="/lib${apr.lib.name}d."
-			/>
-			<contains	string="${apr.lib.file}"
-						substring="/${apr.lib.name}d."
-			/>
-		</or>
-	</condition>
-	<condition	property="apr.lib.suffix"
-				value="D">
-		<or>
-			<contains	string="${apr.lib.file}"
-						substring="/lib${apr.lib.name}D."
-			/>
-			<contains	string="${apr.lib.file}"
-						substring="/${apr.lib.name}D."
-			/>
-		</or>
-	</condition>
-	<condition	property="apr.lib.suffix"
-				value="">
-		<isset property="apr.lib.file" />
-	</condition>
-
-	<condition	property="apr.lib.prefix"
-				value="lib">
-		<or>
-			<contains	string="[${apr.lib.file}]"
-						substring="/lib${apr.lib.name}.lib]"
-			/>
-		</or>
-	</condition>
-	<condition	property="apr.lib.prefix"
-				value="">
-		<isset property="apr.lib.file" />
-	</condition>
-
-	<condition	property="apr.lib.type"
-				value="shared">
-		<or>
-			<contains	string="${apr.lib.file}]"
-						substring=".dylib]"
-						casesensitive="no"
-			/>
-			<contains	string="${apr.lib.file}]"
-						substring=".so]"
-						casesensitive="no"
-			/>
-			<contains	string="${apr.lib.file}]"
-						substring=".la]"
-						casesensitive="no"
-			/>
-			<and>
-				<!--
-					If we have just a .lib, guess based on file size. Import libs should be much
-					smaller.
-				 -->
-				<contains	string="${apr.lib.file}]"
-							substring=".lib]"
-							casesensitive="no"
-				/>
-				<isfileselected file="${apr.lib.file}">
-					<size value="250000" when="less" />
-				</isfileselected>
-			</and>
-		</or>
-	</condition>
-
-	<condition	property="apr.lib.type"
-				value="static">
-		<isset property="apr.lib.file" />
-	</condition>
-</target>
-
-<target	name="find-apr"
-		depends="find-apr-lib">
-	<!--
-		Use character ref to prevent directory name from being changed on global search and
-		replacements.
-	 -->
-	<condition	property="apr.include.dir"
-				value="${apr.dir}/include/ap&#x72;-1.0">
-		<available file="${apr.dir}/include/ap&#x72;-1.0/${apr.sample.h}" />
-	</condition>
-	<condition	property="apr.include.dir"
-				value="${apr.dir}/include/ap&#x72;-1">
-		<available file="${apr.dir}/include/ap&#x72;-1/${apr.sample.h}" />
-	</condition>
-	<condition	property="apr.include.dir"
-				value="${apr.dir}/include">
-		<available file="${apr.dir}/include/${apr.sample.h}" />
-	</condition>
-	<condition	property="apr.include.dir"
-				value="${apr.dir}/../usr/include/ap&#x72;-1">
-		<available file="${apr.dir}/../usr/include/ap&#x72;-1/${apr.sample.h}" />
-	</condition>
-	<condition	property="apr.include.dir"
-				value="${apr.src.dir}/include">
-		<available file="${apr.src.dir}/include/${apr.sample.h}" />
-	</condition>
-
-	<condition	property="apr.dir"
-				value="${apr.src.dir}">
-		<isset property="apr.src.dir" />
-	</condition>
-
-	<echo>apr-find:
-apr.dir=${apr.dir}
-apr.include.dir=${apr.include.dir}
-apr.src.dir=${apr.src.dir}
-apr.lib.file=${apr.lib.file}
-apr.lib.file.dir=${apr.lib.file.dir}
-apr.lib.dir=${apr.lib.dir}
-apr.lib.prefix=${apr.lib.prefix}
-apr.lib.suffix=${apr.lib.suffix}
-apr.lib.type=${apr.lib.type}
-	</echo>
-</target>
diff --git a/src/ant/find-libesmtp.xml b/src/ant/find-libesmtp.xml
deleted file mode 100644
index 2767658..0000000
--- a/src/ant/find-libesmtp.xml
+++ /dev/null
@@ -1,363 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-
-<target	name="find-esmtp-src"
-		depends="init">
-	<condition	property="esmtp.dir" value="${with-libesmtp}">
-		<available file="${with-libesmtp}" />
-	</condition>
-	<condition	property="esmtp.src.dir" value="${esmtp.dir}">
-		<available file="${esmtp.dir}/${esmtp.sample.c}" />
-	</condition>
-	<condition	property="esmtp.src.dir" value="../libesmtp">
-		<available file="../libesmtp/${esmtp.sample.c}" />
-	</condition>
-</target>
-
-<target	name="find-esmtp-lib"
-		depends="find-esmtp-src"
-		if="has-libesmtp"
-		unless="force-ant">
-	<condition	property="esmtp.lib.file"
-				value="${esmtp.dir}/lib${esmtp.lib.name}.la">
-		<available file="${esmtp.dir}/lib${esmtp.lib.name}.la" />
-	</condition>
-	<condition	property="esmtp.lib.file"
-				value="${esmtp.dir}/lib${esmtp.lib.name}.dylib">
-		<available file="${esmtp.dir}/lib${esmtp.lib.name}.dylib" />
-	</condition>
-	<condition	property="esmtp.lib.file"
-				value="${esmtp.dir}/lib${esmtp.lib.name}.so">
-		<available file="${esmtp.dir}/lib${esmtp.lib.name}.so" />
-	</condition>
-	<condition	property="esmtp.lib.file"
-				value="${esmtp.dir}/lib${esmtp.lib.name}.a">
-		<available file="${esmtp.dir}/lib${esmtp.lib.name}.a" />
-	</condition>
-	<condition	property="esmtp.lib.file"
-				value="${esmtp.dir}/${esmtp.lib.name}.lib">
-		<available file="${esmtp.dir}/${esmtp.lib.name}.lib" />
-	</condition>
-	<condition	property="esmtp.lib.file.dir"
-				value="${esmtp.dir}">
-		<isset property="esmtp.lib.file" />
-	</condition>
-
-	<condition	property="esmtp.lib.file"
-				value="${esmtp.dir}/.libs/lib${esmtp.lib.name}.la">
-		<available file="${esmtp.dir}/.libs/lib${esmtp.lib.name}.la" />
-	</condition>
-	<condition	property="esmtp.lib.file"
-				value="${esmtp.dir}/.libs/lib${esmtp.lib.name}.dylib">
-		<available file="${esmtp.dir}/.libs/lib${esmtp.lib.name}.dylib" />
-	</condition>
-	<condition	property="esmtp.lib.file"
-				value="${esmtp.dir}/.libs/lib${esmtp.lib.name}.so">
-		<available file="${esmtp.dir}/.libs/lib${esmtp.lib.name}.so" />
-	</condition>
-	<condition	property="esmtp.lib.file"
-				value="${esmtp.dir}/.libs/lib${esmtp.lib.name}.a">
-		<available file="${esmtp.dir}/.libs/lib${esmtp.lib.name}.a" />
-	</condition>
-	<condition	property="esmtp.lib.file"
-				value="${esmtp.dir}/.libs/${esmtp.lib.name}.lib">
-		<available file="${esmtp.dir}/.libs/${esmtp.lib.name}.lib" />
-	</condition>
-	<condition	property="esmtp.lib.file.dir" value="${esmtp.dir}/.libs">
-		<isset property="esmtp.lib.file" />
-	</condition>
-
-	<!-- Start looking at candidates in /usr -->
-	<condition	property="esmtp.lib.file"
-				value="/usr/lib/lib${esmtp.lib.name}.la">
-		<available file="/usr/lib/lib${esmtp.lib.name}.la" />
-	</condition>
-	<condition	property="esmtp.lib.file"
-				value="/usr/lib/lib${esmtp.lib.name}.dylib">
-		<available file="/usr/lib/lib${esmtp.lib.name}.dylib" />
-	</condition>
-	<condition	property="esmtp.lib.file"
-				value="/usr/lib/lib${esmtp.lib.name}.so">
-		<available file="/usr/lib/lib${esmtp.lib.name}.so" />
-	</condition>
-	<condition	property="esmtp.lib.file"
-				value="/usr/lib/lib${esmtp.lib.name}.a">
-		<available file="/usr/lib/lib${esmtp.lib.name}.a" />
-	</condition>
-	<condition	property="esmtp.dir" value="/usr">
-		<isset property="esmtp.lib.file" />
-	</condition>
-	<condition	property="esmtp.lib.file.dir" value="/usr/lib">
-		<isset property="esmtp.lib.file" />
-	</condition>
-
-	<!-- Start looking at candidates in /usr/local -->
-	<condition	property="esmtp.lib.file"
-				value="/usr/local/lib/lib${esmtp.lib.name}.la">
-		<available file="/usr/local/lib/lib${esmtp.lib.name}.la" />
-	</condition>
-	<condition	property="esmtp.lib.file"
-				value="/usr/local/lib/lib${esmtp.lib.name}.dylib">
-		<available file="/usr/local/lib/lib${esmtp.lib.name}.dylib" />
-	</condition>
-	<condition	property="esmtp.lib.file"
-				value="/usr/local/lib/lib${esmtp.lib.name}.so">
-		<available file="/usr/local/lib/lib${esmtp.lib.name}.so" />
-	</condition>
-	<condition	property="esmtp.lib.file"
-				value="/usr/local/lib/lib${esmtp.lib.name}.a">
-		<available file="/usr/local/lib/lib${esmtp.lib.name}.a" />
-	</condition>
-	<condition	property="esmtp.dir" value="/usr/local">
-		<isset property="esmtp.lib.file" />
-	</condition>
-	<condition	property="esmtp.lib.file.dir" value="/usr/local/lib">
-		<isset property="esmtp.lib.file" />
-	</condition>
-
-	<property	name="relative-esmtp"
-				location="../libesmtp"
-	/>
-	<condition	property="esmtp.dir" value="${relative-esmtp}">
-		<available file="${relative-esmtp}" />
-	</condition>
-	<condition	property="esmtp.lib.file"
-				value="${esmtp.dir}/lib${esmtp.lib.name}.la">
-		<available file="${esmtp.dir}/lib${esmtp.lib.name}.la" />
-	</condition>
-	<condition	property="esmtp.lib.file"
-				value="${esmtp.dir}/lib${esmtp.lib.name}.dylib">
-		<available file="${esmtp.dir}/lib${esmtp.lib.name}.dylib" />
-	</condition>
-	<condition	property="esmtp.lib.file"
-				value="${esmtp.dir}/lib${esmtp.lib.name}.so">
-		<available file="${esmtp.dir}/lib${esmtp.lib.name}.so" />
-	</condition>
-	<condition	property="esmtp.lib.file"
-				value="${esmtp.dir}/lib${esmtp.lib.name}.a">
-		<available file="${esmtp.dir}/lib${esmtp.lib.name}.a" />
-	</condition>
-	<condition	property="esmtp.lib.file"
-				value="${esmtp.dir}/${esmtp.lib.name}.lib">
-		<available file="${esmtp.dir}/${esmtp.lib.name}.lib" />
-	</condition>
-	<condition	property="esmtp.lib.file.dir" value="${esmtp.dir}">
-		<isset property="esmtp.lib.file" />
-	</condition>
-
-	<condition	property="esmtp.lib.file"
-				value="${esmtp.dir}/.libs/lib${esmtp.lib.name}.la">
-		<available file="${esmtp.dir}/.libs/lib${esmtp.lib.name}.la" />
-	</condition>
-	<condition	property="esmtp.lib.file"
-				value="${esmtp.dir}/.libs/lib${esmtp.lib.name}.dylib">
-		<available file="${esmtp.dir}/.libs/lib${esmtp.lib.name}.dylib" />
-	</condition>
-	<condition	property="esmtp.lib.file"
-				value="${esmtp.dir}/.libs/lib${esmtp.lib.name}.so">
-		<available file="${esmtp.dir}/.libs/lib${esmtp.lib.name}.so" />
-	</condition>
-	<condition	property="esmtp.lib.file"
-				value="${esmtp.dir}/.libs/lib${esmtp.lib.name}.a">
-		<available file="${esmtp.dir}/.libs/lib${esmtp.lib.name}.a" />
-	</condition>
-	<condition	property="esmtp.lib.file.dir" value="${esmtp.dir}/.libs">
-		<isset property="esmtp.lib.file" />
-	</condition>
-	<fail unless="esmtp.dir">Unable to locate esmtp base directory.</fail>
-
-	<!-- Static debug libraries in APR's VC6 projects typical location (ignored unless debug build) -->
-	<condition	property="esmtp.lib.file"
-				value="${esmtp.dir}/LibD/${esmtp.lib.name}.lib">
-		<and>
-			<isset property="is-debug" />
-			<available file="${esmtp.dir}/LibD/${esmtp.lib.name}.lib" />
-		</and>
-	</condition>
-	<condition	property="esmtp.lib.file.dir"
-				value="${esmtp.dir}/LibD">
-		<isset property="esmtp.lib.file" />
-	</condition>
-
-	<!-- Shared debug libraries in APR's VC6 projects typical location (ignored unless debug build) -->
-	<condition	property="esmtp.lib.file"
-				value="${esmtp.dir}/Debug/lib${esmtp.lib.name}.lib">
-		<and>
-			<isset property="is-debug" />
-			<available file="${esmtp.dir}/Debug/lib${esmtp.lib.name}.lib" />
-		</and>
-	</condition>
-	<condition	property="esmtp.lib.file.dir"
-				value="${esmtp.dir}/Debug">
-		<isset property="esmtp.lib.file" />
-	</condition>
-
-	<!-- Static release libraries in APR's VC6 projects typical location (ignored unless debug build) -->
-	<condition	property="esmtp.lib.file"
-				value="${esmtp.dir}/LibR/${esmtp.lib.name}.lib">
-		<available file="${esmtp.dir}/LibR/${esmtp.lib.name}.lib" />
-	</condition>
-	<condition	property="esmtp.lib.file.dir"
-				value="${esmtp.dir}/LibR">
-		<isset property="esmtp.lib.file" />
-	</condition>
-
-	<!-- Shared release libraries in APR's VC6 projects typical location -->
-	<condition	property="esmtp.lib.file"
-				value="${esmtp.dir}/Release/lib${esmtp.lib.name}.lib">
-		<available file="${esmtp.dir}/Release/lib${esmtp.lib.name}.lib" />
-	</condition>
-	<condition	property="esmtp.lib.file.dir"
-				value="${esmtp.dir}/Release">
-		<isset property="esmtp.lib.file" />
-	</condition>
-
-	<condition	property="esmtp.lib.dir"
-				value="${esmtp.lib.file.dir}">
-		<and>
-			<isset property="esmtp.lib.file.dir" />
-			<not>
-				<or>
-					<!--  default search path -->
-					<equals arg1="${esmtp.lib.file.dir}" arg2="/usr" />
-				</or>
-			</not>
-		</and>
-	</condition>
-
-	<condition	property="esmtp.lib.suffix"
-				value="d">
-		<or>
-			<contains	string="${esmtp.lib.file}"
-						substring="/lib${esmtp.lib.name}d."
-			/>
-			<contains	string="${esmtp.lib.file}"
-						substring="/${esmtp.lib.name}d."
-			/>
-		</or>
-	</condition>
-	<condition	property="esmtp.lib.suffix"
-				value="D">
-		<or>
-			<contains	string="${esmtp.lib.file}"
-						substring="/lib${esmtp.lib.name}D."
-			/>
-			<contains	string="${esmtp.lib.file}"
-						substring="/${esmtp.lib.name}D."
-			/>
-		</or>
-	</condition>
-	<condition	property="esmtp.lib.suffix"
-				value="">
-		<isset property="esmtp.lib.file" />
-	</condition>
-
-	<condition	property="esmtp.lib.prefix"
-				value="lib">
-		<or>
-			<contains	string="[${esmtp.lib.file}]"
-						substring="/lib${esmtp.lib.name}.lib]"
-			/>
-		</or>
-	</condition>
-	<condition	property="esmtp.lib.prefix"
-				value="">
-		<isset property="esmtp.lib.file" />
-	</condition>
-
-	<condition	property="esmtp.lib.type"
-				value="shared">
-		<or>
-			<contains	string="${esmtp.lib.file}]"
-						substring=".dylib]"
-						casesensitive="no"
-			/>
-			<contains	string="${esmtp.lib.file}]"
-						substring=".so]"
-						casesensitive="no"
-			/>
-			<contains	string="${esmtp.lib.file}]"
-						substring=".la]"
-						casesensitive="no"
-			/>
-			<and>
-				<!--
-					If we have just a .lib, guess based on file size. Import libs should be much
-					smaller.
-				 -->
-				<contains	string="${esmtp.lib.file}]"
-							substring=".lib]"
-							casesensitive="no"
-				/>
-				<isfileselected file="${esmtp.lib.file}">
-					<size value="250000" when="less" />
-				</isfileselected>
-			</and>
-		</or>
-	</condition>
-
-	<condition	property="esmtp.lib.type"
-				value="static">
-		<isset property="esmtp.lib.file" />
-	</condition>
-</target>
-
-<target	name="find-esmtp"
-		depends="find-esmtp-lib">
-	<!--
-		Use character ref to prevent directory name from being changed on global search and
-		replacements.
-	 -->
-	<condition	property="esmtp.include.dir"
-				value="${esmtp.dir}/include">
-		<available file="${esmtp.dir}/include/${esmtp.sample.h}" />
-	</condition>
-	<condition	property="esmtp.include.dir"
-				value="${esmtp.dir}">
-		<available file="${esmtp.dir}/${esmtp.sample.h}" />
-	</condition>
-	<condition	property="esmtp.include.dir"
-				value="${esmtp.dir}/../usr/include">
-		<available file="${esmtp.dir}/../usr/include/${esmtp.sample.h}" />
-	</condition>
-	<condition	property="esmtp.include.dir"
-				value="${esmtp.src.dir}/include">
-		<available file="${esmtp.src.dir}/include/${esmtp.sample.h}" />
-	</condition>
-	<condition	property="esmtp.include.dir"
-				value="${esmtp.src.dir}">
-		<available file="${esmtp.src.dir}/include/${esmtp.sample.h}" />
-	</condition>
-
-	<condition	property="esmtp.dir"
-				value="${esmtp.src.dir}">
-		<isset property="esmtp.src.dir" />
-	</condition>
-
-	<echo>esmtp-find:
-esmtp.dir=${esmtp.dir}
-esmtp.include.dir=${esmtp.include.dir}
-esmtp.src.dir=${esmtp.src.dir}
-esmtp.lib.file=${esmtp.lib.file}
-esmtp.lib.file.dir=${esmtp.lib.file.dir}
-esmtp.lib.dir=${esmtp.lib.dir}
-esmtp.lib.prefix=${esmtp.lib.prefix}
-esmtp.lib.suffix=${esmtp.lib.suffix}
-esmtp.lib.type=${esmtp.lib.type}
-	</echo>
-</target>
\ No newline at end of file
diff --git a/src/assembly/source.xml b/src/assembly/source.xml
index 063d336..860fb2e 100644
--- a/src/assembly/source.xml
+++ b/src/assembly/source.xml
@@ -45,6 +45,7 @@
 			<includes>
 				<include>aclocal.m4</include>
 				<include>build.xml</include>
+				<include>CMakeLists.txt</include>
 				<include>configure.ac</include>
 				<include>config.guess</include>
 				<include>config.sub</include>
@@ -104,48 +105,6 @@
 			<fileMode>0644</fileMode>
 			<directoryMode>0755</directoryMode>
 		</fileSet>
-
-		<!--
-			Special handling for project files.
-
-			Project files are generated in the target directory and contain relative paths out of that dir
-			into the project's src dir and that of apr. Those relative paths stay valid only if those files
-			are placed in the same hierarchy level in the release archive. If the files are generated in a
-			different level, the placement in the release archive needs to be adopted and vice versa. That's
-			why the release archive structure is not replicated in the target directory, we need to stay
-			with two levels, but that allows us to keep the target dir somewhat clean and provide a logical
-			structure in the release archive.
-		 -->
-		<fileSet>
-			<directory>target/projects</directory>
-			<lineEnding>keep</lineEnding>
-			<outputDirectory>projects/vc6</outputDirectory>
-
-			<includes>
-				<include>*.dsp</include>
-				<include>*.dsw</include>
-			</includes>
-
-			<excludes>
-				<exclude>apr*.ds*</exclude>
-				<exclude>xml.ds*</exclude>
-			</excludes>
-
-			<fileMode>0644</fileMode>
-		</fileSet>
-
-		<fileSet>
-			<directory>target/projects</directory>
-			<lineEnding>keep</lineEnding>
-			<outputDirectory>projects/xcode</outputDirectory>
-
-			<includes>
-				<include>*.xcodeproj/project.pbxproj</include>
-			</includes>
-
-			<fileMode>0644</fileMode>
-			<directoryMode>0755</directoryMode>
-		</fileSet>
 	</fileSets>
 </assembly>
 
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 2113a81..7429846 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -24,7 +24,7 @@
 
 	<body>
 		<release	version="0.11.0"
-					date="XXXX-XX-XX"
+					date="2020-01-31"
 					description="Maintenance release.">
 			<action issue="LOGCXX-506" type="fix">CachedDateFormat reuses timestamps without updating milliseconds after formatting timestamp with ms == 654</action>
 			<action issue="LOGCXX-503" type="update">Checksums/Signatures don't match for log4cxx binaries</action>
diff --git a/src/cmake/FindAPR-Util.cmake b/src/cmake/FindAPR-Util.cmake
new file mode 100644
index 0000000..3485911
--- /dev/null
+++ b/src/cmake/FindAPR-Util.cmake
@@ -0,0 +1,40 @@
+# Locate APR-Util include paths and libraries
+include(FindPackageHandleStandardArgs)
+
+# This module defines
+# APR_UTIL_INCLUDE_DIR, where to find apr.h, etc.
+# APR_UTIL_LIBRARIES, the libraries to link against to use APR.
+# APR_UTIL_FOUND, set to yes if found
+
+macro(_apu_invoke _varname)
+    execute_process(
+        COMMAND ${APR_UTIL_CONFIG_EXECUTABLE} ${ARGN}
+        OUTPUT_VARIABLE _apr_output
+        RESULT_VARIABLE _apr_failed
+    )
+
+    if(_apr_failed)
+        message(FATAL_ERROR "apu-1-config ${ARGN} failed with result ${_apr_failed}")
+    else(_apr_failed)
+        string(REGEX REPLACE "[\r\n]"  "" _apr_output "${_apr_output}")
+        string(REGEX REPLACE " +$"     "" _apr_output "${_apr_output}")
+        string(REGEX REPLACE "^ +"     "" _apr_output "${_apr_output}")
+
+        separate_arguments(_apr_output)
+
+        set(${_varname} "${_apr_output}")
+    endif(_apr_failed)
+endmacro(_apu_invoke)
+
+find_program(APR_UTIL_CONFIG_EXECUTABLE
+    apu-1-config
+    PATHS /usr/local/bin    /usr/bin    C:/Progra~1/apr-util/bin
+    )
+mark_as_advanced(APR_UTIL_CONFIG_EXECUTABLE)
+if(EXISTS ${APR_UTIL_CONFIG_EXECUTABLE})
+    _apu_invoke(APR_UTIL_INCLUDE_DIR   --includedir)
+    _apu_invoke(APR_UTIL_LIBRARIES     --link-ld)
+endif()
+
+find_package_handle_standard_args(apr-util DEFAULT_MSG
+  APR_UTIL_INCLUDE_DIR APR_UTIL_LIBRARIES)
diff --git a/src/cmake/FindAPR.cmake b/src/cmake/FindAPR.cmake
new file mode 100644
index 0000000..171d745
--- /dev/null
+++ b/src/cmake/FindAPR.cmake
@@ -0,0 +1,39 @@
+# Locate APR include paths and libraries
+include(FindPackageHandleStandardArgs)
+
+# This module defines
+# APR_INCLUDE_DIR, where to find apr.h, etc.
+# APR_LIBRARIES, the libraries to link against to use APR.
+# APR_FOUND, set to 'yes' if found
+macro(_apr_invoke _varname)
+    execute_process(
+        COMMAND ${APR_CONFIG_EXECUTABLE} ${ARGN}
+        OUTPUT_VARIABLE _apr_output
+        RESULT_VARIABLE _apr_failed
+    )
+
+    if(_apr_failed)
+        message(FATAL_ERROR "apr-1-config ${ARGN} failed with result ${_apr_failed}")
+    else(_apr_failed)
+        string(REGEX REPLACE "[\r\n]"  "" _apr_output "${_apr_output}")
+        string(REGEX REPLACE " +$"     "" _apr_output "${_apr_output}")
+        string(REGEX REPLACE "^ +"     "" _apr_output "${_apr_output}")
+
+        separate_arguments(_apr_output)
+        set(${_varname} "${_apr_output}")
+    endif(_apr_failed)
+endmacro(_apr_invoke)
+
+
+find_program(APR_CONFIG_EXECUTABLE
+    apr-1-config
+    PATHS /usr/local/bin    /usr/bin    C:/Progra~1/apr/bin
+    )
+mark_as_advanced(APR_CONFIG_EXECUTABLE)
+if(EXISTS ${APR_CONFIG_EXECUTABLE})
+    _apr_invoke(APR_INCLUDE_DIR  --includedir)
+    _apr_invoke(APR_LIBRARIES  --link-ld)
+endif()
+
+find_package_handle_standard_args(apr
+    APR_INCLUDE_DIR APR_LIBRARIES)
diff --git a/src/cmake/projectVersionDetails.cmake b/src/cmake/projectVersionDetails.cmake
new file mode 100644
index 0000000..68bda9b
--- /dev/null
+++ b/src/cmake/projectVersionDetails.cmake
@@ -0,0 +1,5 @@
+# This file should contain nothing but the following line
+# setting the project version. The variable name must not
+# clash with the log4cxx_VERSION* variables automatically
+# defined by the project() command.
+set(log4cxx_VER 0.11.0.0)
diff --git a/src/examples/cpp/CMakeLists.txt b/src/examples/cpp/CMakeLists.txt
new file mode 100644
index 0000000..ed0412a
--- /dev/null
+++ b/src/examples/cpp/CMakeLists.txt
@@ -0,0 +1,7 @@
+set(ALL_LOG4CXX_EXAMPLES console delayedloop stream trivial)
+
+foreach(exampleName IN LISTS ALL_LOG4CXX_EXAMPLES)
+    add_executable(${exampleName} ${exampleName}.cpp)
+    target_include_directories(${exampleName} PRIVATE ${CMAKE_CURRENT_LIST_DIR} $<TARGET_PROPERTY:log4cxx,INCLUDE_DIRECTORIES>)
+    target_link_libraries(${exampleName} PRIVATE log4cxx ${APR_LIBRARIES})
+endforeach()
diff --git a/src/main/CMakeLists.txt b/src/main/CMakeLists.txt
new file mode 100644
index 0000000..80dd6d8
--- /dev/null
+++ b/src/main/CMakeLists.txt
@@ -0,0 +1,10 @@
+add_subdirectory(include)
+add_subdirectory(cpp)
+add_subdirectory(resources)
+
+# setup include directories 
+include(GNUInstallDirs)
+target_include_directories(log4cxx PUBLIC 
+  $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
+  $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+)
diff --git a/src/main/cpp/CMakeLists.txt b/src/main/cpp/CMakeLists.txt
new file mode 100644
index 0000000..cdf3034
--- /dev/null
+++ b/src/main/cpp/CMakeLists.txt
@@ -0,0 +1,166 @@
+
+# Options
+option(LOG4CXX_BLOCKING_ASYNC_APPENDER "Async appender behaviour" ON)
+option(BUILD_SHARED_LIBS "Build shared libraries" ON)
+
+# Build the log4cxx library
+add_library(log4cxx action.cpp)
+if(BUILD_SHARED_LIBS)
+    target_compile_definitions(log4cxx PRIVATE LOG4CXX)
+else()
+    target_compile_definitions(log4cxx PUBLIC LOG4CXX_STATIC)
+endif()
+add_dependencies(log4cxx configure_log4cxx)
+target_sources(log4cxx
+  PRIVATE
+  andfilter.cpp
+  appenderattachableimpl.cpp
+  appenderskeleton.cpp
+  aprinitializer.cpp
+  $<IF:$<BOOL:LOG4CXX_BLOCKING_ASYNC_APPENDER>,asyncappender.cpp,asyncappender_nonblocking.cpp>
+  basicconfigurator.cpp
+  bufferedwriter.cpp
+  bytearrayinputstream.cpp
+  bytearrayoutputstream.cpp
+  bytebuffer.cpp
+  cacheddateformat.cpp
+  charsetdecoder.cpp
+  charsetencoder.cpp
+  class.cpp
+  classnamepatternconverter.cpp
+  classregistration.cpp
+  condition.cpp
+  configurator.cpp
+  consoleappender.cpp
+  cyclicbuffer.cpp
+  dailyrollingfileappender.cpp
+  datagrampacket.cpp
+  datagramsocket.cpp
+  date.cpp
+  dateformat.cpp
+  datelayout.cpp
+  datepatternconverter.cpp
+  defaultconfigurator.cpp
+  defaultloggerfactory.cpp
+  defaultrepositoryselector.cpp
+  domconfigurator.cpp
+  exception.cpp
+  fallbackerrorhandler.cpp
+  file.cpp
+  fileappender.cpp
+  filedatepatternconverter.cpp
+  fileinputstream.cpp
+  filelocationpatternconverter.cpp
+  fileoutputstream.cpp
+  filerenameaction.cpp
+  filewatchdog.cpp
+  filter.cpp
+  filterbasedtriggeringpolicy.cpp
+  fixedwindowrollingpolicy.cpp
+  formattinginfo.cpp
+  fulllocationpatternconverter.cpp
+  gzcompressaction.cpp
+  hierarchy.cpp
+  htmllayout.cpp
+  inetaddress.cpp
+  inputstream.cpp
+  inputstreamreader.cpp
+  integer.cpp
+  integerpatternconverter.cpp
+  jsonlayout.cpp
+  layout.cpp
+  level.cpp
+  levelmatchfilter.cpp
+  levelpatternconverter.cpp
+  levelrangefilter.cpp
+  linelocationpatternconverter.cpp
+  lineseparatorpatternconverter.cpp
+  literalpatternconverter.cpp
+  loader.cpp
+  locale.cpp
+  locationinfo.cpp
+  logger.cpp
+  loggermatchfilter.cpp
+  loggerpatternconverter.cpp
+  loggingevent.cpp
+  loggingeventpatternconverter.cpp
+  loglog.cpp
+  logmanager.cpp
+  logstream.cpp
+  manualtriggeringpolicy.cpp
+  mdc.cpp
+  messagebuffer.cpp
+  messagepatternconverter.cpp
+  methodlocationpatternconverter.cpp
+  mutex.cpp
+  nameabbreviator.cpp
+  namepatternconverter.cpp
+  ndc.cpp
+  ndcpatternconverter.cpp
+  nteventlogappender.cpp
+  objectimpl.cpp
+  objectoutputstream.cpp
+  objectptr.cpp
+  obsoleterollingfileappender.cpp
+  odbcappender.cpp
+  onlyonceerrorhandler.cpp
+  optionconverter.cpp
+  outputdebugstringappender.cpp
+  outputstream.cpp
+  outputstreamwriter.cpp
+  patternconverter.cpp
+  patternlayout.cpp
+  patternparser.cpp
+  pool.cpp
+  properties.cpp
+  propertiespatternconverter.cpp
+  propertyconfigurator.cpp
+  propertyresourcebundle.cpp
+  propertysetter.cpp
+  reader.cpp
+  relativetimedateformat.cpp
+  relativetimepatternconverter.cpp
+  resourcebundle.cpp
+  rollingfileappender.cpp
+  rollingpolicy.cpp
+  rollingpolicybase.cpp
+  rolloverdescription.cpp
+  rootlogger.cpp
+  serversocket.cpp
+  simpledateformat.cpp
+  simplelayout.cpp
+  sizebasedtriggeringpolicy.cpp
+  smtpappender.cpp
+  socket.cpp
+  socketappender.cpp
+  socketappenderskeleton.cpp
+  sockethubappender.cpp
+  socketoutputstream.cpp
+  strftimedateformat.cpp
+  stringhelper.cpp
+  stringmatchfilter.cpp
+  stringtokenizer.cpp
+  synchronized.cpp
+  syslogappender.cpp
+  syslogwriter.cpp
+  system.cpp
+  systemerrwriter.cpp
+  systemoutwriter.cpp
+  telnetappender.cpp
+  threadcxx.cpp
+  threadlocal.cpp
+  threadpatternconverter.cpp
+  threadspecificdata.cpp
+  throwableinformationpatternconverter.cpp
+  timebasedrollingpolicy.cpp
+  timezone.cpp
+  transcoder.cpp
+  transform.cpp
+  triggeringpolicy.cpp
+  ttcclayout.cpp
+  writer.cpp
+  writerappender.cpp
+  xmllayout.cpp
+  xmlsocketappender.cpp
+  zipcompressaction.cpp
+)
diff --git a/src/main/include/CMakeLists.txt b/src/main/include/CMakeLists.txt
new file mode 100644
index 0000000..1939886
--- /dev/null
+++ b/src/main/include/CMakeLists.txt
@@ -0,0 +1,101 @@
+# Configure
+if(WIN32)
+add_custom_target(configure_log4cxx
+  COMMAND "${CMAKE_COMMAND}" -E copy_if_different
+    ${CMAKE_CURRENT_SOURCE_DIR}/log4cxx/log4cxx.hw
+    ${CMAKE_CURRENT_BINARY_DIR}/log4cxx/log4cxx.h
+  COMMAND "${CMAKE_COMMAND}" -E copy_if_different
+    ${CMAKE_CURRENT_SOURCE_DIR}/log4cxx/private/log4cxx_private.hw
+    ${CMAKE_CURRENT_BINARY_DIR}/log4cxx/private/log4cxx_private.h
+  DEPENDS
+    ${CMAKE_CURRENT_SOURCE_DIR}/log4cxx/log4cxx.hw
+    ${CMAKE_CURRENT_SOURCE_DIR}/log4cxx/private/log4cxx_private.hw
+  BYPRODUCTS
+    ${CMAKE_CURRENT_BINARY_DIR}/log4cxx/log4cxx.h
+    ${CMAKE_CURRENT_BINARY_DIR}/log4cxx/private/log4cxx_private.h
+)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/log4cxx/version_info.h.in
+               ${CMAKE_CURRENT_BINARY_DIR}/log4cxx/version_info.h
+               @ONLY
+)
+else()
+# Configure log4cxx.h
+set(LOG4CXX_CHAR "utf-8" CACHE STRING "Interal character representation, choice of utf-8 (default), wchar_t, unichar")
+set_property(CACHE LOG4CXX_CHAR PROPERTY STRINGS "utf-8" "wchar_t" "unichar")
+set(LOGCHAR_IS_UNICHAR 0)
+set(LOGCHAR_IS_WCHAR 0)
+set(LOGCHAR_IS_UTF8 0)
+if(${LOG4CXX_CHAR} STREQUAL "unichar")
+  set(LOGCHAR_IS_UNICHAR 1)
+elseif(${LOG4CXX_CHAR} STREQUAL "wchar_t")
+  set(LOGCHAR_IS_WCHAR 1)
+else()
+  set(LOGCHAR_IS_UTF8 1)
+endif()
+option(LOG4CXX_WCHAR_T "Enable wchar_t API methods" ON)
+option(LOG4CXX_UNICHAR "Enable UniChar API methods" OFF)
+if(APPLE)
+option(LOG4CXX_CFSTRING "Enable CFString API methods, requires Mac OS/X CoreFoundation" OFF)
+endif()
+set(CHAR_API 1)
+foreach(varName WCHAR_T  UNICHAR  CFSTRING )
+  if(${LOG4CXX_${varName}})
+    set("${varName}_API" 1)
+  else()
+    set("${varName}_API" 0)
+  endif()
+endforeach()
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/log4cxx/log4cxx.h.in
+               ${CMAKE_CURRENT_BINARY_DIR}/log4cxx/log4cxx.h
+               @ONLY
+)
+
+# Configure log4cxx_private.h
+set(LOG4CXX_CHARSET "locale" CACHE STRING "LogString characters, choice of locale (default), utf-8, ISO-8859-1, US-ASCII, EBCDIC")
+set_property(CACHE LOG4CXX_CHARSET PROPERTY STRINGS "locale" "utf-8" "ISO-8859-1" "US-ASCII" "EBCDIC")
+set(CHARSET_EBCDIC 0)
+set(CHARSET_USASCII 0)
+set(CHARSET_ISO88591 0)
+set(CHARSET_UTF8 0)
+if(${LOG4CXX_CHARSET} STREQUAL "EBCDIC")
+  set(CHARSET_EBCDIC 1)
+elseif(${LOG4CXX_CHARSET} STREQUAL "US-ASCII")
+  set(CHARSET_USASCII 1)
+elseif(${LOG4CXX_CHARSET} STREQUAL "ISO-8859-1")
+  set(CHARSET_ISO88591 1)
+elseif(${LOG4CXX_CHARSET} STREQUAL "utf-8")
+  set(CHARSET_UTF8 1)
+endif()
+
+option(LOG4CXX_HAS_STD_LOCALE "Is the standard locale header available?" OFF)
+option(LOG4CXX_HAS_ODBC "Build with ODBC appender?" OFF)
+option(LOG4CXX_HAS_MBSRTOWCS "Default character encoder converts multi-byte string to LogString using mbstowcs()?" OFF)
+option(LOG4CXX_HAS_WCSTOMBS "Default wide character encoder converts using wcstombs()?" OFF)
+option(LOG4CXX_HAS_FWIDE "Is the fwide(fd) function available?" OFF)
+option(LOG4CXX_HAS_LIBESMTP "Use libESMTP in SMTPAppender?" OFF)
+option(LOG4CXX_HAS_SYSLOG "Is the syslog function available?" OFF)
+
+foreach(varName HAS_STD_LOCALE  HAS_ODBC  HAS_MBSRTOWCS  HAS_WCSTOMBS  HAS_FWIDE  HAS_LIBESMTP  HAS_SYSLOG)
+  if(${LOG4CXX_${varName}})
+    set(${varName} 1)
+  else()
+    set(${varName} 0)
+  endif()
+endforeach()
+
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/log4cxx/private/log4cxx_private.h.in
+               ${CMAKE_CURRENT_BINARY_DIR}/log4cxx/private/log4cxx_private.h
+               @ONLY
+)
+
+# Provide the dependencies
+add_custom_target(configure_log4cxx
+  COMMAND "${CMAKE_COMMAND}" -E echo "Checking configuration"
+  DEPENDS
+    ${CMAKE_CURRENT_SOURCE_DIR}/log4cxx/log4cxx.h.in
+    ${CMAKE_CURRENT_SOURCE_DIR}/log4cxx/private/log4cxx_private.h.in
+  BYPRODUCTS
+    ${CMAKE_CURRENT_BINARY_DIR}/log4cxx/log4cxx.h
+    ${CMAKE_CURRENT_BINARY_DIR}/log4cxx/private/log4cxx_private.h
+)
+endif()
diff --git a/src/main/include/log4cxx/version_info.h.in b/src/main/include/log4cxx/version_info.h.in
new file mode 100644
index 0000000..b4331fc
--- /dev/null
+++ b/src/main/include/log4cxx/version_info.h.in
@@ -0,0 +1,5 @@
+// Information used by resource files
+#define INFO_PRODUCT_VERSION_LIST @log4cxx_VERSION_MAJOR@,@log4cxx_VERSION_MINOR@,@log4cxx_VERSION_PATCH@
+#define INFO_PRODUCT_VERSION_STRING "@log4cxx_VERSION@"
+#define INFO_FILE_VERSION_LIST INFO_PRODUCT_VERSION_LIST,@log4cxx_VERSION_TWEAK@
+#define INFO_FILE_VERSION_STRING INFO_PRODUCT_VERSION_STRING "." @log4cxx_VERSION_TWEAK@
diff --git a/src/main/resources/CMakeLists.txt b/src/main/resources/CMakeLists.txt
new file mode 100644
index 0000000..3827357
--- /dev/null
+++ b/src/main/resources/CMakeLists.txt
@@ -0,0 +1,7 @@
+# Configure
+if(WIN32)
+target_sources(log4cxx
+  PRIVATE
+  log4cxx.rc
+)
+endif()
\ No newline at end of file
diff --git a/src/main/resources/log4cxx.rc b/src/main/resources/log4cxx.rc
index d61b19c..3faf8b0 100644
--- a/src/main/resources/log4cxx.rc
+++ b/src/main/resources/log4cxx.rc
@@ -74,10 +74,11 @@
 //
 // Version
 //
+#include <log4cxx/version_info.h>
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 0, 0, 0, 0
- PRODUCTVERSION 0, 0, 0, 0
+ FILEVERSION INFO_FILE_VERSION_LIST
+ PRODUCTVERSION INFO_PRODUCT_VERSION_LIST
  FILEFLAGSMASK 0x17L
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -94,12 +95,12 @@
         BEGIN
             VALUE "CompanyName", "Apache Software Foundation"
             VALUE "FileDescription", "Apache log4cxx"
-            VALUE "FileVersion", "0, 0, 0, 0"
+            VALUE "FileVersion", INFO_FILE_VERSION_STRING
             VALUE "InternalName", "log4cxx"
             VALUE "LegalCopyright",  "Licensed to the Apache Software Foundation (ASF) under one or more\ncontributor license agreements.  See the NOTICE file distributed with\nthis work for additional information regarding copyright ownership.\nThe ASF licenses this file to You under the Apache License, Version 2.0\n(the ""License""); you may not use this file except in compliance with\nthe License.  You may obtain a copy of the License at\n\n     http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an ""AS IS"" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License."
             VALUE "OriginalFilename", "log4cxx.dll"
             VALUE "ProductName", "Apache log4cxx"
-            VALUE "ProductVersion", "0, 0, 0, 0"
+            VALUE "ProductVersion", INFO_PRODUCT_VERSION_STRING
         END
     END
     BLOCK "VarFileInfo"
diff --git a/src/site/apt/building/cmake.apt b/src/site/apt/building/cmake.apt
new file mode 100644
index 0000000..1ebc303
--- /dev/null
+++ b/src/site/apt/building/cmake.apt
@@ -0,0 +1,75 @@
+~~ Licensed to the Apache Software Foundation (ASF) under one or more
+~~ contributor license agreements.  See the NOTICE file distributed with
+~~ this work for additional information regarding copyright ownership.
+~~ The ASF licenses this file to You under the Apache License, Version 2.0
+~~ (the "License"); you may not use this file except in compliance with
+~~ the License.  You may obtain a copy of the License at
+~~
+~~      http://www.apache.org/licenses/LICENSE-2.0
+~~
+~~ Unless required by applicable law or agreed to in writing, software
+~~ distributed under the License is distributed on an "AS IS" BASIS,
+~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~~ See the License for the specific language governing permissions and
+~~ limitations under the License.
+ ------
+ Building Apache log4cxx with CMake
+ ------
+ ------
+ ------
+
+Building Apache log4cxx with cmake
+
+* Quick start:
+
+  Make sure cmake 3.13+, g++ and make are available, install or
+  build apr 1.x, apr-util 1.x, gzip and zip.
+
++------------+
+$ apt-get install build-essential libapr1-dev libaprutil1-dev gzip zip
+$ cd apache-log4cxx-x.x.x
+$ mkdir build 
+$ cd build
+$ ccmake ..
+$ make
+$ sudo make install
++------------+
+
+* ccmake options
+*------------------------+---------------------------------------------------------------------------------------------+
+| -DLOG4CXX_WCHAR_T=no   | Enable wchar_t API methods, choice of yes (default), no.                                    |
+*------------------------+---------------------------------------------------------------------------------------------+
+| -DLOG4CXX_UNICHAR=yes  | Enable UniChar API methods, choice of yes, no (default).                                    |
+*------------------------+---------------------------------------------------------------------------------------------+
+| -DLOG4CXX_CFSTRING=yes | Enable CFString API methods, requires Mac OS/X CoreFoundation, choice of yes, no (default). |
+*------------------------+---------------------------------------------------------------------------------------------+
+
+* Platform specific notes:
+
+** Mac OS/X:
+
+  APR and APR-Util are provided by the platform in Mac OS/X 10.5 and iODBC in 10.4.
+
+** Debian:
+
+  APR, APR-Util, gzip and zip may be installed by:
+
++----+
+$ sudo apt-get install libapr1-dev libaprutil1-dev gzip zip
++----+
+
+** FreeBSD:
+
+  APR, APR-Util, gzip and zip may be installed from the ports collection by:
+
++----+
+# cd /usr/ports/archivers/zip
+# make
+# make install
+# cd /usr/ports/archivers/gzip
+# make
+# make install
+# cd /usr/ports/devel/apr
+# make
+# make install
++----+
diff --git a/src/site/apt/building/vcpkg.apt b/src/site/apt/building/vcpkg.apt
new file mode 100644
index 0000000..e7eff5f
--- /dev/null
+++ b/src/site/apt/building/vcpkg.apt
@@ -0,0 +1,41 @@
+~~ Licensed to the Apache Software Foundation (ASF) under one or more
+~~ contributor license agreements.  See the NOTICE file distributed with
+~~ this work for additional information regarding copyright ownership.
+~~ The ASF licenses this file to You under the Apache License, Version 2.0
+~~ (the "License"); you may not use this file except in compliance with
+~~ the License.  You may obtain a copy of the License at
+~~
+~~      http://www.apache.org/licenses/LICENSE-2.0
+~~
+~~ Unless required by applicable law or agreed to in writing, software
+~~ distributed under the License is distributed on an "AS IS" BASIS,
+~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~~ See the License for the specific language governing permissions and
+~~ limitations under the License.
+ ------
+ Building Apache log4cxx with vcpkg
+ ------
+ ------
+ ------
+
+Building Apache log4cxx with vcpkg
+
+*Preparation
+
++----+
+   > git clone https://github.com/Microsoft/vcpkg.git
+   > cd vcpkg
+
+   PS> .\bootstrap-vcpkg.bat
+   Linux:~/$ ./bootstrap-vcpkg.sh
+   
+   Then, to hook up user-wide integration, run (note: requires admin on first use)
+
+   PS> .\vcpkg integrate install
+   Linux:~/$ ./vcpkg integrate install
++----+
+
+*Building log4cxx.dll
+
+   PS> .\vcpkg install log4cxx
+   Linux:~/$ ./vcpkg install log4cxx
diff --git a/src/site/site.xml b/src/site/site.xml
index c33ae73..6941262 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -111,17 +111,14 @@
 				<item	name="autotools"
 						href="/building/autotools.html"
 				/>
-				<item	name="Apache Ant"
-						href="/building/ant.html"
-				/>
 				<item	name="Apache Maven 2"
 						href="/building/maven.html"
 				/>
-				<item	name="Microsoft Visual Studio"
-						href="/building/vstudio.html"
+				<item	name="Microsoft vcpkg"
+						href="/building/vcpkg.html"
 				/>
-				<item	name="Apple Xcode"
-						href="/building/xcode.html"
+				<item	name="CMake"
+						href="/building/cmake.html"
 				/>
 			</item>
 		</menu>
diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
new file mode 100644
index 0000000..da8ed95
--- /dev/null
+++ b/src/test/CMakeLists.txt
@@ -0,0 +1 @@
+add_subdirectory(cpp)
\ No newline at end of file
diff --git a/src/test/cpp/CMakeLists.txt b/src/test/cpp/CMakeLists.txt
new file mode 100644
index 0000000..793a30b
--- /dev/null
+++ b/src/test/cpp/CMakeLists.txt
@@ -0,0 +1,64 @@
+# Components required by all tests
+add_library(testingFramework STATIC abts.cpp appenderskeletontestcase.cpp logunit.cpp vectorappender.cpp writerappendertestcase.cpp )
+target_include_directories(testingFramework PRIVATE ${CMAKE_CURRENT_LIST_DIR} $<TARGET_PROPERTY:log4cxx,INCLUDE_DIRECTORIES>)
+add_subdirectory(util)
+target_sources(testingUtilities PRIVATE xml/xlevel.cpp)
+
+# Tests defined in this directory
+set(ALL_LOG4CXX_TESTS 
+    asyncappendertestcase
+    consoleappendertestcase
+    decodingtest
+    encodingtest
+    fileappendertest
+    filetestcase
+    hierarchytest
+    hierarchythresholdtestcase
+    jsonlayouttest
+    l7dtestcase
+    leveltestcase
+    loggertestcase
+    mdctestcase
+    minimumtestcase
+    ndctestcase
+    patternlayouttest
+    propertyconfiguratortest
+    rollingfileappendertestcase
+    streamtestcase
+)
+foreach(fileName IN LISTS ALL_LOG4CXX_TESTS)
+    add_executable(${fileName} "${fileName}.cpp")
+endforeach()
+target_sources(rollingfileappendertestcase PRIVATE fileappendertestcase.cpp)
+
+# Tests defined in subdirectories
+add_subdirectory(helpers)
+add_subdirectory(customlogger)
+if(LOG4CXX_HAS_ODBC OR WIN32)
+    add_subdirectory(db)
+endif()
+add_subdirectory(defaultinit)
+add_subdirectory(filter)
+add_subdirectory(net)
+if(WIN32)
+    add_subdirectory(nt)
+endif()
+add_subdirectory(pattern)
+add_subdirectory(rolling)
+add_subdirectory(spi)
+add_subdirectory(varia)
+add_subdirectory(xml)
+
+foreach(testName IN LISTS ALL_LOG4CXX_TESTS)
+    target_include_directories(${testName} PRIVATE ${CMAKE_CURRENT_LIST_DIR} $<TARGET_PROPERTY:log4cxx,INCLUDE_DIRECTORIES>)
+    target_link_libraries(${testName} PRIVATE testingFramework testingUtilities log4cxx ${APR_LIBRARIES})
+    add_test(NAME ${testName}
+        COMMAND ${testName} -v
+        WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/../resources
+    )
+    if(WIN32)
+      set_tests_properties(${testName} PROPERTIES ENVIRONMENT
+        "PATH=$<SHELL_PATH:$<TARGET_FILE_DIR:log4cxx>>$<SEMICOLON>$ENV{PATH}"
+    )
+    endif()
+endforeach()
diff --git a/src/test/cpp/customlogger/CMakeLists.txt b/src/test/cpp/customlogger/CMakeLists.txt
new file mode 100644
index 0000000..76f02d6
--- /dev/null
+++ b/src/test/cpp/customlogger/CMakeLists.txt
@@ -0,0 +1,2 @@
+add_executable(xloggertestcase xloggertestcase.cpp xlogger.cpp)
+set(ALL_LOG4CXX_TESTS ${ALL_LOG4CXX_TESTS} xloggertestcase PARENT_SCOPE)
diff --git a/src/test/cpp/db/CMakeLists.txt b/src/test/cpp/db/CMakeLists.txt
new file mode 100644
index 0000000..3f34418
--- /dev/null
+++ b/src/test/cpp/db/CMakeLists.txt
@@ -0,0 +1,3 @@
+add_executable(odbcappendertestcase odbcappendertestcase.cpp)
+target_include_directories(odbcappendertestcase PRIVATE ${CMAKE_CURRENT_LIST_DIR} $<TARGET_PROPERTY:log4cxx,INCLUDE_DIRECTORIES>)
+target_link_libraries(odbcappendertestcase log4cxx testingFramework testingUtilities ${APR_LIBRARIES})
diff --git a/src/test/cpp/defaultinit/CMakeLists.txt b/src/test/cpp/defaultinit/CMakeLists.txt
new file mode 100644
index 0000000..a9d2ee8
--- /dev/null
+++ b/src/test/cpp/defaultinit/CMakeLists.txt
@@ -0,0 +1,2 @@
+add_executable(defaultinittestcase testcase1.cpp testcase2.cpp testcase3.cpp testcase4.cpp)
+set(ALL_LOG4CXX_TESTS ${ALL_LOG4CXX_TESTS} defaultinittestcase PARENT_SCOPE)
diff --git a/src/test/cpp/filter/CMakeLists.txt b/src/test/cpp/filter/CMakeLists.txt
new file mode 100644
index 0000000..83dc498
--- /dev/null
+++ b/src/test/cpp/filter/CMakeLists.txt
@@ -0,0 +1,9 @@
+add_executable(filtertests
+    andfiltertest.cpp
+    denyallfiltertest.cpp
+    levelmatchfiltertest.cpp
+    levelrangefiltertest.cpp
+    loggermatchfiltertest.cpp
+    stringmatchfiltertest.cpp
+)
+set(ALL_LOG4CXX_TESTS ${ALL_LOG4CXX_TESTS} filtertests PARENT_SCOPE)
diff --git a/src/test/cpp/helpers/CMakeLists.txt b/src/test/cpp/helpers/CMakeLists.txt
new file mode 100644
index 0000000..bb27546
--- /dev/null
+++ b/src/test/cpp/helpers/CMakeLists.txt
@@ -0,0 +1,28 @@
+set(HELPER_TESTS 
+    absolutetimedateformattestcase
+    cacheddateformattestcase
+    charsetdecodertestcase
+    charsetencodertestcase
+    cyclicbuffertestcase
+    datetimedateformattestcase
+    filewatchdogtest
+    inetaddresstestcase
+    iso8601dateformattestcase
+    messagebuffertest
+    optionconvertertestcase
+    propertiestestcase
+    relativetimedateformattestcase
+    stringhelpertestcase
+    stringtokenizertestcase
+    syslogwritertest
+    threadtestcase
+    timezonetestcase
+    transcodertestcase
+)
+foreach(fileName IN LISTS HELPER_TESTS)
+    add_executable(${fileName} "${fileName}.cpp")
+    target_include_directories(${fileName} PRIVATE ${CMAKE_CURRENT_LIST_DIR} $<TARGET_PROPERTY:log4cxx,INCLUDE_DIRECTORIES> ${APR_INCLUDE_DIR})
+endforeach()
+target_sources(cacheddateformattestcase PRIVATE localechanger.cpp)
+target_sources(datetimedateformattestcase PRIVATE  localechanger.cpp)
+set(ALL_LOG4CXX_TESTS ${ALL_LOG4CXX_TESTS} ${HELPER_TESTS} PARENT_SCOPE)
diff --git a/src/test/cpp/net/CMakeLists.txt b/src/test/cpp/net/CMakeLists.txt
new file mode 100644
index 0000000..6bc5847
--- /dev/null
+++ b/src/test/cpp/net/CMakeLists.txt
@@ -0,0 +1,15 @@
+
+# Tests defined in this directory
+set(NET_TESTS 
+    smtpappendertestcase
+    socketappendertestcase
+    sockethubappendertestcase
+    socketservertestcase
+    syslogappendertestcase
+    telnetappendertestcase
+    xmlsocketappendertestcase
+)
+foreach(fileName IN LISTS NET_TESTS)
+    add_executable(${fileName} "${fileName}.cpp")
+endforeach()
+set(ALL_LOG4CXX_TESTS ${ALL_LOG4CXX_TESTS} ${NET_TESTS} PARENT_SCOPE)
diff --git a/src/test/cpp/nt/CMakeLists.txt b/src/test/cpp/nt/CMakeLists.txt
new file mode 100644
index 0000000..0b8a825
--- /dev/null
+++ b/src/test/cpp/nt/CMakeLists.txt
@@ -0,0 +1,2 @@
+add_executable(eventlogtests nteventlogappendertestcase.cpp)
+set(ALL_LOG4CXX_TESTS ${ALL_LOG4CXX_TESTS} eventlogtests PARENT_SCOPE)
diff --git a/src/test/cpp/pattern/CMakeLists.txt b/src/test/cpp/pattern/CMakeLists.txt
new file mode 100644
index 0000000..cd00697
--- /dev/null
+++ b/src/test/cpp/pattern/CMakeLists.txt
@@ -0,0 +1,2 @@
+add_executable(patternparsertestcase patternparsertestcase.cpp num343patternconverter.cpp)
+set(ALL_LOG4CXX_TESTS ${ALL_LOG4CXX_TESTS} patternparsertestcase PARENT_SCOPE)
diff --git a/src/test/cpp/rolling/CMakeLists.txt b/src/test/cpp/rolling/CMakeLists.txt
new file mode 100644
index 0000000..2b2c650
--- /dev/null
+++ b/src/test/cpp/rolling/CMakeLists.txt
@@ -0,0 +1,14 @@
+# Tests defined in this directory
+set(ROLLING_TESTS
+    filenamepatterntestcase
+    filterbasedrollingtest
+    manualrollingtest
+    obsoletedailyrollingfileappendertest
+    obsoleterollingfileappendertest
+    sizebasedrollingtest
+    timebasedrollingtest
+)
+foreach(fileName  IN LISTS ROLLING_TESTS)
+    add_executable(${fileName} "${fileName}.cpp")
+endforeach()
+set(ALL_LOG4CXX_TESTS ${ALL_LOG4CXX_TESTS} ${ROLLING_TESTS} PARENT_SCOPE)
diff --git a/src/test/cpp/spi/CMakeLists.txt b/src/test/cpp/spi/CMakeLists.txt
new file mode 100644
index 0000000..380269f
--- /dev/null
+++ b/src/test/cpp/spi/CMakeLists.txt
@@ -0,0 +1,2 @@
+add_executable(spitestcase loggingeventtest.cpp)
+set(ALL_LOG4CXX_TESTS ${ALL_LOG4CXX_TESTS} spitestcase PARENT_SCOPE)
diff --git a/src/test/cpp/util/CMakeLists.txt b/src/test/cpp/util/CMakeLists.txt
new file mode 100644
index 0000000..dd25dd7
--- /dev/null
+++ b/src/test/cpp/util/CMakeLists.txt
@@ -0,0 +1,21 @@
+# Components required by all tests
+add_library(testingUtilities STATIC
+    serializationtesthelper.cpp
+    absolutedateandtimefilter.cpp
+    absolutetimefilter.cpp
+    binarycompare.cpp
+    compare.cpp
+    controlfilter.cpp
+    filenamefilter.cpp
+    iso8601filter.cpp
+    linenumberfilter.cpp
+    relativetimefilter.cpp
+    threadfilter.cpp
+    transformer.cpp
+    utilfilter.cpp
+    xmlfilenamefilter.cpp
+    xmllineattributefilter.cpp
+    xmlthreadfilter.cpp
+    xmltimestampfilter.cpp
+)
+target_include_directories(testingUtilities PRIVATE ${CMAKE_CURRENT_LIST_DIR} $<TARGET_PROPERTY:log4cxx,INCLUDE_DIRECTORIES>)
diff --git a/src/test/cpp/varia/CMakeLists.txt b/src/test/cpp/varia/CMakeLists.txt
new file mode 100644
index 0000000..aeaeeb4
--- /dev/null
+++ b/src/test/cpp/varia/CMakeLists.txt
@@ -0,0 +1,10 @@
+# Tests defined in this directory
+set(VARIA_TESTS
+    errorhandlertestcase
+    levelmatchfiltertestcase
+    levelrangefiltertestcase
+)
+foreach(fileName  IN LISTS VARIA_TESTS)
+    add_executable(${fileName} "${fileName}.cpp")
+endforeach()
+set(ALL_LOG4CXX_TESTS ${ALL_LOG4CXX_TESTS} ${VARIA_TESTS} PARENT_SCOPE)
diff --git a/src/test/cpp/xml/CMakeLists.txt b/src/test/cpp/xml/CMakeLists.txt
new file mode 100644
index 0000000..cd8bcf5
--- /dev/null
+++ b/src/test/cpp/xml/CMakeLists.txt
@@ -0,0 +1,7 @@
+add_executable(xmltests
+    domtestcase
+    xmllayouttest
+    xmllayouttestcase
+)
+target_link_libraries(xmltests PRIVATE ${APR_UTIL_LIBRARIES})
+set(ALL_LOG4CXX_TESTS ${ALL_LOG4CXX_TESTS} xmltests PARENT_SCOPE)
