Module: Demos
Branch: master
Commit: 1983ede372d373169c4c1b51f59be044a710f714
URL:    
http://cgit.freedesktop.org/mesa/demos/commit/?id=1983ede372d373169c4c1b51f59be044a710f714

Author: Jose Fonseca <jfonseca@hera>
Date:   Thu Nov 24 21:40:57 2011 +0000

cmake: Build the remainder of egl subtree.

---

 CMakeLists.txt                        |   11 +++++-
 src/CMakeLists.txt                    |   10 +++---
 src/egl/CMakeLists.txt                |   20 ++++++++++-
 src/egl/eglut/CMakeLists.txt          |   24 +++++++-----
 src/egl/oes_vg/CMakeLists.txt         |   20 ++++++++++
 src/egl/opengl/CMakeLists.txt         |    4 +-
 src/egl/opengles1/CMakeLists.txt      |   62 +++++++++++++++++++++++++++++++++
 src/egl/opengles2/CMakeLists.txt      |   40 +++++++++++++++++++++
 src/egl/openvg/CMakeLists.txt         |   44 +++++++++++++++++++++++
 src/egl/openvg/trivial/CMakeLists.txt |   50 ++++++++++++++++++++++++++
 10 files changed, 265 insertions(+), 20 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index d07215f..90a9841 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,12 +2,12 @@ cmake_minimum_required (VERSION 2.8)
 
 project (mesademos)
 
+include (FindPkgConfig)
+
 find_package (OpenGL REQUIRED)
 find_package (GLUT REQUIRED)
 find_package (X11)
 
-find_library(EGL_egl_LIBRARY EGL /usr/lib)
-
 find_library (GLEW_glew_LIBRARY GLEW
        /usr/lib
 )
@@ -16,6 +16,13 @@ find_path (GLEW_INCLUDE_DIR GL/glew.h
       /usr/include/GL
 )
 
+if (NOT WIN32)
+       pkg_check_modules (EGL egl)
+       pkg_check_modules (GLESV1 glesv1_cm)
+       pkg_check_modules (GLESV2 glesv2)
+       pkg_check_modules (VG vg)
+endif ()
+
 if (UNIX)
        link_libraries(m)
 endif (UNIX)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 1e0f695..13da6b6 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -16,16 +16,16 @@ add_subdirectory (vpglsl)
 add_subdirectory (gs)
 add_subdirectory (slang)
 
-if(EGL_egl_LIBRARY)
-  add_subdirectory(egl)
-endif(EGL_egl_LIBRARY)
+if (EGL_FOUND)
+       add_subdirectory(egl)
+endif ()
 
 if (X11_FOUND)
        add_subdirectory (xdemos)
 endif (X11_FOUND)
 
-if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
+if (WIN32)
        add_subdirectory (wgl)
-endif (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
+endif (WIN32)
 
 add_subdirectory (data)
diff --git a/src/egl/CMakeLists.txt b/src/egl/CMakeLists.txt
index 0318575..2a2b6fa 100644
--- a/src/egl/CMakeLists.txt
+++ b/src/egl/CMakeLists.txt
@@ -1,2 +1,20 @@
+
 add_subdirectory(eglut)
-add_subdirectory(opengl)
\ No newline at end of file
+
+add_subdirectory(opengl)
+
+if (GLESV1_FOUND)
+       add_subdirectory(opengles1)
+endif ()
+
+if (GLESV2_FOUND)
+       add_subdirectory(opengles2)
+endif ()
+
+if (VG_FOUND)
+       add_subdirectory(openvg)
+endif ()
+
+if (GLESV1_FOUND AND VG_FOUND)
+       add_subdirectory(oes_vg)
+endif ()
diff --git a/src/egl/eglut/CMakeLists.txt b/src/egl/eglut/CMakeLists.txt
index d86b59a..a885977 100644
--- a/src/egl/eglut/CMakeLists.txt
+++ b/src/egl/eglut/CMakeLists.txt
@@ -1,13 +1,17 @@
-if(X11_FOUND)
-  add_library(eglut_x11 eglut.h eglut.c eglutint.h eglut_x11.c)
-  target_link_libraries(eglut_x11 ${EGL_egl_LIBRARY} ${X11_X11_LIB})
-  if (BUILD_SHARED_LIBS)
-    install (TARGETS eglut_x11 DESTINATION ${LIBDIR})
-  endif (BUILD_SHARED_LIBS)
-endif(X11_FOUND)
+include_directories (
+       ${EGL_INCLUDE_DIRS}
+)
 
-add_library(eglut_screen eglut.h eglut.c eglutint.h eglut_screen.c)
-target_link_libraries(eglut_screen ${EGL_egl_LIBRARY})
+if (X11_FOUND)
+       add_library (eglut_x11 eglut.h eglut.c eglutint.h eglut_x11.c)
+       target_link_libraries (eglut_x11 ${EGL_LIBRARIES} ${X11_X11_LIB})
+       if (BUILD_SHARED_LIBS)
+               install (TARGETS eglut_x11 DESTINATION ${LIBDIR})
+       endif (BUILD_SHARED_LIBS)
+endif (X11_FOUND)
+
+add_library (eglut_screen eglut.h eglut.c eglutint.h eglut_screen.c)
+target_link_libraries (eglut_screen ${EGL_LIBRARIES})
 if (BUILD_SHARED_LIBS)
-  install (TARGETS eglut_screen DESTINATION ${LIBDIR})
+       install (TARGETS eglut_screen DESTINATION ${LIBDIR})
 endif (BUILD_SHARED_LIBS)
diff --git a/src/egl/oes_vg/CMakeLists.txt b/src/egl/oes_vg/CMakeLists.txt
new file mode 100644
index 0000000..fcc1291
--- /dev/null
+++ b/src/egl/oes_vg/CMakeLists.txt
@@ -0,0 +1,20 @@
+include_directories(
+       ${EGL_INCLUDE_DIRS}
+       ${GLESV1_INCLUDE_DIRS}
+       ${VG_INCLUDE_DIRS}
+)
+
+set (subdir egl/oes_vg)
+
+set (targets
+       tex2vgimage
+       vgimage2tex
+)
+
+if (X11_FOUND)
+       foreach (target ${targets})
+               add_executable (${target} ${target}.c)
+               target_link_libraries (${target} ${VG_LIBRARIES} 
${GLESV1_LIBRARIES} ${EGL_LIBRARIES} ${X11_X11_LIB})
+               install (TARGETS ${target} DESTINATION ${subdir})
+       endforeach (target)
+endif ()
diff --git a/src/egl/opengl/CMakeLists.txt b/src/egl/opengl/CMakeLists.txt
index 854f64a..04fb6dd 100644
--- a/src/egl/opengl/CMakeLists.txt
+++ b/src/egl/opengl/CMakeLists.txt
@@ -1,12 +1,12 @@
 include_directories(
        ${CMAKE_SOURCE_DIR}/src/egl/eglut
        ${CMAKE_SOURCE_DIR}/src/util
-       ${EGL_INCLUDE_DIR}
+       ${EGL_INCLUDE_DIRS}
        ${OPENGL_INCLUDE_PATH}
 )
 
 link_libraries (
-       ${EGL_egl_LIBRARY}
+       ${EGL_LIBRARIES}
        ${OPENGL_gl_LIBRARY}
 )
 
diff --git a/src/egl/opengles1/CMakeLists.txt b/src/egl/opengles1/CMakeLists.txt
new file mode 100644
index 0000000..9f9a758
--- /dev/null
+++ b/src/egl/opengles1/CMakeLists.txt
@@ -0,0 +1,62 @@
+include_directories(
+       ${CMAKE_SOURCE_DIR}/src/egl/eglut
+       ${CMAKE_SOURCE_DIR}/src/util
+       ${EGL_INCLUDE_DIRS}
+       ${GLESV1_INCLUDE_DIRS}
+)
+
+set (subdir egl/opengles1)
+
+set (targets
+       bindtex
+       es1_info
+       msaa
+       pbuffer
+       render_tex
+       texture_from_pixmap
+       two_win
+)
+
+if (X11_FOUND)
+       foreach (target ${targets})
+               add_executable (${target} ${target}.c)
+               target_link_libraries (${target} ${EGL_LIBRARIES} 
${GLESV1_LIBRARIES} ${X11_X11_LIB})
+               install (TARGETS ${target} DESTINATION ${subdir})
+       endforeach (target)
+endif ()
+
+
+# Targets that can be built both for fullscreen EGL and X11
+
+
+set (targets
+       drawtex
+       gears
+       torus
+       tri
+)
+
+foreach (target ${targets})
+       add_executable (${target}_screen ${target}.c)
+       target_link_libraries (${target}_screen eglut_screen 
${GLESV1_LIBRARIES})
+       install (TARGETS ${target}_screen DESTINATION ${subdir})
+
+       if (X11_FOUND)
+               add_executable (${target}_x11 ${target}.c)
+               target_link_libraries (${target}_x11 eglut_x11 
${GLESV1_LIBRARIES})
+               install (TARGETS ${target}_x11 DESTINATION ${subdir})
+       endif ()
+endforeach (target)
+
+if (X11_FOUND)
+       # intentionally not link to GLESV1_LIBS
+       add_executable (clear clear.c)
+       target_link_libraries (clear eglut_x11)
+       install (TARGETS clear DESTINATION ${subdir})
+endif ()
+       
+if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+       add_executable (eglfbdev eglfbdev.c)
+       target_link_libraries (eglfbdev ${EGL_LIBRARIES} ${GLESV1_LIBRARIES})
+       install (TARGETS eglfbdev DESTINATION ${subdir})
+endif ()
diff --git a/src/egl/opengles2/CMakeLists.txt b/src/egl/opengles2/CMakeLists.txt
new file mode 100644
index 0000000..227ba66
--- /dev/null
+++ b/src/egl/opengles2/CMakeLists.txt
@@ -0,0 +1,40 @@
+include_directories(
+       ${CMAKE_SOURCE_DIR}/src/egl/eglut
+       ${CMAKE_SOURCE_DIR}/src/util
+       ${EGL_INCLUDE_DIRS}
+       ${GLESV2_INCLUDE_DIRS}
+)
+
+set (subdir egl/opengles2)
+
+set (targets
+       es2_info
+       es2tri
+)
+
+if (X11_FOUND)
+       foreach (target ${targets})
+               add_executable (${target} ${target}.c)
+               target_link_libraries (${target} ${EGL_LIBRARIES} 
${GLESV2_LIBRARIES} ${X11_X11_LIB})
+               install (TARGETS ${target} DESTINATION ${subdir})
+       endforeach (target)
+endif ()
+
+
+# Targets that can be built both for fullscreen EGL and X11
+
+set (targets
+       es2gears
+)
+
+foreach (target ${targets})
+       add_executable (${target}_screen ${target}.c)
+       target_link_libraries (${target}_screen eglut_screen 
${GLESV2_LIBRARIES})
+       install (TARGETS ${target}_screen DESTINATION ${subdir})
+
+       if (X11_FOUND)
+               add_executable (${target}_x11 ${target}.c)
+               target_link_libraries (${target}_x11 eglut_x11 
${GLESV2_LIBRARIES})
+               install (TARGETS ${target}_x11 DESTINATION ${subdir})
+       endif ()
+endforeach (target)
diff --git a/src/egl/openvg/CMakeLists.txt b/src/egl/openvg/CMakeLists.txt
new file mode 100644
index 0000000..adcc755
--- /dev/null
+++ b/src/egl/openvg/CMakeLists.txt
@@ -0,0 +1,44 @@
+include_directories(
+       ${CMAKE_SOURCE_DIR}/src/egl/eglut
+       ${CMAKE_SOURCE_DIR}/src/util
+       ${EGL_INCLUDE_DIRS}
+       ${VG_INCLUDE_DIRS}
+)
+
+set (subdir egl/openvg)
+
+if (X11_FOUND)
+       foreach (target ${targets})
+               add_executable (text text.c)
+               target_link_libraries (text ${EGL_LIBRARIES} ${VG_LIBRARIES} 
${X11_X11_LIB})
+               install (TARGETS text DESTINATION ${subdir})
+       endforeach (target)
+endif ()
+
+
+# Targets that can be built both for fullscreen EGL and X11
+
+set (targets
+       lion
+       sp
+)
+
+foreach (target ${targets})
+       set (sources ${target}.c)
+
+       if (${target} STREQUAL lion)
+               set (sources ${sources} lion-render.c)
+       endif ()
+
+       add_executable (${target}_screen ${sources})
+       target_link_libraries (${target}_screen eglut_screen ${VG_LIBRARIES})
+       install (TARGETS ${target}_screen DESTINATION ${subdir})
+
+       if (X11_FOUND)
+               add_executable (${target}_x11 ${sources})
+               target_link_libraries (${target}_x11 eglut_x11 ${VG_LIBRARIES})
+               install (TARGETS ${target}_x11 DESTINATION ${subdir})
+       endif ()
+endforeach (target)
+
+add_subdirectory (trivial)
diff --git a/src/egl/openvg/trivial/CMakeLists.txt 
b/src/egl/openvg/trivial/CMakeLists.txt
new file mode 100644
index 0000000..1cf4811
--- /dev/null
+++ b/src/egl/openvg/trivial/CMakeLists.txt
@@ -0,0 +1,50 @@
+include_directories(
+       ${EGL_INCLUDE_DIRS}
+       ${VG_INCLUDE_DIRS}
+)
+
+set (subdir egl/openvg/trivial)
+
+add_library (common STATIC eglcommon)
+
+set (targets
+       arc
+       cap
+       blend
+       clear
+       color_transform
+       coord
+       dash
+       ellipse
+       filter
+       gradorigin
+       image
+       layer
+       lineto
+       lingrad
+       lookup
+       mask4
+       mask
+       mask_render
+       paint
+       path3
+       radialgrad
+       readpixels
+       roundedrect
+       star-nonzero
+       star-oddeven
+       stroke2
+       stroke
+# VGU is broken on current mesa master
+#      vguarc
+)
+
+foreach (target ${targets})
+
+       if (X11_FOUND)
+               add_executable (openvg_${target} ${target}.c)
+               target_link_libraries (openvg_${target} common ${VG_LIBRARIES} 
${EGL_LIBRARIES} ${X11_X11_LIB})
+               set_target_properties (openvg_${target} PROPERTIES OUTPUT_NAME 
${target})
+               install (TARGETS openvg_${target} DESTINATION ${subdir})
+       endif ()
+endforeach (target)

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to