--- CMakeLists.txt.orig	2009-11-30 11:15:26.000000000 -0600
+++ CMakeLists.txt	2009-11-30 11:16:54.000000000 -0600
@@ -64,35 +64,51 @@
 FIND_PACKAGE(PNG)
 FIND_PACKAGE(TIFF)
 FIND_PACKAGE(Jasper)
-FIND_PACKAGE(Kdcraw)
-FIND_PACKAGE(Kexiv2)
-FIND_PACKAGE(Kipi)
-
-# Check KDcraw version installed to compile fine.
-IF(NOT WIN32)
-    FIND_PACKAGE(PkgConfig)
-    PKG_CHECK_MODULES(Kdcraw libkdcraw>=0.4.0)
-    IF(Kdcraw_FOUND)
-        SET(KDCRAW_FOR_DIGIKAM TRUE)
-    ELSE(Kdcraw_FOUND)
-        SET(KDCRAW_FOR_DIGIKAM FALSE)
-    ENDIF(Kdcraw_FOUND)
-ELSE(NOT WIN32)
-    SET(KDCRAW_FOR_DIGIKAM TRUE)
-ENDIF(NOT WIN32)
-
-# Check KExiv2 version installed to compile fine.
-IF(NOT WIN32)
-    FIND_PACKAGE(PkgConfig)
-    PKG_CHECK_MODULES(Kexiv2 libkexiv2>=0.5.0)
-    IF(Kexiv2_FOUND)
-        SET(KEXIV2_FOR_DIGIKAM TRUE)
-    ELSE(Kexiv2_FOUND)
-        SET(KEXIV2_FOR_DIGIKAM FALSE)
-    ENDIF(Kexiv2_FOUND)
-ELSE(NOT WIN32)
-    SET(KEXIV2_FOR_DIGIKAM TRUE)
-ENDIF(NOT WIN32)
+
+INCLUDE(FindPkgConfig)
+# Check for KExiv2
+PKG_CHECK_MODULES(LIBKEXIV2 libkexiv2-kde4>=0.5.0)
+FIND_PATH(KEXIV2_INCLUDE_DIR NAMES libkexiv2/version.h
+  PATHS ${LIBKEXIV2_INCLUDE_DIRS} ${KDE4_INCLUDE_DIR} NO_DEFAULT_PATH)
+FIND_LIBRARY(KEXIV2_LIBRARY NAMES kexiv2
+  PATHS ${LIBKEXIV2_LIBRARY_DIRS} ${KDE4_LIB_DIR} NO_DEFAULT_PATH)
+
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(KEXIV2 DEFAULT_MSG KEXIV2_LIBRARY KEXIV2_INCLUDE_DIR)
+
+IF(KEXIV2_FOUND)
+  SET(KEXIV2_LIBRARIES ${KEXIV2_LIBRARY})
+  SET(KEXIV2_FOR_DIGIKAM TRUE)
+ENDIF(KEXIV2_FOUND)
+
+# Check for Kdcraw
+PKG_CHECK_MODULES(LIBKDCRAW libkdcraw-kde4>=0.4.0)
+FIND_PATH(KDCRAW_INCLUDE_DIR NAMES libkdcraw/version.h
+  PATHS ${LIBKDCRAW_INCLUDE_DIRS} ${KDE4_INCLUDE_DIR} NO_DEFAULT_PATH)
+FIND_LIBRARY(KDCRAW_LIBRARY NAMES kdcraw
+  PATHS ${LIBKDCRAW_LIBRARY_DIRS} ${KDE4_LIB_DIR} NO_DEFAULT_PATH)
+
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(KDCRAW DEFAULT_MSG KDCRAW_LIBRARY KDCRAW_INCLUDE_DIR)
+
+IF(KDCRAW_FOUND)
+  SET(KDCRAW_LIBRARIES ${KDCRAW_LIBRARY})
+  SET(KDCRAW_FOR_DIGIKAM TRUE)
+ENDIF(KDCRAW_FOUND)
+
+# Check for Kipi
+PKG_CHECK_MODULES(LIBKIPI libkipi-kde4>=0.2.0)
+FIND_PATH(KIPI_INCLUDE_DIR NAMES libkipi/version.h
+  PATHS ${LIBKIPI_INCLUDE_DIRS} ${KDE4_INCLUDE_DIR} NO_DEFAULT_PATH)
+FIND_LIBRARY(KIPI_LIBRARY NAMES kipi
+  PATHS ${LIBKIPI_LIBRARY_DIRS} ${KDE4_LIB_DIR} NO_DEFAULT_PATH)
+
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(KIPI DEFAULT_MSG KIPI_LIBRARY KIPI_INCLUDE_DIR)
+
+IF(KIPI_FOUND)
+  SET(KIPI_LIBRARIES ${KIPI_LIBRARY})
+ENDIF(KIPI_FOUND)
 
 # ==================================================================================================
 # Optional dependencies
