Add support for X11+EGL.
[freeglut] / CMakeLists.txt
index 397caff..2f0b146 100644 (file)
@@ -65,6 +65,7 @@ IF(NOT FREEGLUT_GLES2 AND NOT FREEGLUT_GLES1)
         src/fg_geometry.c
         src/fg_menu.c
         src/fg_teapot.c
+        src/fg_teapot_data.h
     )
 ELSE()
     LIST(APPEND FREEGLUT_SRCS
@@ -102,6 +103,7 @@ ELSEIF(ANDROID)
         src/egl/fg_internal_egl.h
         src/egl/fg_display_egl.c
         src/egl/fg_init_egl.c
+        src/egl/fg_state_egl.c
         src/egl/fg_structure_egl.c
         src/egl/fg_structure_egl.h
         src/egl/fg_window_egl.c
@@ -123,7 +125,6 @@ ELSEIF(ANDROID)
 ELSE()
     LIST(APPEND FREEGLUT_SRCS
         src/x11/fg_cursor_x11.c
-        src/x11/fg_display_x11.c
         src/x11/fg_ext_x11.c
         src/x11/fg_gamemode_x11.c
         src/x11/fg_glutfont_definitions_x11.c
@@ -139,6 +140,24 @@ ELSE()
         src/x11/fg_window_x11.c
         src/x11/fg_xinput_x11.c
     )
+    IF(FREEGLUT_GLES2 OR FREEGLUT_GLES1)
+        LIST(APPEND FREEGLUT_SRCS
+            src/egl/fg_internal_egl.h
+            src/egl/fg_display_egl.c
+            src/egl/fg_init_egl.c
+            src/egl/fg_state_egl.c
+            src/egl/fg_structure_egl.c
+            src/egl/fg_window_egl.c
+        )
+    ELSE()
+        LIST(APPEND FREEGLUT_SRCS
+            src/x11/fg_internal_x11_glx.h
+            src/x11/fg_display_x11_glx.c
+            src/x11/fg_state_x11_glx.c
+            src/x11/fg_window_x11_glx.c
+            src/x11/fg_window_x11_glx.h
+        )
+    ENDIF()
 ENDIF()
 
 # For OpenGL ES (GLES):
@@ -152,7 +171,7 @@ IF(FREEGLUT_GLES2)
   LIST(APPEND LIBS GLESv2 EGL)
 ELSEIF(FREEGLUT_GLES1)
   ADD_DEFINITIONS(-DFREEGLUT_GLES1)
-  LIST(APPEND LIBS GLESv1 EGL)
+  LIST(APPEND LIBS GLESv1_CM EGL)
 ELSE()
   FIND_PACKAGE(OpenGL REQUIRED)
   LIST(APPEND LIBS ${OPENGL_gl_LIBRARY})
@@ -361,11 +380,21 @@ ENDIF()
 # pkg-config support, to install at $(libdir)/pkgconfig
 # Define static build dependencies
 IF(WIN32)
-  SET(PC_LIBS_PRIVATE "-lopengl32 -lwinmm -lgdi32")
-ELSEIF(ANDROID)
-  SET(PC_LIBS_PRIVATE "-llog -landroid -lGLESv2 -lEGL")
+  SET(PC_LIBS_PRIVATE "-lopengl32 -lwinmm -lgdi32 -lm")
+ELSEIF(FREEGLUT_GLES2)
+  IF(ANDROID)
+    SET(PC_LIBS_PRIVATE "-llog -landroid -lGLESv2 -lEGL -lm")
+  ELSE()
+    SET(PC_LIBS_PRIVATE "-lX11 -lXxf86vm -lXrandr -lGLESv2 -lEGL -lm")
+  ENDIF()
+ELSEIF(FREEGLUT_GLES1)
+  IF(ANDROID)
+    SET(PC_LIBS_PRIVATE "-llog -landroid -lGLESv1_CM -lEGL -lm")
+  ELSE()
+    SET(PC_LIBS_PRIVATE "-lX11 -lXxf86vm -lXrandr -lGLESv1_CM -lEGL -lm")
+  ENDIF()
 ELSE()
-  SET(PC_LIBS_PRIVATE "-lX11 -lXxf86vm -lXrandr -lGLESv2 -lEGL")
+  SET(PC_LIBS_PRIVATE "-lX11 -lXxf86vm -lXrandr -lGL -lm")
 ENDIF()
 # Client applications need to define FreeGLUT GLES version to
 # bootstrap headers inclusion in freeglut_std.h: