Index: FindGLIB2.cmake
===================================================================
--- FindGLIB2.cmake	(revision 53524)
+++ FindGLIB2.cmake	(working copy)
@@ -20,7 +20,11 @@
 endif()
 
 include( FindWSWinLibs )
-FindWSWinLibs( "gtk[23]" "GLIB2_HINTS" )
+IF(ENABLE_GTK3)
+	FindWSWinLibs( "gtk3" "GLIB2_HINTS" )
+ELSE()
+	FindWSWinLibs( "gtk2" "GLIB2_HINTS" )
+ENDIF()
 
 find_package( PkgConfig )
 if( GLIB2_FIND_REQUIRED )
Index: FindGMODULE2.cmake
===================================================================
--- FindGMODULE2.cmake	(revision 53524)
+++ FindGMODULE2.cmake	(working copy)
@@ -29,24 +29,45 @@
 	PKG_SEARCH_MODULE( GMODULE2 ${_pkgconfig_REQUIRED} gmodule-2.0 )
 ENDIF()
 
-IF( NOT GMODULE2_FOUND  )
-	INCLUDE( FindWSWinLibs )
-	FindWSWinLibs( "gtk[23]" "GMODULE2_HINTS" )
-	FIND_PATH( GMODULE2_INCLUDE_DIRS
+INCLUDE( FindWSWinLibs )
+IF(ENABLE_GTK3)
+	FindWSWinLibs( "gtk3" "GMODULE2_HINTS" )
+ELSE()
+	FindWSWinLibs( "gtk2" "GMODULE2_HINTS" )
+ENDIF()
+FIND_PATH( GMODULE2_MAIN_INCLUDE_DIR
+	NAMES
+		gmodule.h
+	PATH_SUFFIXES
+		glib-2.0
+	HINTS
+		"${GMODULE2_HINTS}/include"
+)
+IF( APPLE )
+	FIND_LIBRARY( GMODULE2_LIBRARY glib )
+ELSE()
+	FIND_LIBRARY( GMODULE2_LIBRARY
 		NAMES
-			gmodule.h
-		PATH_SUFFIXES
-			glib-2.0
+			gmodule-2.0
+			gmodule
 		HINTS
-			"${GMODULE2_HINTS}/include"
+			"${GMODULE2_HINTS}/lib"
 	)
-	IF( APPLE )
-		FIND_LIBRARY( GMODULE2_LIBRARIES glib )
-	ELSE()
-		FIND_LIBRARY( GMODULE2_LIBRARIES NAMES gmodule-2.0 gmodule HINTS "${GMODULE2_HINTS}/lib" )
-	ENDIF()
-	INCLUDE( FindPackageHandleStandardArgs )
-	FIND_PACKAGE_HANDLE_STANDARD_ARGS( GMODULE2 DEFAULT_MSG GMODULE2_LIBRARIES GMODULE2_INCLUDE_DIRS )
 ENDIF()
 
+INCLUDE( FindPackageHandleStandardArgs )
+FIND_PACKAGE_HANDLE_STANDARD_ARGS( GMODULE2
+	DEFAULT_MSG
+	GMODULE2_LIBRARY
+	GMODULE2_MAIN_INCLUDE_DIR
+)
+
+if( GMODULE2_FOUND )
+	set( GMODULE2_LIBRARIES ${GMODULE2_LIBRARY} )
+	set( GMODULE2_INCLUDE_DIRS ${GMODULE2_MAIN_INCLUDE_DIR} )
+else()
+	set( GMODULE2_LIBRARIES )
+	set( GMODULE2_INCLUDE_DIRS )
+endif()
+
 MARK_AS_ADVANCED( GMODULE2_LIBRARIES GMODULE2_INCLUDE_DIRS )
Index: FindGTHREAD2.cmake
===================================================================
--- FindGTHREAD2.cmake	(revision 53524)
+++ FindGTHREAD2.cmake	(working copy)
@@ -29,17 +29,31 @@
 	PKG_SEARCH_MODULE( GTHREAD2 ${_pkgconfig_REQUIRED} gthread-2.0 )
 ENDIF()
 
-IF( NOT GTHREAD2_FOUND )
-	INCLUDE(FindWSWinLibs)
-	FindWSWinLibs("gtk[23]" "GTHREAD2_HINTS")
-	FIND_PATH( GTHREAD2_INCLUDE_DIRS gthread.h PATH_SUFFIXES glib-2.0 glib GLib.framework/Headers/glib glib-2.0/glib HINTS "${GTHREAD2_HINTS}/include" )
-	IF( APPLE )
-		FIND_LIBRARY( GTHREAD2_LIBRARIES glib )
-	ELSE()
-		FIND_LIBRARY( GTHREAD2_LIBRARIES gthread-2.0 HINTS "${GTHREAD2_HINTS}/lib" )
-	ENDIF()
-	INCLUDE(FindPackageHandleStandardArgs)
-	FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTHREAD2 DEFAULT_MSG GTHREAD2_LIBRARIES GTHREAD2_INCLUDE_DIRS)
+INCLUDE(FindWSWinLibs)
+IF(ENABLE_GTK3)
+	FindWSWinLibs( "gtk3" "GTHREAD2_HINTS" )
+ELSE()
+	FindWSWinLibs( "gtk2" "GTHREAD2_HINTS" )
 ENDIF()
+FIND_PATH( GTHREAD2_INCLUDE_DIRS
+                gthread.h
+        PATH_SUFFIXES
+                glib-2.0
+                glib
+                GLib.framework/Headers/glib glib-2.0/glib
+        HINTS
+                "${GTHREAD2_HINTS}/include"
+)
+IF( APPLE )
+	FIND_LIBRARY( GTHREAD2_LIBRARIES glib )
+ELSE()
+	FIND_LIBRARY( GTHREAD2_LIBRARIES
+	        gthread-2.0
+	HINTS
+	        "${GTHREAD2_HINTS}/lib"
+	)
+ENDIF()
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTHREAD2 DEFAULT_MSG GTHREAD2_LIBRARIES GTHREAD2_INCLUDE_DIRS)
 
 MARK_AS_ADVANCED( GTHREAD2_LIBRARIES GTHREAD2_INCLUDE_DIRS )
