--- cegui-0.8.7/cmake/FindOgre.cmake.orig	2018-07-21 00:29:21.791332600 +0300
+++ cegui-0.8.7/cmake/FindOgre.cmake	2018-07-21 00:46:31.693239700 +0300
@@ -166,11 +166,24 @@
 if (OGRE_FOUND)
     # Set-up the directory (actually: list of directories that should be added to the inclusion list).
     set (OGRE_INCLUDE_DIR ${OGRE_H_PATH};${OGRE_H_BUILD_SETTINGS_PATH})
+    
+    # Find the release and debug libraries.
+    find_library(OGRE_BITES_LIB NAMES "OgreBites${OGRE_LIB_SUFFIX}"
+                 PATHS ${OGRE_PREFIX_PATH}
+                 PATH_SUFFIXES Release lib/Release)
+                 
+    find_library(OGRE_BITES_LIB_DBG NAMES "OgreBites${OGRE_LIB_SUFFIX}_d"
+                 PATHS ${OGRE_PREFIX_PATH}
+                 PATH_SUFFIXES Debug lib/Debug)
+
+    if (NOT OGRE_BITES_LIB AND OGRE_BITES_LIB_DBG)
+        set(OGRE_BITES_LIB OGRE_BITES_LIB_DBG)
+    endif()
 
     # Set-up the list of directories for the OGRE libraries to link against in the Ogre related components.
-    set (OGRE_LIBRARIES ${OGRE_LIB})
+    set (OGRE_LIBRARIES ${OGRE_LIB} ${OGRE_BITES_LIB})
     if (OGRE_LIB_DBG)
-        set (OGRE_LIBRARIES_DBG ${OGRE_LIB_DBG})
+        set (OGRE_LIBRARIES_DBG ${OGRE_LIB_DBG} ${OGRE_BITES_LIB_DBG})
     endif()
 
     # Ogre was found. If the thread provider is boost, also search for the boost libs.
