Make build of xml library part optional
[libi2ncommon] / CMakeLists.txt
index 15e3347..cf7e34f 100644 (file)
@@ -95,6 +95,14 @@ else(DOXYGEN_FOUND)
    message(STATUS "Not generating API documentation")
 endif(DOXYGEN_FOUND)
 
+# Conditional build itmes
+option(BUILD_XMLLIB "Build xml part of libi2ncommon - needs patched libxml++" OFF)
+if (BUILD_XMLLIB)
+   message(STATUS "Build xml library part")
+else(BUILD_XMLLIB)
+   message(STATUS "NOT building xml library part")
+endif(BUILD_XMLLIB)
+
 # Find external packages
 include(FindPkgConfig)
 
@@ -102,7 +110,9 @@ include(FindPkgConfig)
 find_package(Boost COMPONENTS iostreams unit_test_framework REQUIRED)
 
 # Find libxml++
-pkg_check_modules(XMLPP REQUIRED libxml++-2.6)
+if (BUILD_XMLLIB)
+    pkg_check_modules(XMLPP REQUIRED libxml++-2.6)
+endif(BUILD_XMLLIB)
 
 # Find iconv
 pkg_check_modules(ICONV REQUIRED libiconv)
@@ -130,15 +140,19 @@ set(ICONV_CFLAGS "-I${ICONV_CFLAGS}")
 
 configure_file(${CMAKE_SOURCE_DIR}/libi2ncommon.pc.in ${CMAKE_BINARY_DIR}/libi2ncommon.pc @ONLY)
 configure_file(${CMAKE_SOURCE_DIR}/libi2ncommon_config.pc.in ${CMAKE_BINARY_DIR}/libi2ncommon_config.pc @ONLY)
-configure_file(${CMAKE_SOURCE_DIR}/libi2ncommon_xml.pc.in ${CMAKE_BINARY_DIR}/libi2ncommon_xml.pc @ONLY)
 configure_file(${CMAKE_SOURCE_DIR}/libi2ncommon_utils.pc.in ${CMAKE_BINARY_DIR}/libi2ncommon_utils.pc @ONLY)
 
 install(FILES ${CMAKE_BINARY_DIR}/libi2ncommon.pc
                      ${CMAKE_BINARY_DIR}/libi2ncommon_config.pc
-                     ${CMAKE_BINARY_DIR}/libi2ncommon_xml.pc
                      ${CMAKE_BINARY_DIR}/libi2ncommon_utils.pc
         DESTINATION lib/pkgconfig)
 
+if (BUILD_XMLLIB)
+    configure_file(${CMAKE_SOURCE_DIR}/libi2ncommon_xml.pc.in ${CMAKE_BINARY_DIR}/libi2ncommon_xml.pc @ONLY)
+    install(FILES ${CMAKE_BINARY_DIR}/libi2ncommon_xml.pc DESTINATION lib/pkgconfig)
+endif(BUILD_XMLLIB)
+
+
 include(CPack)
 
 # Subdirectories
@@ -146,6 +160,8 @@ set(CPACK_SET_DESTDIR "ON")
 
 add_subdirectory(src)
 add_subdirectory(configlib)
-add_subdirectory(xmllib)
 add_subdirectory(utils)
 add_subdirectory(test)
+if (BUILD_XMLLIB)
+    add_subdirectory(xmllib)
+endif(BUILD_XMLLIB)