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)
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)
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
add_subdirectory(src)
add_subdirectory(configlib)
-add_subdirectory(xmllib)
add_subdirectory(utils)
add_subdirectory(test)
+if (BUILD_XMLLIB)
+ add_subdirectory(xmllib)
+endif(BUILD_XMLLIB)
+%bcond_with Intra2net
+%bcond_with xmllib
+
+# Detect Intra2net build environment
+%if %{with Intra2net}
+ %define with_xmllib 1
+%endif
+
Summary: library with functions common in Intra2net programs
Name: libi2ncommon
Version: ##VERSION##
The config module provides a global configuration system with decentralized
declaration of the config variables.
+%if %{with xmllib}
%package xml
Summary: library with a xml module
Group: Intranator
%description xml
The xml module provides common xml functions.
+%endif
%package utils
Summary: library with open source utility modules
export CFLAGS="$RPM_OPT_FLAGS"
export CXXFLAGS="$RPM_OPT_FLAGS"
-cmake -DCMAKE_INSTALL_PREFIX="%{prefix}" ../
+
+CMAKE_OPTS=""
+%if %{with xmllib}
+ CMAKE_OPTS="$CMAKE_OPTS -DBUILD_XMLLIB=ON"
+%endif
+
+cmake -DCMAKE_INSTALL_PREFIX="%{prefix}" $CMAKE_OPTS ../
make %{?_smp_mflags} VERBOSE=1
%doc COPYING.GPL
%{prefix}/lib/libi2ncommon_config.so*
+%if %{with xmllib}
%files xml
%defattr(-,root,root)
%doc COPYING.GPL
%{prefix}/lib/libi2ncommon_xml.so*
+%endif
%files utils
%defattr(-,root,root)