# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.68])
-AC_INIT([Xestia Address Book], [0.01], [bugs@xestia.co.uk])
+AC_INIT([Xestia Address Book], [0.05], [bugs@xestia.co.uk])
#AC_CONFIG_SRCDIR([version.h])
#AC_CONFIG_HEADERS([config.h])
BINDIR=`eval echo $bindir`
AC_SUBST([BINDIR])
+if test "x$datarootdir" = "xNONE" ; then
+ datarootdir="/share"
+fi
+DATAROOTDIR=`eval echo $datarootdir`
+AC_SUBST([DATAROOTDIR])
+
# Checks for libraries.
# wxWidgets
CPPFLAGS="$CPPFLAGS -std=c++11"
CXXFLAGS="$CXXFLAGS -std=c++11"
+# Checks for header files.
+AC_CHECK_HEADERS([stdlib.h string.h iostream iomanip ios algorithm map vector utility])
+
AC_CHECK_HEADER([thread], [], [echo "The C++ compiler does not support C++11 extensions which is
needed for Xestia Address Book. Please install or use a
compiler that supports C++11 extensions."
# SFML Audio Library
+PKG_CHECK_MODULES([SFML], [sfml-all >= 2.4.1])
+
AC_CHECK_LIB([sfml-audio], [main], [], [echo "The SFML libraries must be installed on your system.
Please check that this library is installed properly before
running configure again."
exit -1
])
-AC_LANG_PUSH([C++])
+AC_LANG_POP([C++])
# curl Library
+PKG_CHECK_MODULES([cURL], [libcurl >= 7.52.0])
+
AC_CHECK_LIB([curl], [main], [], [echo "The cURL library must be installed on your system.
Please check that this library is installed properly before
running configure again."
exit -1
])
-# libxml2 Library
-
-AC_CHECK_LIB([xml2], [main], [], [echo "The libxml2 library must be installed on your system.
-Please check that this library is installed properly before
-running configure again."
- exit -1
- ])
-
-AC_CHECK_HEADERS([libxml2/libxml/parser.h libxml2/libxml/tree.h], [], [echo "The libxml2 library headers must be installed on your system.
-Please check that the library headers are installed properly
-before running configure again."
- exit -1
- ])
-
-AC_CHECK_PROG([FOUND_XML2CONFIG], [xml2-config], [yes], [no])
-AM_CONDITIONAL([FOUND_XML2CONFIG_RES], [test x$FOUND_XML2CONFIG = xyes])
-
-AM_COND_IF([FOUND_XML2CONFIG_RES], [], [echo "Cannot find the xml2-config program on your system.
-If it is installed on your system, adjust your PATH environment
-variable before running configure again."
- exit -1
- ])
-
# file application
AC_CHECK_PROG([FOUND_FILE], [file], [yes], [no])
exit -1
])
-# Checks for header files.
-AC_CHECK_HEADERS([stdlib.h string.h iostream iomanip ios algorithm map vector utility])
-
# Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_STDBOOL
AC_C_INLINE
+# Check for Google Test and if it exists, enable the tests.
+
+AC_LANG_PUSH([C++])
+AC_CHECK_HEADERS([gtest/gtest.h], [gtestfound=yes], [gtestfound=no])
+AC_LANG_POP([C++])
+
+# libxml2 Library
+
+CPPFLAGSOLD=CPPFLAGS
+CPPFLAGS=`xml2-config --cflags`
+
+AC_CHECK_PROG([FOUND_XML2CONFIG], [xml2-config], [yes], [no])
+AM_CONDITIONAL([FOUND_XML2CONFIG_RES], [test x$FOUND_XML2CONFIG = xyes])
+
+AM_COND_IF([FOUND_XML2CONFIG_RES], [], [echo "Cannot find the xml2-config program on your system.
+If it is installed on your system, adjust your PATH environment
+variable before running configure again."
+ exit -1
+ ])
+
+AC_CHECK_LIB([xml2], [main], [], [echo "The libxml2 library must be installed on your system.
+Please check that this library is installed properly before
+running configure again."
+ exit -1
+ ])
+
+AC_CHECK_HEADERS([libxml2/libxml/parser.h libxml2/libxml/tree.h], [], [echo "The libxml2 library headers must be installed on your system.
+Please check that the library headers are installed properly
+before running configure again."
+ exit -1
+ ])
+
+CPPFLAGS=CPPFLAGSOLD
+
# Setup the debug setting.
AC_ARG_ENABLE([debug],
AM_COND_IF([DEBUG], [AC_SUBST([DBGSTATUS], ["DEBUG=true"])], [AC_SUBST([DBGSTATUS], ["DEBUG=false"])])
AM_COND_IF([DEBUG], [echo "Debugging mode has been enabled."])
-AC_CONFIG_FILES([Makefile])
+AM_CONDITIONAL([GTEST_FOUND], [test x$gtestfound = xyes])
+AM_COND_IF([GTEST_FOUND], [AC_SUBST([GTEST], [`cat tests/test.commands`])],
+ [AC_SUBST([GTEST], [" @echo \"Google Test was not found on the system. Unable to build tests.\""])])
+AM_COND_IF([GTEST_FOUND], [echo "Google Test found on the system. Enabling Unit Tests."]);
+
+AC_CONFIG_FILES([Makefile tests/Makefile])
AC_OUTPUT