diff --git a/.travis.yml b/.travis.yml
index f1f76267..63ffe84d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,6 +1,6 @@
sudo: enabled
before_install:
- - sudo apt-get install -y build-essential cmake libxml++2.6-dev libboost-dev libblas-dev liblapack-dev python-dev python-networkx python-numpy python-scipy python-matplotlib python-nose
+ - sudo apt-get install -y build-essential cmake libboost-dev libblas-dev liblapack-dev python-dev python-networkx python-numpy python-scipy python-matplotlib python-nose
install:
- cmake -D WRAP_PYTHON=ON .
- make
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4c7d8ff4..0576ed63 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -37,9 +37,8 @@ INCLUDE_DIRECTORIES(SYSTEM ${Boost_INCLUDE_DIRS})
set(BLAS_VENDOR Generic)
FIND_PACKAGE(BLAS REQUIRED)
FIND_PACKAGE(LAPACK REQUIRED)
-FIND_PACKAGE(libxml++ REQUIRED)
-INCLUDE_DIRECTORIES(SYSTEM ${libxml++_INCLUDE_DIRS})
+INCLUDE_DIRECTORIES(SYSTEM rapidxml)
### PLATFORM AND COMPILER SPECIFIC OPTIONS ###
# Make better debug on Intel
diff --git a/INSTALL.md b/INSTALL.md
index c279e196..d23b1e5d 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -12,7 +12,7 @@ These instructions assuming you are building in the source directory.
To compile just the base library:
```
-apt-get install build-essential cmake libxml++2.6-dev libboost-dev libblas-dev liblapack-dev
+apt-get install build-essential cmake libboost-dev libblas-dev liblapack-dev
cmake .
make
```
@@ -20,7 +20,7 @@ make
To compile both the base library and the python bindings:
```
-apt-get install build-essential cmake libxml++2.6-dev libboost-dev libblas-dev liblapack-dev python-dev python-networkx python-numpy python-scipy python-matplotlib python-nose
+apt-get install build-essential cmake libboost-dev libblas-dev liblapack-dev python-dev python-networkx python-numpy python-scipy python-matplotlib python-nose
cmake -D WRAP_PYTHON=ON .
make
```
@@ -36,7 +36,7 @@ nosetests
For just the base library setup prerequisites
```
-brew install libxml++ boost cmake
+brew install boost cmake
```
and then build the library
@@ -49,7 +49,7 @@ make
For the library and the python bindings setup prerequisites
```
-brew install libxml++ boost cmake python@2
+brew install boost cmake python@2
pip install nose numpy scipy nose matplotlib networkx
```
@@ -58,9 +58,3 @@ and then build the library
cmake -D WRAP_PYTHON=ON .
make
```
-
-Users have reported that if you use libxml++3 you may need to manually request
-libxml2 as well and add the libxml2 pkgconfig path to the environment:
-```
-export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opt/libxml2/lib/pkgconfig
-```
diff --git a/cmake/Modules/Findglib.cmake b/cmake/Modules/Findglib.cmake
deleted file mode 100644
index c02b518d..00000000
--- a/cmake/Modules/Findglib.cmake
+++ /dev/null
@@ -1,34 +0,0 @@
-# Variables to define:
-# Glib_FOUND - system has Glib
-# Glib_INCLUDE_DIRS - the Glib include directories
-# Glib_LIBRARIES - link these to use Glib
-
-# Hunt down pkg-config info
-find_package(PkgConfig)
-pkg_check_modules(Glib_PKGCONF glib-2.0 REQUIRED)
-
-# Main include dir
-find_path(Glib_INCLUDE_DIR
- NAMES glib.h
- PATHS ${Glib_PKGCONF_INCLUDE_DIRS}
- PATH_SUFFIXES glib-2.0
-)
-
-# Glib-related libraries also use a separate config header, which is in lib dir
-find_path(GlibConfig_INCLUDE_DIR
- NAMES glibconfig.h
- PATHS ${Glib_PKGCONF_INCLUDE_DIRS} /usr
- PATH_SUFFIXES lib/glib-2.0/include
-)
-
-# Finally the library itself
-find_library(Glib_LIBRARY
- NAMES glib-2.0
- PATHS ${Glib_PKGCONF_LIBRARY_DIRS}
-)
-
-set(Glib_FOUND TRUE)
-set(Glib_INCLUDE_DIRS ${Glib_INCLUDE_DIR} ${GlibConfig_INCLUDE_DIR})
-set(Glib_LIBRARIES ${Glib_LIBRARY})
-
-mark_as_advanced(GlibConfig_INCLUDE_DIR Glib_INCLUDE_DIR Glib_LIBRARY)
diff --git a/cmake/Modules/Findglibmm.cmake b/cmake/Modules/Findglibmm.cmake
deleted file mode 100644
index 57536c11..00000000
--- a/cmake/Modules/Findglibmm.cmake
+++ /dev/null
@@ -1,44 +0,0 @@
-# Variables to define:
-# glibmm_FOUND - system has Glib
-# glibmm_INCLUDE_DIRS - the Glib include directories
-# glibmm_LIBRARIES - link these to use Glib
-
-IF(glibmm_FIND_REQUIRED)
- FIND_PACKAGE(glib REQUIRED)
- FIND_PACKAGE(sigc++ REQUIRED)
-ELSE(glibmm_FIND_REQUIRED)
- FIND_PACKAGE(glib)
- FIND_PACKAGE(sigc++)
-ENDIF(glibmm_FIND_REQUIRED)
-
-# Hunt down pkg-config info
-find_package(PkgConfig)
-pkg_check_modules(glibmm_PKGCONF glibmm-2.4 REQUIRED)
-
-# Main include dir
-find_path(glibmm_INCLUDE_DIR
- NAMES glibmm/main.h
- PATHS ${glibmm_PKGCONF_INCLUDE_DIRS}
- PATH_SUFFIXES glibmm-2.4
-)
-
-# Glib-related libraries also use a separate config header, which is in lib dir
-find_path(glibmmConfig_INCLUDE_DIR
- NAMES glibmmconfig.h
- PATHS ${glibmm_PKGCONF_INCLUDE_DIRS}
- PATH_SUFFIXES lib/glibmm-2.4/include
-)
-
-# Finally the library itself
-find_library(glibmm_LIBRARY
- NAMES glibmm glibmm-2.4
- PATHS ${glibmm_PKGCONF_LIBRARY_DIRS}
-)
-
-set(glibmm_FOUND TRUE)
-set(glibmm_INCLUDE_DIRS ${glibmm_INCLUDE_DIR} ${glibmmConfig_INCLUDE_DIR} ${Glib_INCLUDE_DIRS} ${sigc++_INCLUDE_DIRS})
-set(glibmm_LIBRARIES ${glibmm_LIBRARY} ${Glib_LIBRARES} ${sigc++_LIBRARIES})
-
-mark_as_advanced(glibmmConfig_INCLUDE_DIR glibmm_INCLUDE_DIR glibmm_LIBRARY)
-
-
diff --git a/cmake/Modules/Findlibxml++.cmake b/cmake/Modules/Findlibxml++.cmake
deleted file mode 100644
index 9c9c2db3..00000000
--- a/cmake/Modules/Findlibxml++.cmake
+++ /dev/null
@@ -1,49 +0,0 @@
-# Variables to define:
-# libxml++_FOUND - system has Glib
-# libxml++_INCLUDE_DIRS - the Glib include directories
-# libxml++_LIBRARIES - link these to use Glib
-
-IF(libxml++_FIND_REQUIRED)
- FIND_PACKAGE(glibmm REQUIRED)
- FIND_PACKAGE(LibXml2 REQUIRED)
-ELSE(libxml++_FIND_REQUIRED)
- FIND_PACKAGE(glibmm)
- FIND_PACKAGE(LibXml2)
-ENDIF(libxml++_FIND_REQUIRED)
-
-# Hunt down pkg-config info
-find_package(PkgConfig)
-pkg_search_module(libxml++_PKGCONF libxml++-3.0 libxml++-2.9 libxml++-2.8 libxml++-2.7 libxml++-2.6 REQUIRED)
-
-STRING(SUBSTRING ${libxml++_PKGCONF_VERSION} 0 1 MAJOR_VERSION)
-STRING(COMPARE EQUAL ${MAJOR_VERSION} 3 LIBXML++_V3)
-if (${LIBXML++_V3})
- add_definitions(-DLIBXMLppV3)
-endif()
-
-# Main include dir
-find_path(libxml++_INCLUDE_DIR
- NAMES libxml++/libxml++.h
- PATHS ${libxml++_PKGCONF_INCLUDE_DIRS}
-)
-
-# Glib-related libraries also use a separate config header, which is in lib dir
-find_path(libxml++Config_INCLUDE_DIR
- NAMES libxml++config.h
- PATHS ${libxml++_PKGCONF_INCLUDE_DIRS}
-)
-
-# Finally the library itself
-find_library(libxml++_LIBRARY
- NAMES xml++ xml++-3.0 xml++-2.9 xml++-2.8 xml++-2.7 xml++-2.6
- PATHS ${libxml++_PKGCONF_LIBRARY_DIRS}
-)
-
-set(libxml++_FOUND TRUE)
-set(libxml++_INCLUDE_DIRS ${libxml++_INCLUDE_DIR} ${libxml++Config_INCLUDE_DIR} ${glibmm_INCLUDE_DIRS} ${LibXml2_INLUDE_DIRS})
-set(libxml++_LIBRARIES ${libxml++_LIBRARY} ${glibmm_LIBRARIES} ${LibXml2_LIBRARIES})
-
-mark_as_advanced(libxml++Config_INCLUDE_DIR libxml++_INCLUDE_DIR libxml++_LIBRARY)
-
-
-
diff --git a/cmake/Modules/Findsigc++.cmake b/cmake/Modules/Findsigc++.cmake
deleted file mode 100644
index 8eb2a1c6..00000000
--- a/cmake/Modules/Findsigc++.cmake
+++ /dev/null
@@ -1,36 +0,0 @@
-# Variables to define:
-# sigc++_FOUND - system has Glib
-# sigc++_INCLUDE_DIRS - the Glib include directories
-# sigc++_LIBRARIES - link these to use Glib
-
-# Hunt down pkg-config info
-find_package(PkgConfig)
-pkg_check_modules(sigc++_PKGCONF sigc++-2.0 REQUIRED)
-
-# Main include dir
-find_path(sigc++_INCLUDE_DIR
- NAMES sigc++/sigc++.h
- PATHS ${sigc++_PKGCONF_INCLUDE_DIRS}
- PATH_SUFFIXES sigc++-2.0
-)
-
-# Glib-related libraries also use a separate config header, which is in lib dir
-find_path(sigc++Config_INCLUDE_DIR
- NAMES sigc++config.h
- PATHS ${sigc++_PKGCONF_INCLUDE_DIRS}
- PATH_SUFFIXES lib/sigc++-2.0/include
-)
-
-# Finally the library itself
-find_library(sigc++_LIBRARY
- NAMES sigc sigc-2.0
- PATHS ${sigc++_PKGCONF_LIBRARY_DIRS}
-)
-
-set(sigc++_FOUND TRUE)
-set(sigc++_INCLUDE_DIRS ${sigc++_INCLUDE_DIR} ${sigc++Config_INCLUDE_DIR})
-set(sigc++_LIBRARIES ${sigc++_LIBRARY})
-
-mark_as_advanced(sigc++Config_INCLUDE_DIR sigc++_INCLUDE_DIR sigc++_LIBRARY)
-
-
diff --git a/doc/sphinx/started.rst b/doc/sphinx/started.rst
index 45ab0fcf..27fbf5b7 100644
--- a/doc/sphinx/started.rst
+++ b/doc/sphinx/started.rst
@@ -5,13 +5,7 @@ Installing NEML
---------------
Compiling NEML requires the NEML source, a C++ compiler,
-the `Boost `_ library,
-and `libxml++ `_,
-which in turn requires
-`glib `_,
-`glibmm `_,
-`sigc++ `_,
-and `libxml2 `_.
+and the `Boost `_ library.
Additionally, you will need `BLAS `_ and
`LAPACK `_.
@@ -53,7 +47,7 @@ First install the prerequisites
.. code-block:: console
- apt-get install build-essential git cmake libxml++2.6-dev libboost-dev libblas-dev liblapack-dev
+ apt-get install build-essential git cmake libboost-dev libblas-dev liblapack-dev
Clone the neml source code