Use gcc-c++ >= 4.5
[platform/upstream/libzypp.git] / CMakeLists.txt
index f3e33cb..c975716 100644 (file)
@@ -25,7 +25,7 @@ include(CheckCXXCompilerFlag)
 CHECK_C_COMPILER_FLAG("-Werror=format-security" CC_FORMAT_SECURITY)
 CHECK_CXX_COMPILER_FLAG("-Werror=format-security" CXX_FORMAT_SECURITY)
 
-SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-strict-aliasing -fPIC -g -Wall -Woverloaded-virtual -Wnon-virtual-dtor -Wl,-as-needed" )
+SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-strict-aliasing -fPIC -g -Wall -Woverloaded-virtual -Wnon-virtual-dtor -Wl,-as-needed -std=c++0x" )
 SET( CMAKE_C_FLAGS   "${CMAKE_C_FLAGS}   -fno-strict-aliasing -fPIC -g -Wall -Wl,-as-needed" )
 
 set( CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS} -O3" )
@@ -76,12 +76,15 @@ ELSE ( NOT RPM_FOUND)
        MESSAGE( STATUS "rpm found: enable rpm-4 compat interface." )
        ADD_DEFINITIONS(-D_RPM_5)
   elseif ( RPM_SUSPECT_VERSION STREQUAL "4.x" )
+       MESSAGE( STATUS "rpm found: use rpm-4.x interface." )
+       ADD_DEFINITIONS(-D_RPM_4_X)
+  elseif ( RPM_SUSPECT_VERSION STREQUAL "4.4" )
        MESSAGE( STATUS "rpm found: enable rpm-4.4 legacy interface." )
-       ADD_DEFINITIONS(-D_RPM_4_4_COMPAT)
+       ADD_DEFINITIONS(-D_RPM_4_4)
   endif ( RPM_SUSPECT_VERSION STREQUAL "5.x" )
 ENDIF( NOT RPM_FOUND)
 
-FIND_PACKAGE(Boost REQUIRED)
+FIND_PACKAGE(Boost REQUIRED COMPONENTS program_options unit_test_framework)
 IF (Boost_FOUND)
   MESSAGE( STATUS "boost found: includes in ${Boost_INCLUDE_DIRS}, library in ${Boost_LIBRARY_DIRS}")
   INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
@@ -128,7 +131,26 @@ ENDIF( NOT SATSOLVER_FOUND )
 FIND_PACKAGE(EXPAT REQUIRED)
 
 FIND_PACKAGE(OpenSSL REQUIRED)
-FIND_PACKAGE(Udev REQUIRED)
+
+FIND_PACKAGE(Udev)
+IF ( NOT UDEV_FOUND )
+  FIND_PACKAGE(Hal)
+  IF ( NOT HAL_FOUND )
+    MESSAGE(WARNING "No udev or HAL. CD device detection will be poor")
+  ELSE ( NOT HAL_FOUND )
+      ADD_DEFINITIONS(-DHAVE_HAL)
+      INCLUDE_DIRECTORIES(${HAL_INCLUDE_DIR})
+      INCLUDE_DIRECTORIES(${HAL_INCLUDE_DIR}/hal)
+      # HAL requires working dbus
+      FIND_PACKAGE(Dbus REQUIRED)
+      IF(DBUS_FOUND)
+        INCLUDE_DIRECTORIES(${DBUS_INCLUDE_DIR})
+        INCLUDE_DIRECTORIES(${DBUS_ARCH_INCLUDE_DIR})
+      ENDIF(DBUS_FOUND)
+  ENDIF ( NOT HAL_FOUND )
+ELSE ( NOT UDEV_FOUND )
+  ADD_DEFINITIONS(-DHAVE_UDEV)
+ENDIF ( NOT UDEV_FOUND )
 
 FIND_PACKAGE(libproxy)
 IF ( NOT LIBPROXY_FOUND )