Demos (cmake): cmake: Cover as many demos as SCons.
Jose Fonseca
jrfonseca at kemper.freedesktop.org
Fri Nov 5 19:56:58 UTC 2010
Module: Demos
Branch: cmake
Commit: 1703ebf3771a9fb37df7f610feddb71ee26fc39e
URL: http://cgit.freedesktop.org/mesa/demos/commit/?id=1703ebf3771a9fb37df7f610feddb71ee26fc39e
Author: José Fonseca <jfonseca at vmware.com>
Date: Fri Nov 5 19:55:35 2010 +0000
cmake: Cover as many demos as SCons.
---
CMakeLists.txt | 4 +
src/CMakeLists.txt | 24 +++++-
src/demos/CMakeLists.txt | 6 +-
src/fp/CMakeLists.txt | 39 +++++++++
src/fpglsl/CMakeLists.txt | 32 +++++++
src/gs/CMakeLists.txt | 32 +++++++
src/images/CMakeLists.txt | 3 +
src/images/SConscript | 25 +++++-
src/perf/CMakeLists.txt | 37 ++++++++
src/redbook/:wq | 103 +++++++++++++++++++++++
src/redbook/CMakeLists.txt | 103 +++++++++++++++++++++++
src/samples/CMakeLists.txt | 57 +++++++++++++
src/tests/CMakeLists.txt | 141 +++++++++++++++++++++++++++++++
src/trivial/CMakeLists.txt | 196 ++++++++++++++++++++++++++++++++++++++++++++
src/vp/CMakeLists.txt | 32 +++++++
src/vpglsl/CMakeLists.txt | 32 +++++++
src/wgl/CMakeLists.txt | 13 +++
src/xdemos/CMakeLists.txt | 69 +++++++++++++++
18 files changed, 941 insertions(+), 7 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5fb2577..53ad262 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,9 +1,13 @@
cmake_minimum_required (VERSION 2.6)
+# Allow targets with duplicate names
+cmake_policy(SET CMP0002 OLD)
+
project (mesademos)
find_package (OpenGL REQUIRED)
find_package (GLUT REQUIRED)
+find_package (X11)
find_library (GLEW_glew_LIBRARY GLEW
/usr/lib
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 8025523..d3b7364 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,2 +1,24 @@
-add_subdirectory (demos)
add_subdirectory (util)
+
+add_subdirectory (demos)
+add_subdirectory (tests)
+add_subdirectory (trivial)
+add_subdirectory (redbook)
+add_subdirectory (samples)
+add_subdirectory (perf)
+
+add_subdirectory (fp)
+add_subdirectory (fpglsl)
+add_subdirectory (vp)
+add_subdirectory (vpglsl)
+add_subdirectory (gs)
+
+if (X11_FOUND)
+ add_subdirectory (xdemos)
+endif (X11_FOUND)
+
+if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
+ add_subdirectory (wgl)
+endif (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
+
+add_subdirectory (images)
diff --git a/src/demos/CMakeLists.txt b/src/demos/CMakeLists.txt
index 81495cf..26c6dfa 100644
--- a/src/demos/CMakeLists.txt
+++ b/src/demos/CMakeLists.txt
@@ -1,4 +1,4 @@
-include_directories(
+include_directories (
${mesademos_SOURCE_DIR}/src/util
${OPENGL_INCLUDE_PATH}
${GLUT_INCLUDE_DIR}
@@ -79,4 +79,6 @@ endforeach (target)
install (TARGETS ${targets} DESTINATION demos)
-install (FILES geartrain.dat isosurf.dat terrain.dat DESTINATION demos)
+file (GLOB data *.dat)
+
+install (FILES ${data} DESTINATION demos)
diff --git a/src/fp/CMakeLists.txt b/src/fp/CMakeLists.txt
new file mode 100644
index 0000000..658ab1c
--- /dev/null
+++ b/src/fp/CMakeLists.txt
@@ -0,0 +1,39 @@
+include_directories (
+ ${mesademos_SOURCE_DIR}/src/util
+ ${OPENGL_INCLUDE_PATH}
+ ${GLUT_INCLUDE_DIR}
+ ${GLEW_INCLUDE_DIR}
+)
+
+link_directories (
+ ${mesademos_SOURCE_DIR}/src/util
+)
+
+link_libraries (
+ util
+ ${OPENGL_gl_LIBRARY}
+ ${OPENGL_glu_LIBRARY}
+ ${GLUT_glut_LIBRARY}
+ ${GLEW_glew_LIBRARY}
+)
+
+set (targets
+ fp-tri
+ tri-depth
+ tri-depth2
+ tri-depthwrite
+ tri-depthwrite2
+ tri-param
+ tri-tex
+ point-position
+)
+
+foreach (target ${targets})
+ add_executable (${target} ${target}.c)
+endforeach (target)
+
+install (TARGETS ${targets} DESTINATION fp)
+
+file (GLOB data *.txt)
+
+install (FILES ${data} DESTINATION fp)
diff --git a/src/fpglsl/CMakeLists.txt b/src/fpglsl/CMakeLists.txt
new file mode 100644
index 0000000..3dd9a47
--- /dev/null
+++ b/src/fpglsl/CMakeLists.txt
@@ -0,0 +1,32 @@
+include_directories (
+ ${mesademos_SOURCE_DIR}/src/util
+ ${OPENGL_INCLUDE_PATH}
+ ${GLUT_INCLUDE_DIR}
+ ${GLEW_INCLUDE_DIR}
+)
+
+link_directories (
+ ${mesademos_SOURCE_DIR}/src/util
+)
+
+link_libraries (
+ util
+ ${OPENGL_gl_LIBRARY}
+ ${OPENGL_glu_LIBRARY}
+ ${GLUT_glut_LIBRARY}
+ ${GLEW_glew_LIBRARY}
+)
+
+set (targets
+ fp-tri
+)
+
+foreach (target ${targets})
+ add_executable (${target} ${target}.c)
+endforeach (target)
+
+install (TARGETS ${targets} DESTINATION fpglsl)
+
+file (GLOB data *.glsl)
+
+install (FILES ${data} DESTINATION fpglsl)
diff --git a/src/gs/CMakeLists.txt b/src/gs/CMakeLists.txt
new file mode 100644
index 0000000..3ecd4aa
--- /dev/null
+++ b/src/gs/CMakeLists.txt
@@ -0,0 +1,32 @@
+include_directories (
+ ${mesademos_SOURCE_DIR}/src/util
+ ${OPENGL_INCLUDE_PATH}
+ ${GLUT_INCLUDE_DIR}
+ ${GLEW_INCLUDE_DIR}
+)
+
+link_directories (
+ ${mesademos_SOURCE_DIR}/src/util
+)
+
+link_libraries (
+ util
+ ${OPENGL_gl_LIBRARY}
+ ${OPENGL_glu_LIBRARY}
+ ${GLUT_glut_LIBRARY}
+ ${GLEW_glew_LIBRARY}
+)
+
+set (targets
+ gs-tri
+)
+
+foreach (target ${targets})
+ add_executable (${target} ${target}.c)
+endforeach (target)
+
+install (TARGETS ${targets} DESTINATION gs)
+
+file (GLOB data *.glsl)
+
+install (FILES ${data} DESTINATION gs)
diff --git a/src/images/CMakeLists.txt b/src/images/CMakeLists.txt
new file mode 100644
index 0000000..5bcd4f2
--- /dev/null
+++ b/src/images/CMakeLists.txt
@@ -0,0 +1,3 @@
+file (GLOB data *.rgb *.rgba)
+
+install (FILES ${data} DESTINATION images)
diff --git a/src/images/SConscript b/src/images/SConscript
index ab1852b..abf9fc8 100644
--- a/src/images/SConscript
+++ b/src/images/SConscript
@@ -1,10 +1,27 @@
Import('*')
-images = env.Glob('*.rgb') + env.Glob('*.rgba')
+progs = [
+ 'fp-tri',
+ 'tri-depth',
+ 'tri-depth2',
+ 'tri-depthwrite',
+ 'tri-depthwrite2',
+ 'tri-param',
+ 'tri-tex',
+ 'point-position',
+]
-for image in images:
+for prog in progs:
+ progs_env.Program(
+ target = prog,
+ source = [prog + '.c'],
+ )
+
+shaders = env.Glob('*.txt')
+
+for shader in shaders:
env.Command(
- target = image,
- source = image.srcnode(),
+ target = shader,
+ source = shader.srcnode(),
action = [Copy('$TARGET', '$SOURCE')],
)
diff --git a/src/perf/CMakeLists.txt b/src/perf/CMakeLists.txt
new file mode 100644
index 0000000..a3754ed
--- /dev/null
+++ b/src/perf/CMakeLists.txt
@@ -0,0 +1,37 @@
+include_directories (
+ ${mesademos_SOURCE_DIR}/src/util
+ ${OPENGL_INCLUDE_PATH}
+ ${GLUT_INCLUDE_DIR}
+ ${GLEW_INCLUDE_DIR}
+)
+
+link_directories (
+ ${mesademos_SOURCE_DIR}/src/util
+)
+
+link_libraries (
+ util
+ ${OPENGL_gl_LIBRARY}
+ ${OPENGL_glu_LIBRARY}
+ ${GLUT_glut_LIBRARY}
+ ${GLEW_glew_LIBRARY}
+)
+
+set (targets
+ copytex
+ drawoverhead
+ fbobind
+ fill
+ genmipmap
+ readpixels
+ swapbuffers
+ teximage
+ vbo
+ vertexrate
+)
+
+foreach (target ${targets})
+ add_executable (${target} ${target}.c common.c glmain.c)
+endforeach (target)
+
+install (TARGETS ${targets} DESTINATION perf)
diff --git a/src/redbook/:wq b/src/redbook/:wq
new file mode 100644
index 0000000..9a4b4f7
--- /dev/null
+++ b/src/redbook/:wq
@@ -0,0 +1,103 @@
+include_directories (
+ ${mesademos_SOURCE_DIR}/src/util
+ ${OPENGL_INCLUDE_PATH}
+ ${GLUT_INCLUDE_DIR}
+ ${GLEW_INCLUDE_DIR}
+)
+
+link_directories (
+ ${mesademos_SOURCE_DIR}/src/util
+)
+
+link_libraries (
+ util
+ ${OPENGL_gl_LIBRARY}
+ ${OPENGL_glu_LIBRARY}
+ ${GLUT_glut_LIBRARY}
+ ${GLEW_glew_LIBRARY}
+)
+
+set (targets
+ aaindex
+ aapoly
+ aargb
+ accanti
+ accpersp
+ alpha3D
+ alpha
+ anti
+ bezcurve
+ bezmesh
+ checker
+ clip
+ colormat
+ combiner
+ convolution
+ cube
+ cubemap
+ depthcue
+ dof
+ double
+ drawf
+ feedback
+ fog
+ fogcoord
+ fogindex
+ font
+ hello
+ histogram
+ image
+ light
+ lines
+ list
+ material
+ minmax
+ mipmap
+ model
+ movelight
+ multisamp
+ multitex
+ mvarray
+ nurbs
+ pickdepth
+ picksquare
+ plane
+ planet
+ pointp
+ polyoff
+ polys
+ quadric
+ robot
+ sccolorlight
+ scenebamb
+ scene
+ sceneflat
+ select
+ shadowmap
+ smooth
+ stencil
+ stroke
+ surface
+ surfpoints
+ teaambient
+ teapots
+ tess
+ tesswind
+ texbind
+ texgen
+ texprox
+ texsub
+ texture3d
+ texturesurf
+ torus
+ trim
+ unproject
+ varray
+ wrap
+)
+
+foreach (target ${targets})
+ add_executable (${target} ${target}.c)
+endforeach (target)
+
+install (TARGETS ${targets} DESTINATION demos)
diff --git a/src/redbook/CMakeLists.txt b/src/redbook/CMakeLists.txt
new file mode 100644
index 0000000..8b84913
--- /dev/null
+++ b/src/redbook/CMakeLists.txt
@@ -0,0 +1,103 @@
+include_directories (
+ ${mesademos_SOURCE_DIR}/src/util
+ ${OPENGL_INCLUDE_PATH}
+ ${GLUT_INCLUDE_DIR}
+ ${GLEW_INCLUDE_DIR}
+)
+
+link_directories (
+ ${mesademos_SOURCE_DIR}/src/util
+)
+
+link_libraries (
+ util
+ ${OPENGL_gl_LIBRARY}
+ ${OPENGL_glu_LIBRARY}
+ ${GLUT_glut_LIBRARY}
+ ${GLEW_glew_LIBRARY}
+)
+
+set (targets
+ aaindex
+ aapoly
+ aargb
+ accanti
+ accpersp
+ alpha3D
+ alpha
+ anti
+ bezcurve
+ bezmesh
+ checker
+ clip
+ colormat
+ combiner
+ convolution
+ cube
+ cubemap
+ depthcue
+ dof
+ double
+ drawf
+ feedback
+ fog
+ fogcoord
+ fogindex
+ font
+ hello
+ histogram
+ image
+ light
+ lines
+ list
+ material
+ minmax
+ mipmap
+ model
+ movelight
+ multisamp
+ multitex
+ mvarray
+ nurbs
+ pickdepth
+ picksquare
+ plane
+ planet
+ pointp
+ polyoff
+ polys
+ quadric
+ robot
+ sccolorlight
+ scenebamb
+ scene
+ sceneflat
+ select
+ shadowmap
+ smooth
+ stencil
+ stroke
+ surface
+ surfpoints
+ teaambient
+ teapots
+ tess
+ tesswind
+ texbind
+ texgen
+ texprox
+ texsub
+ texture3d
+ texturesurf
+ torus
+ trim
+ unproject
+ varray
+ wrap
+)
+
+foreach (target ${targets})
+ add_executable (${target} ${target}.c)
+endforeach (target)
+
+install (TARGETS ${targets} DESTINATION redbook)
diff --git a/src/samples/CMakeLists.txt b/src/samples/CMakeLists.txt
new file mode 100644
index 0000000..9fb9f46
--- /dev/null
+++ b/src/samples/CMakeLists.txt
@@ -0,0 +1,57 @@
+include_directories (
+ ${mesademos_SOURCE_DIR}/src/util
+ ${OPENGL_INCLUDE_PATH}
+ ${GLUT_INCLUDE_DIR}
+ ${GLEW_INCLUDE_DIR}
+)
+
+link_directories (
+ ${mesademos_SOURCE_DIR}/src/util
+)
+
+link_libraries (
+ util
+ ${OPENGL_gl_LIBRARY}
+ ${OPENGL_glu_LIBRARY}
+ ${GLUT_glut_LIBRARY}
+ ${GLEW_glew_LIBRARY}
+)
+
+set (targets
+ accum
+ bitmap1
+ bitmap2
+ blendeq
+ blendxor
+ copy
+ cursor
+ depth
+ eval
+ fog
+ font
+ line
+ logo
+ nurb
+ oglinfo
+ olympic
+ overlay
+ point
+ prim
+ quad
+ rgbtoppm
+ select
+ shape
+ sphere
+ star
+ stencil
+ stretch
+ texture
+ tri
+ wave
+)
+
+foreach (target ${targets})
+ add_executable (${target} ${target}.c)
+endforeach (target)
+
+install (TARGETS ${targets} DESTINATION samples)
diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt
new file mode 100644
index 0000000..a7f4423
--- /dev/null
+++ b/src/tests/CMakeLists.txt
@@ -0,0 +1,141 @@
+include_directories (
+ ${mesademos_SOURCE_DIR}/src/util
+ ${OPENGL_INCLUDE_PATH}
+ ${GLUT_INCLUDE_DIR}
+ ${GLEW_INCLUDE_DIR}
+)
+
+link_directories (
+ ${mesademos_SOURCE_DIR}/src/util
+)
+
+link_libraries (
+ util
+ ${OPENGL_gl_LIBRARY}
+ ${OPENGL_glu_LIBRARY}
+ ${GLUT_glut_LIBRARY}
+ ${GLEW_glew_LIBRARY}
+)
+
+set (targets
+ afsmultiarb
+ antialias
+ # XXX: Requires Linux kernel headers???
+ #api_speed
+ arbfpspec
+ arbfptest1
+ arbfptexture
+ arbfptrig
+ arbgpuprog
+ arbnpot
+ arbnpot-mipmap
+ arbvptest1
+ arbvptest3
+ arbvptorus
+ arbvpwarpmesh
+ arraytexture
+ auxbuffer
+ blendxor
+ blitfb
+ bufferobj
+ bug_3050
+ bug_3101
+ bug_3195
+ bug_texstore_i8
+ bumpmap
+ calibrate_rast
+ condrender
+ copypixrate
+ cva
+ cva_huge
+ cylwrap
+ # XXX: Depends on Mesa GL header
+ #debugger
+ drawbuffers2
+ drawbuffers
+ exactrast
+ ext422square
+ fbotest1
+ fbotest2
+ fbotest3
+ fillrate
+ floattex
+ fog
+ fogcoord
+ fptest1
+ fptexture
+ # XXX: Requires Mesa source
+ #getprocaddress
+ getteximage
+ glutfx
+ interleave
+ invert
+ jkrahntest
+ lineclip
+ manytex
+ mapbufrange
+ minmag
+ mipgen
+ mipmap_comp
+ mipmap_comp_tests
+ mipmap_limits
+ mipmap_tunnel
+ mipmap_view
+ multipal
+ multitexarray
+ multiwindow
+ no_s3tc
+ occlude
+ packedpixels
+ pbo
+ persp_hint
+ prim
+ prog_parameter
+ quads
+ random
+ readrate
+ rubberband
+ scissor
+ scissor-viewport
+ seccolor
+ shader_api
+ sharedtex
+ stencilreaddraw
+ stencilwrap
+ streaming_rect
+ subtex
+ subtexrate
+ tex1d
+ texcmp
+ texcompress2
+ texcompsub
+ texdown
+ texfilt
+ texgenmix
+ texleak
+ texline
+ texobj
+ texobjshare
+ texrect
+ texwrap
+ unfilledclip
+ vparray
+ vpeval
+ vptest1
+ vptest2
+ vptest3
+ vptorus
+ vpwarpmesh
+ yuvrect
+ yuvsquare
+ zbitmap
+ zcomp
+ zdrawpix
+ zreaddraw
+)
+
+foreach (target ${targets})
+ add_executable (${target} ${target}.c)
+endforeach (target)
+
+install (TARGETS ${targets} DESTINATION tests)
diff --git a/src/trivial/CMakeLists.txt b/src/trivial/CMakeLists.txt
new file mode 100644
index 0000000..8af7b30
--- /dev/null
+++ b/src/trivial/CMakeLists.txt
@@ -0,0 +1,196 @@
+include_directories (
+ ${mesademos_SOURCE_DIR}/src/util
+ ${OPENGL_INCLUDE_PATH}
+ ${GLUT_INCLUDE_DIR}
+ ${GLEW_INCLUDE_DIR}
+)
+
+link_directories (
+ ${mesademos_SOURCE_DIR}/src/util
+)
+
+link_libraries (
+ util
+ ${OPENGL_gl_LIBRARY}
+ ${OPENGL_glu_LIBRARY}
+ ${GLUT_glut_LIBRARY}
+ ${GLEW_glew_LIBRARY}
+)
+
+set (targets
+ clear-color
+ clear-fbo
+ clear-fbo-scissor
+ clear-fbo-tex
+ clear-random
+ clear-repeat
+ clear-scissor
+ clear-undefined
+ createwin
+ dlist-begin-call-end
+ dlist-dangling
+ dlist-degenerate
+ dlist-edgeflag
+ dlist-edgeflag-dangling
+ dlist-flat-tri
+ dlist-mat-tri
+ dlist-recursive-call
+ dlist-tri-flat-tri
+ dlist-tri-mat-tri
+ draw2arrays
+ drawarrays
+ drawelements
+ drawelements-large
+ drawrange
+ flat-clip
+ fs-tri
+ line
+ line-clip
+ line-cull
+ line-flat
+ lineloop
+ lineloop-clip
+ lineloop-elts
+ line-smooth
+ line-stipple-wide
+ linestrip
+ linestrip-clip
+ linestrip-flat-stipple
+ linestrip-stipple
+ linestrip-stipple-wide
+ line-userclip
+ line-userclip-clip
+ line-userclip-nop
+ line-userclip-nop-clip
+ line-wide
+ line-xor
+ long-fixed-func
+ pgon-mode
+ point
+ point-clip
+ point-param
+ point-sprite
+ point-wide
+ point-wide-smooth
+ poly
+ poly-flat
+ poly-flat-clip
+ poly-flat-unfilled-clip
+ poly-unfilled
+ quad
+ quad-clip-all-vertices
+ quad-clip
+ quad-clip-nearplane
+ quad-degenerate
+ quad-flat
+ quad-offset-factor
+ quad-offset-unfilled
+ quad-offset-units
+ quads
+ quadstrip
+ quadstrip-clip
+ quadstrip-cont
+ quadstrip-flat
+ quad-tex-2d
+ quad-tex-3d
+ quad-tex-alpha
+ quad-tex-pbo
+ quad-tex-sub
+ quad-unfilled
+ quad-unfilled-clip
+ quad-unfilled-stipple
+ readpixels
+ sub-tex
+ tex-quads
+ tri-alpha
+ tri-alpha-tex
+ tri-array-interleaved
+ tri-blend
+ tri-blend-color
+ tri-blend-max
+ tri-blend-min
+ tri-blend-revsub
+ tri-blend-sub
+ tri
+ tri-clear
+ tri-clip
+ tri-cull-both
+ tri-cull
+ tri-dlist
+ tri-edgeflag-array
+ tri-edgeflag
+ trifan
+ trifan-flat
+ trifan-flat-clip
+ trifan-flat-unfilled-clip
+ trifan-unfilled
+ tri-fbo
+ tri-fbo-tex
+ tri-fbo-tex-mip
+ tri-flat
+ tri-flat-clip
+ tri-fog
+ tri-fp
+ tri-fp-const-imm
+ tri-lit
+ tri-lit-material
+ tri-logicop-none
+ tri-logicop-xor
+ tri-mask-tri
+ tri-multitex-vbo
+ tri-orig
+ tri-point-line-clipped
+ tri-query
+ tri-repeat
+ tri-scissor-tri
+ tri-square
+ tri-stencil
+ tri-stipple
+ tristrip
+ tristrip-clip
+ tristrip-flat
+ tri-tex-1d
+ tri-tex-3d
+ tri-tex
+ tri-tri
+ tri-unfilled
+ tri-unfilled-clip
+ tri-unfilled-edgeflag
+ tri-unfilled-fog
+ tri-unfilled-point
+ tri-unfilled-smooth
+ tri-unfilled-tri
+ tri-unfilled-tri-lit
+ tri-unfilled-userclip
+ tri-unfilled-userclip-stip
+ tri-userclip
+ tri-viewport
+ tri-z-9
+ tri-z
+ tri-z-eq
+ vbo-drawarrays
+ vbo-drawelements
+ vbo-drawrange
+ vbo-noninterleaved
+ vbo-tri
+ vp-array
+ vp-array-hf
+ vp-array-int
+ vp-clip
+ vp-line-clip
+ vp-tri
+ vp-tri-cb
+ vp-tri-cb-pos
+ vp-tri-cb-tex
+ vp-tri-imm
+ vp-tri-invariant
+ vp-tri-swap
+ vp-tri-tex
+ vp-unfilled
+)
+
+foreach (target ${targets})
+ add_executable (${target} ${target}.c)
+endforeach (target)
+
+install (TARGETS ${targets} DESTINATION trivial)
diff --git a/src/vp/CMakeLists.txt b/src/vp/CMakeLists.txt
new file mode 100644
index 0000000..e83c704
--- /dev/null
+++ b/src/vp/CMakeLists.txt
@@ -0,0 +1,32 @@
+include_directories (
+ ${mesademos_SOURCE_DIR}/src/util
+ ${OPENGL_INCLUDE_PATH}
+ ${GLUT_INCLUDE_DIR}
+ ${GLEW_INCLUDE_DIR}
+)
+
+link_directories (
+ ${mesademos_SOURCE_DIR}/src/util
+)
+
+link_libraries (
+ util
+ ${OPENGL_gl_LIBRARY}
+ ${OPENGL_glu_LIBRARY}
+ ${GLUT_glut_LIBRARY}
+ ${GLEW_glew_LIBRARY}
+)
+
+set (targets
+ vp-tris
+)
+
+foreach (target ${targets})
+ add_executable (${target} ${target}.c)
+endforeach (target)
+
+install (TARGETS ${targets} DESTINATION vp)
+
+file (GLOB data *.txt)
+
+install (FILES ${data} DESTINATION vp)
diff --git a/src/vpglsl/CMakeLists.txt b/src/vpglsl/CMakeLists.txt
new file mode 100644
index 0000000..72b9fd1
--- /dev/null
+++ b/src/vpglsl/CMakeLists.txt
@@ -0,0 +1,32 @@
+include_directories (
+ ${mesademos_SOURCE_DIR}/src/util
+ ${OPENGL_INCLUDE_PATH}
+ ${GLUT_INCLUDE_DIR}
+ ${GLEW_INCLUDE_DIR}
+)
+
+link_directories (
+ ${mesademos_SOURCE_DIR}/src/util
+)
+
+link_libraries (
+ util
+ ${OPENGL_gl_LIBRARY}
+ ${OPENGL_glu_LIBRARY}
+ ${GLUT_glut_LIBRARY}
+ ${GLEW_glew_LIBRARY}
+)
+
+set (targets
+ vp-tris
+)
+
+foreach (target ${targets})
+ add_executable (${target} ${target}.c)
+endforeach (target)
+
+install (TARGETS ${targets} DESTINATION vpglsl)
+
+file (GLOB data *.glsl)
+
+install (FILES ${data} DESTINATION vpglsl)
diff --git a/src/wgl/CMakeLists.txt b/src/wgl/CMakeLists.txt
new file mode 100644
index 0000000..58df56d
--- /dev/null
+++ b/src/wgl/CMakeLists.txt
@@ -0,0 +1,13 @@
+include_directories (
+ ${OPENGL_INCLUDE_PATH}
+)
+
+link_libraries (
+ ${OPENGL_gl_LIBRARY}
+)
+
+add_executable (wglthreads wglthreads/wglthreads.c)
+add_executable (sharedtex_mt sharedtex_mt/sharedtex_mt.c)
+add_executable (wglinfo wglinfo.c)
+
+install (TARGETS wglthreads sharedtex_mt wglthreads DESTINATION wgl)
diff --git a/src/xdemos/CMakeLists.txt b/src/xdemos/CMakeLists.txt
new file mode 100644
index 0000000..73e6406
--- /dev/null
+++ b/src/xdemos/CMakeLists.txt
@@ -0,0 +1,69 @@
+include_directories (
+ ${mesademos_SOURCE_DIR}/src/util
+ ${OPENGL_INCLUDE_PATH}
+ ${X11_INCLUDE_DIR}
+ ${GLEW_INCLUDE_DIR}
+)
+
+link_directories (
+ ${mesademos_SOURCE_DIR}/src/util
+)
+
+link_libraries (
+ util
+ ${OPENGL_gl_LIBRARY}
+ ${OPENGL_glu_LIBRARY}
+ ${X11_X11_LIBRARY}
+ ${GLEW_glew_LIBRARY}
+)
+
+add_library (pbutil pbutil.c)
+
+set (targets
+ glsync
+ glthreads
+ glxcontexts
+ glxdemo
+ glxgears
+ glxgears_fbconfig
+ glxgears_pixmap
+ glxheads
+ glxinfo
+ glxpbdemo
+ glxpixmap
+ glxsnoop
+ glxswapcontrol
+ manywin
+ msctest
+ multictx
+ offset
+ omlsync
+ opencloseopen
+ overlay
+ pbdemo
+ pbinfo
+ shape
+ sharedtex
+ sharedtex_mt
+ texture_from_pixmap
+ wincopy
+ # XXX: Requires xmesa.h
+ #xdemo
+ xfont
+ yuvrect_client
+)
+
+foreach (target ${targets})
+ add_executable (${target} ${target}.c)
+endforeach (target)
+
+target_link_libraries (glthreads pthread)
+target_link_libraries (glxgears_fbconfig pbutil)
+target_link_libraries (pbdemo pbutil)
+target_link_libraries (pbinfo pbutil)
+target_link_libraries (sharedtex_mt pthread)
+
+add_executable (corender corender.c ipc.c)
+add_executable (xrotfontdemo xrotfontdemo.c xuserotfont.c)
+
+install (TARGETS ${targets} corender xrotfontdemo DESTINATION xdemos)
More information about the mesa-commit
mailing list