set (ENABLE_CLI true CACHE BOOL "Enable command Line interface.")
-set (ENABLE_EGL "AUTO" CACHE STRING "Enable EGL support.")
+set (ENABLE_EGL true CACHE BOOL "Enable EGL support.")
##############################################################################
# Find dependencies
-include (FindPkgConfig)
-
set (CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
set (CMAKE_USE_PYTHON_VERSION 2.7 2.6)
find_package (PythonInterp REQUIRED)
-find_package (OpenGL REQUIRED)
find_package (Threads)
find_package (QJSON ${REQUIRE_GUI})
endif ()
-include_directories (${OPENGL_INCLUDE_DIR})
-
if (WIN32)
find_package (DirectX)
+ set (ENABLE_EGL false)
elseif (APPLE)
+ set (ENABLE_EGL false)
else ()
find_package (X11)
endif ()
if (ENABLE_EGL)
- if (NOT ENABLE_EGL STREQUAL "AUTO")
- set (REQUIRE_EGL REQUIRED)
- endif ()
- pkg_check_modules (EGL egl glesv1_cm glesv2 ${REQUIRE_EGL})
- if (EGL_FOUND)
- include_directories (${EGL_INCLUDE_DIR})
- add_definitions (-DHAVE_EGL)
- endif ()
- else ()
- set (EGL_FOUND 0)
+ add_definitions (-DHAVE_EGL)
endif ()
endif ()
set (QJSON_FOUND TRUE)
endif ()
-# For glext headers. Needs to be before system includes as often system's GL
-# headers bundle and include glext.h and glxext.h
-include_directories (BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/glext)
-
-# For EGL headers
-include_directories (${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/khr)
+# We use bundled headers for all Khronos APIs, to guarantee support for both
+# OpenGL and OpenGL ES at build time, because the OpenGL and OpenGL ES 1 APIs
+# are so intertwined that conditional compilation extremely difficult. This
+# also avoids missing/inconsistent declarations in system headers.
+include_directories (BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/khronos)
##############################################################################
# Installation directories
endif ()
-if (EGL_FOUND)
+if (ENABLE_EGL AND NOT WIN32 AND NOT APPLE)
# libEGL.so/libGL.so
add_custom_command (
OUTPUT egltrace.cpp
target_link_libraries (glretrace
"-framework Cocoa"
"-framework ApplicationServices" # CGS*
- ${OPENGL_gl_LIBRARY} # CGL*
+ #"-framework OpenGL" # CGL*
)
else ()
target_link_libraries (glretrace ${X11_X11_LIB})
install (TARGETS glretrace RUNTIME DESTINATION bin)
endif ()
-if (EGL_FOUND AND X11_FOUND AND NOT WIN32 AND NOT APPLE)
+if (ENABLE_EGL AND X11_FOUND AND NOT WIN32 AND NOT APPLE)
add_executable (eglretrace
${retrace_sources}
glws_egl_xlib.cpp