--- piglit/CMakeLists.txt	2012-05-01 13:14:42.000000000 
+++ piglit/CMakeLists.txt	2012-05-02 15:50:47.000000000 
@@ -64,13 +64,13 @@
 if(NOT import_numpy_error_code EQUAL 0)
 	message(FATAL_ERROR "numpy library not found")
 endif(NOT import_numpy_error_code EQUAL 0)
 
 # Default to compiling with debug information (`gcc -g`):
 if(NOT CMAKE_BUILD_TYPE)
-	SET(CMAKE_BUILD_TYPE Debug CACHE STRING
+	SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
 	"May be one of: None Debug RelWithDebInfo Release MinSizeRel" FORCE)
 endif(NOT CMAKE_BUILD_TYPE)
 
 if (NOT MSVC)
 	CHECK_C_COMPILER_FLAG("-Wall" C_COMPILER_FLAG_WALL)
 	IF (C_COMPILER_FLAG_WALL)
@@ -141,18 +141,21 @@
 		NAMES GL/glext.h
 		PATHS ${OPENGL_INCLUDE_DIR}
 		DOC "Include for GL/glext.h"
 	)
 endif (APPLE)
 
+find_library(OPENGL_gles2_LIBRARY NAMES GLESv2)
+
+if(OPENGL_gles2_LIBRARY)
 FIND_LIBRARY(OPENGL_egl_LIBRARY
       NAMES EGL
       PATHS /usr/lib
 )
 find_library(OPENGL_gles1_LIBRARY NAMES GLESv1_CM)
-find_library(OPENGL_gles2_LIBRARY NAMES GLESv2)
+endif(OPENGL_gles2_LIBRARY)
 
 # Put all executables into the bin subdirectory
 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${piglit_BINARY_DIR}/bin)
 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${piglit_BINARY_DIR}/lib)
 
 # Do the same for MSVC, regardless of the build type. This only works correctly
