[Mesa-dev] [PATCHv2 6/6] Add possibility to use linux filesystem hierarchy on CMake build.
Jose Fonseca
jfonseca at vmware.com
Wed Nov 23 03:45:09 PST 2011
Looks good to me FWIW.
But it might be worth to wait a little more for somebody familiar with autoconf to review that part well.
Jose
----- Original Message -----
> It introduces following variables (as prefixes):
> (-D)BINDIR - default: none, ${BINDIR}/${subdir}
> (-D)DATADIR - default: none, ${DATADIR}/${subdir}
> (-D)DOCDIR - default: doc
>
> ---
> CMakeLists.txt | 23 +++++++++++++++++++----
> configure.ac | 17 +++++++++++++++--
> src/data/CMakeLists.txt | 2 +-
> src/data/Makefile.am | 3 +--
> src/demos/CMakeLists.txt | 4 ++--
> src/demos/copypix.c | 2 +-
> src/demos/dissolve.c | 4 ++--
> src/demos/drawpix.c | 2 +-
> src/demos/engine.c | 2 +-
> src/demos/fbo_firecube.c | 6 +++---
> src/demos/fire.c | 6 +++---
> src/demos/geartrain.c | 2 +-
> src/demos/gloss.c | 4 ++--
> src/demos/ipers.c | 2 +-
> src/demos/isosurf.c | 4 ++--
> src/demos/lodbias.c | 2 +-
> src/demos/multiarb.c | 4 ++--
> src/demos/projtex.c | 8 ++++----
> src/demos/rain.cxx | 2 +-
> src/demos/readpix.c | 2 +-
> src/demos/reflect.c | 2 +-
> src/demos/teapot.c | 4 ++--
> src/demos/terrain.c | 2 +-
> src/demos/texcyl.c | 2 +-
> src/demos/textures.c | 8 ++++----
> src/demos/tunnel.c | 4 ++--
> src/demos/tunnel2.c | 4 ++--
> src/demos/winpos.c | 2 +-
> src/egl/opengl/CMakeLists.txt | 6 +++---
> src/fp/CMakeLists.txt | 10 +++++++---
> src/fp/fp-tri.c | 2 +-
> src/fp/tri-tex.c | 2 +-
> src/fpglsl/CMakeLists.txt | 4 ++--
> src/fpglsl/fp-tri.c | 2 +-
> src/glsl/CMakeLists.txt | 4 ++--
> src/glsl/brick.c | 4 ++--
> src/glsl/bump.c | 8 ++++----
> src/glsl/convolutions.c | 2 +-
> src/glsl/mandelbrot.c | 4 ++--
> src/glsl/multitex.c | 8 ++++----
> src/glsl/simplex-noise.c | 2 +-
> src/glsl/skinning.c | 4 ++--
> src/glsl/texdemo1.c | 12 ++++++------
> src/glsl/toyball.c | 4 ++--
> src/gs/CMakeLists.txt | 4 ++--
> src/objviewer/CMakeLists.txt | 4 ++--
> src/objviewer/objview.c | 14 +++++++-------
> src/perf/CMakeLists.txt | 2 +-
> src/perf/glslstateschange.c | 8 ++++----
> src/redbook/CMakeLists.txt | 2 +-
> src/samples/CMakeLists.txt | 4 ++--
> src/samples/sphere.c | 2 +-
> src/slang/CMakeLists.txt | 4 ++--
> src/slang/cltest.c | 2 +-
> src/slang/vstest.c | 2 +-
> src/tests/CMakeLists.txt | 4 ++--
> src/tests/afsmultiarb.c | 4 ++--
> src/tests/arbfptexture.c | 2 +-
> src/tests/arbfptrig.c | 2 +-
> src/tests/arbnpot.c | 2 +-
> src/tests/arbvparray.c | 2 +-
> src/tests/arraytexture.c | 16 ++++++++--------
> src/tests/blendxor.c | 2 +-
> src/tests/bug_3195.c | 2 +-
> src/tests/bumpmap.c | 2 +-
> src/tests/ext422square.c | 2 +-
> src/tests/fillrate.c | 4 ++--
> src/tests/floattex.c | 2 +-
> src/tests/fptexture.c | 2 +-
> src/tests/invert.c | 2 +-
> src/tests/mipmap_limits.c | 2 +-
> src/tests/mipmap_view.c | 2 +-
> src/tests/multipal.c | 4 ++--
> src/tests/pbo.c | 2 +-
> src/tests/rubberband.c | 2 +-
> src/tests/texcmp.c | 2 +-
> src/tests/texcompress2.c | 2 +-
> src/tests/texline.c | 2 +-
> src/tests/texrect.c | 4 ++--
> src/tests/vparray.c | 2 +-
> src/tests/yuvrect.c | 2 +-
> src/tests/yuvsquare.c | 2 +-
> src/trivial/CMakeLists.txt | 2 +-
> src/vp/CMakeLists.txt | 10 +++++++---
> src/vpglsl/CMakeLists.txt | 4 ++--
> src/wgl/CMakeLists.txt | 2 +-
> src/xdemos/CMakeLists.txt | 4 ++--
> src/xdemos/yuvrect_client.c | 2 +-
> 88 files changed, 196 insertions(+), 161 deletions(-)
>
> diff --git a/CMakeLists.txt b/CMakeLists.txt
> index d07215f..4e74a39 100644
> --- a/CMakeLists.txt
> +++ b/CMakeLists.txt
> @@ -101,16 +101,31 @@ if (MSVC)
> add_definitions (-wd4244) # conversion' conversion from 'type1' to
> 'type2', possible loss of data
> endif (MSVC)
>
> -add_definitions(-DDEMOS_DATA_DIR=\"../data/\")
> -
> if (BUILD_SHARED_LIBS AND NOT DEFINED LIBDIR)
> set(LIBDIR lib)
> endif (BUILD_SHARED_LIBS AND NOT DEFINED LIBDIR)
>
> -add_subdirectory (src)
> +if (DEFINED BINDIR)
> + set(BINDIR ${BINDIR}/)
> +endif (DEFINED BINDIR)
> +
> +if (DEFINED DATADIR)
> + set(DATADIR ${DATADIR}/)
> +endif (DEFINED DATADIR)
>
> +if (DEFINED BINDIR OR DEFINED DATADIR)
> + add_definitions(-DDEMOS_DATA_DIR=\"${DATADIR}\")
> +else (DEFINED BINDIR OR DEFINED DATADIR)
> + add_definitions(-DDEMOS_DATA_DIR=\"..\")
> +endif (DEFINED BINDIR OR DEFINED DATADIR)
> +
> +add_subdirectory (src)
>
> -install (FILES index.html DESTINATION doc)
> +if (DEFINED DOCDIR)
> + install (FILES index.html DESTINATION ${DOCDIR})
> +else (DEFINED DOCDIR)
> + install (FILES index.html DESTINATION doc)
> +endif (DEFINED DOCDIR)
>
> set (CPACK_PACKAGE_NAME "mesa-demos")
> set (CPACK_PACKAGE_VERSION_MAJOR "8")
> diff --git a/configure.ac b/configure.ac
> index 4f6f16f..bc6533f 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -235,15 +235,28 @@ AC_ARG_WITH([mesa-source],
> [mesa_source_enabled="no"])
> MESA_GLAPI="$mesa_source_dir/src/mesa/glapi"
>
> +use_bindir=no
> +AC_ARG_WITH([bindir],
> + [AS_HELP_STRING([--bindir=DIR],
> + [Use bindir for install binaries (default: no)])],
> + [use_bindir=yes], [])
> +
> +use_datadir=no
> +AC_ARG_WITH([datadir],
> + [AS_HELP_STRING([--datadir=DIR],
> + [Use datadir for install data files (default: no)])],
> + [use_datadir=yes], [])
> +
> use_system_data=no
> AC_ARG_WITH([system-data-files],
> [AS_HELP_STRING([--with-system-data-files],
> [Use system data files for demos (default: no)])],
> [use_system_data=yes], [])
> -if test "x$use_system_data" = xyes; then
> +
> +if test "x$use_system_data" = xyes -o "x$use_bindir" = xyes -o
> "x$use_datadir" = xyes; then
> demos_data_dir="${datadir}/${PACKAGE}/"
> else
> - demos_data_dir="../data/"
> + demos_data_dir="../"
> fi
> AC_DEFINE_DIR(DEMOS_DATA_DIR, demos_data_dir, [Data dir for demos])
> AC_DEFINE_UNQUOTED([DEMOS_DATA_DIR], "$DEMOS_DATA_DIR",
> diff --git a/src/data/CMakeLists.txt b/src/data/CMakeLists.txt
> index 971fa19..ddc43b5 100644
> --- a/src/data/CMakeLists.txt
> +++ b/src/data/CMakeLists.txt
> @@ -1,3 +1,3 @@
> file (GLOB data *.rgb *.rgba *.dat)
>
> -install (FILES ${data} DESTINATION data)
> +install (FILES ${data} DESTINATION ${DATADIR}data)
> diff --git a/src/data/Makefile.am b/src/data/Makefile.am
> index 28022c9..f82e85a 100644
> --- a/src/data/Makefile.am
> +++ b/src/data/Makefile.am
> @@ -22,7 +22,7 @@
> # Authors:
> # Eric Anholt <eric at anholt.net>
>
> -demosdatadir=$(datadir)/$(PACKAGE)/
> +demosdatadir=$(datadir)/$(PACKAGE)/data/
> dist_demosdata_DATA= \
> arch.rgb \
> bw.rgb \
> @@ -34,7 +34,6 @@ dist_demosdata_DATA= \
> tree2.rgba \
> tree3.rgb \
> wrs_logo.rgb \
> - \
> geartrain.dat \
> isosurf.dat \
> terrain.dat
> diff --git a/src/demos/CMakeLists.txt b/src/demos/CMakeLists.txt
> index b35fae6..96af1af 100644
> --- a/src/demos/CMakeLists.txt
> +++ b/src/demos/CMakeLists.txt
> @@ -81,9 +81,9 @@ set (targets
> foreach (target ${targets})
> add_executable (${subdir}_${target} ${target}.c)
> set_target_properties (${subdir}_${target} PROPERTIES OUTPUT_NAME
> ${target})
> - install (TARGETS ${subdir}_${target} DESTINATION ${subdir})
> + install (TARGETS ${subdir}_${target} DESTINATION
> ${BINDIR}${subdir})
> endforeach (target)
>
> add_executable (rain rain.cxx particles.cxx)
>
> -install (TARGETS rain DESTINATION demos)
> +install (TARGETS rain DESTINATION ${BINDIR}${subdir})
> diff --git a/src/demos/copypix.c b/src/demos/copypix.c
> index 286c5a9..24eadab 100644
> --- a/src/demos/copypix.c
> +++ b/src/demos/copypix.c
> @@ -14,7 +14,7 @@
>
> #include "readtex.h"
>
> -#define IMAGE_FILE DEMOS_DATA_DIR "arch.rgb"
> +#define IMAGE_FILE DEMOS_DATA_DIR "data/arch.rgb"
>
> static int ImgWidth, ImgHeight;
> static GLenum ImgFormat;
> diff --git a/src/demos/dissolve.c b/src/demos/dissolve.c
> index 696ae68..4d061c4 100644
> --- a/src/demos/dissolve.c
> +++ b/src/demos/dissolve.c
> @@ -14,8 +14,8 @@
> #include "glut_wrap.h"
> #include "readtex.h"
>
> -#define FILE1 DEMOS_DATA_DIR "bw.rgb"
> -#define FILE2 DEMOS_DATA_DIR "arch.rgb"
> +#define FILE1 DEMOS_DATA_DIR "data/bw.rgb"
> +#define FILE2 DEMOS_DATA_DIR "data/arch.rgb"
>
>
> static int Win;
> diff --git a/src/demos/drawpix.c b/src/demos/drawpix.c
> index 1ac7bbf..b6fc58e 100644
> --- a/src/demos/drawpix.c
> +++ b/src/demos/drawpix.c
> @@ -13,7 +13,7 @@
>
> #include "readtex.h"
>
> -#define IMAGE_FILE DEMOS_DATA_DIR "girl.rgb"
> +#define IMAGE_FILE DEMOS_DATA_DIR "data/girl.rgb"
>
> static int ImgWidth, ImgHeight;
> static GLenum ImgFormat;
> diff --git a/src/demos/engine.c b/src/demos/engine.c
> index 928fcbb..69855bf 100644
> --- a/src/demos/engine.c
> +++ b/src/demos/engine.c
> @@ -21,7 +21,7 @@
>
> #define DEG_TO_RAD(DEG) ((DEG) * M_PI / 180.0)
>
> -#define TEXTURE_FILE DEMOS_DATA_DIR "reflect.rgb"
> +#define TEXTURE_FILE DEMOS_DATA_DIR "data/reflect.rgb"
>
> /* Target engine speed: */
> const int RPM = 100.0;
> diff --git a/src/demos/fbo_firecube.c b/src/demos/fbo_firecube.c
> index 333c04c..73c2db7 100644
> --- a/src/demos/fbo_firecube.c
> +++ b/src/demos/fbo_firecube.c
> @@ -675,7 +675,7 @@ inittextures(void)
> glBindTexture(GL_TEXTURE_2D, groundid);
>
> glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
> - if (!LoadRGBMipmaps(DEMOS_DATA_DIR "s128.rgb", GL_RGB)) {
> + if (!LoadRGBMipmaps(DEMOS_DATA_DIR "data/s128.rgb", GL_RGB)) {
> fprintf(stderr, "Error reading a texture.\n");
> exit(-1);
> }
> @@ -697,7 +697,7 @@ inittextures(void)
> int w, h;
> GLenum format;
> int x, y;
> - GLubyte *image = LoadRGBImage(DEMOS_DATA_DIR "tree3.rgb",
> + GLubyte *image = LoadRGBImage(DEMOS_DATA_DIR "data/tree3.rgb",
> &w, &h, &format);
>
> if (!image) {
> @@ -724,7 +724,7 @@ inittextures(void)
> }
> }
> else {
> - if (!LoadRGBMipmaps(DEMOS_DATA_DIR "tree2.rgba", GL_RGBA)) {
> + if (!LoadRGBMipmaps(DEMOS_DATA_DIR "data/tree2.rgba",
> GL_RGBA)) {
> fprintf(stderr, "Error reading a texture.\n");
> exit(-1);
> }
> diff --git a/src/demos/fire.c b/src/demos/fire.c
> index c40278b..48106bf 100644
> --- a/src/demos/fire.c
> +++ b/src/demos/fire.c
> @@ -627,7 +627,7 @@ inittextures(void)
> glBindTexture(GL_TEXTURE_2D, groundid);
>
> glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
> - if (!LoadRGBMipmaps(DEMOS_DATA_DIR "s128.rgb", GL_RGB)) {
> + if (!LoadRGBMipmaps(DEMOS_DATA_DIR "data/s128.rgb", GL_RGB)) {
> fprintf(stderr, "Error reading a texture.\n");
> exit(-1);
> }
> @@ -649,7 +649,7 @@ inittextures(void)
> int w, h;
> GLenum format;
> int x, y;
> - GLubyte *image = LoadRGBImage(DEMOS_DATA_DIR "tree3.rgb",
> + GLubyte *image = LoadRGBImage(DEMOS_DATA_DIR "data/tree3.rgb",
> &w, &h, &format);
>
> if (!image) {
> @@ -676,7 +676,7 @@ inittextures(void)
> }
> }
> else {
> - if (!LoadRGBMipmaps(DEMOS_DATA_DIR "tree2.rgba", GL_RGBA)) {
> + if (!LoadRGBMipmaps(DEMOS_DATA_DIR "data/tree2.rgba",
> GL_RGBA)) {
> fprintf(stderr, "Error reading a texture.\n");
> exit(-1);
> }
> diff --git a/src/demos/geartrain.c b/src/demos/geartrain.c
> index 09e5da2..6bfc1aa 100644
> --- a/src/demos/geartrain.c
> +++ b/src/demos/geartrain.c
> @@ -1003,7 +1003,7 @@ main (int argc, char *argv[])
> exit (1);
>
> if (argc < 2)
> - file = DEMOS_DATA_DIR "geartrain.dat";
> + file = DEMOS_DATA_DIR "data/geartrain.dat";
> else
> file = argv[1];
>
> diff --git a/src/demos/gloss.c b/src/demos/gloss.c
> index a198a63..a2a7590 100644
> --- a/src/demos/gloss.c
> +++ b/src/demos/gloss.c
> @@ -29,8 +29,8 @@
> #include "trackball.h"
>
>
> -#define SPECULAR_TEXTURE_FILE DEMOS_DATA_DIR "reflect.rgb"
> -#define BASE_TEXTURE_FILE DEMOS_DATA_DIR "tile.rgb"
> +#define SPECULAR_TEXTURE_FILE DEMOS_DATA_DIR "data/reflect.rgb"
> +#define BASE_TEXTURE_FILE DEMOS_DATA_DIR "data/tile.rgb"
>
> /* Menu items */
> #define DO_SPEC_TEXTURE 1
> diff --git a/src/demos/ipers.c b/src/demos/ipers.c
> index 4ecf7cc..4947465 100644
> --- a/src/demos/ipers.c
> +++ b/src/demos/ipers.c
> @@ -151,7 +151,7 @@ inittextures(void)
> glGenTextures(1, &t1id);
> glBindTexture(GL_TEXTURE_2D, t1id);
>
> - if (!LoadRGBMipmaps(DEMOS_DATA_DIR "bw.rgb", 3)) {
> + if (!LoadRGBMipmaps(DEMOS_DATA_DIR "data/bw.rgb", 3)) {
> fprintf(stderr, "Error reading a texture.\n");
> exit(-1);
> }
> diff --git a/src/demos/isosurf.c b/src/demos/isosurf.c
> index 747da2f..6f53d0c 100644
> --- a/src/demos/isosurf.c
> +++ b/src/demos/isosurf.c
> @@ -36,7 +36,7 @@
> #include "glut_wrap.h"
>
> #include "readtex.h"
> -#define TEXTURE_FILE DEMOS_DATA_DIR "reflect.rgb"
> +#define TEXTURE_FILE DEMOS_DATA_DIR "data/reflect.rgb"
>
> #define LIT 0x00000001
> #define UNLIT 0x00000002
> @@ -1052,7 +1052,7 @@ int main(int argc, char **argv)
> if (arg_mode & QUIT)
> exit(0);
>
> - read_surface(DEMOS_DATA_DIR "isosurf.dat");
> + read_surface(DEMOS_DATA_DIR "data/isosurf.dat");
>
> glutInitWindowSize(400, 400);
> glutInit( &argc, argv);
> diff --git a/src/demos/lodbias.c b/src/demos/lodbias.c
> index 8fb015e..cee1f02 100644
> --- a/src/demos/lodbias.c
> +++ b/src/demos/lodbias.c
> @@ -36,7 +36,7 @@
>
> #include "readtex.h"
>
> -#define TEXTURE_FILE DEMOS_DATA_DIR "girl.rgb"
> +#define TEXTURE_FILE DEMOS_DATA_DIR "data/girl.rgb"
>
> static GLfloat Xrot = 0, Yrot = -30, Zrot = 0;
> static GLboolean Anim = GL_TRUE;
> diff --git a/src/demos/multiarb.c b/src/demos/multiarb.c
> index a5eff64..6583a9b 100644
> --- a/src/demos/multiarb.c
> +++ b/src/demos/multiarb.c
> @@ -19,8 +19,8 @@
>
> #include "readtex.h"
>
> -#define TEXTURE_1_FILE DEMOS_DATA_DIR "girl.rgb"
> -#define TEXTURE_2_FILE DEMOS_DATA_DIR "reflect.rgb"
> +#define TEXTURE_1_FILE DEMOS_DATA_DIR "data/girl.rgb"
> +#define TEXTURE_2_FILE DEMOS_DATA_DIR "data/reflect.rgb"
>
> #define TEX0 1
> #define TEX7 8
> diff --git a/src/demos/projtex.c b/src/demos/projtex.c
> index ea55142..61ff297 100644
> --- a/src/demos/projtex.c
> +++ b/src/demos/projtex.c
> @@ -51,10 +51,10 @@ GLboolean showProjection = GL_TRUE;
> GLboolean linearFilter = GL_TRUE;
>
> char *texFilename[MAX_TEX] = {
> - DEMOS_DATA_DIR "girl.rgb",
> - DEMOS_DATA_DIR "tile.rgb",
> - DEMOS_DATA_DIR "bw.rgb",
> - DEMOS_DATA_DIR "reflect.rgb"
> + DEMOS_DATA_DIR "data/girl.rgb",
> + DEMOS_DATA_DIR "data/tile.rgb",
> + DEMOS_DATA_DIR "data/bw.rgb",
> + DEMOS_DATA_DIR "data/reflect.rgb"
> };
>
>
> diff --git a/src/demos/rain.cxx b/src/demos/rain.cxx
> index 138da3c..d325761 100644
> --- a/src/demos/rain.cxx
> +++ b/src/demos/rain.cxx
> @@ -309,7 +309,7 @@ static void inittextures(void)
> glGenTextures(1,&groundid);
> glBindTexture(GL_TEXTURE_2D,groundid);
>
> - if(!(img=LoadRGBImage(DEMOS_DATA_DIR "s128.rgb",
> + if(!(img=LoadRGBImage(DEMOS_DATA_DIR "data/s128.rgb",
> &width,&height,&format))){
> fprintf(stderr,"Error reading a texture.\n");
> exit(-1);
> diff --git a/src/demos/readpix.c b/src/demos/readpix.c
> index dc57cf8..66dcfd4 100644
> --- a/src/demos/readpix.c
> +++ b/src/demos/readpix.c
> @@ -14,7 +14,7 @@
>
> #include "readtex.h"
>
> -#define IMAGE_FILE DEMOS_DATA_DIR "girl.rgb"
> +#define IMAGE_FILE DEMOS_DATA_DIR "data/girl.rgb"
>
> static int ImgWidth, ImgHeight;
> static int WinWidth, WinHeight;
> diff --git a/src/demos/reflect.c b/src/demos/reflect.c
> index 13b5a68..88f1ed5 100644
> --- a/src/demos/reflect.c
> +++ b/src/demos/reflect.c
> @@ -37,7 +37,7 @@
>
>
> #define DEG2RAD (3.14159/180.0)
> -#define TABLE_TEXTURE DEMOS_DATA_DIR "tile.rgb"
> +#define TABLE_TEXTURE DEMOS_DATA_DIR "data/tile.rgb"
> #define MAX_OBJECTS 2
> #define INIT_WIDTH 400
> #define INIT_HEIGHT 300
> diff --git a/src/demos/teapot.c b/src/demos/teapot.c
> index f75ad94..25ac47e 100644
> --- a/src/demos/teapot.c
> +++ b/src/demos/teapot.c
> @@ -503,7 +503,7 @@ static void inittextures(void)
> glBindTexture(GL_TEXTURE_2D,t1id);
>
> glPixelStorei(GL_UNPACK_ALIGNMENT,4);
> - if (!LoadRGBMipmaps(DEMOS_DATA_DIR "tile.rgb", GL_RGB)) {
> + if (!LoadRGBMipmaps(DEMOS_DATA_DIR "data/tile.rgb", GL_RGB)) {
> fprintf(stderr,"Error reading a texture.\n");
> exit(-1);
> }
> @@ -526,7 +526,7 @@ static void inittextures(void)
> glPixelTransferf(GL_BLUE_SCALE, 0.75);
> glPixelTransferf(GL_BLUE_BIAS, 0.25);
>
> - if (!LoadRGBMipmaps(DEMOS_DATA_DIR "bw.rgb", GL_RGB)) {
> + if (!LoadRGBMipmaps(DEMOS_DATA_DIR "data/bw.rgb", GL_RGB)) {
> fprintf(stderr,"Error reading a texture.\n");
> exit(-1);
> }
> diff --git a/src/demos/terrain.c b/src/demos/terrain.c
> index 435912a..a8d2d7c 100644
> --- a/src/demos/terrain.c
> +++ b/src/demos/terrain.c
> @@ -563,7 +563,7 @@ loadpic(void)
> GLenum gluerr;
> size_t result;
>
> - if ((FilePic = fopen(DEMOS_DATA_DIR "terrain.dat", "r")) == NULL)
> {
> + if ((FilePic = fopen(DEMOS_DATA_DIR "data/terrain.dat", "r")) ==
> NULL) {
> fprintf(stderr, "Error loading terrain.dat\n");
> exit(-1);
> }
> diff --git a/src/demos/texcyl.c b/src/demos/texcyl.c
> index f91b03c..87847f3 100644
> --- a/src/demos/texcyl.c
> +++ b/src/demos/texcyl.c
> @@ -17,7 +17,7 @@
>
> #include "readtex.h"
>
> -#define TEXTURE_FILE DEMOS_DATA_DIR "reflect.rgb"
> +#define TEXTURE_FILE DEMOS_DATA_DIR "data/reflect.rgb"
>
> #define LIT 1
> #define TEXTURED 2
> diff --git a/src/demos/textures.c b/src/demos/textures.c
> index 70229bf..fb6e60d 100644
> --- a/src/demos/textures.c
> +++ b/src/demos/textures.c
> @@ -32,10 +32,10 @@ static float TexPos[MAX_TEXTURES][3];
> static float TexAspect[MAX_TEXTURES];
>
> static const char *DefaultFiles[] = {
> - DEMOS_DATA_DIR "arch.rgb",
> - DEMOS_DATA_DIR "reflect.rgb",
> - DEMOS_DATA_DIR "tree2.rgba",
> - DEMOS_DATA_DIR "tile.rgb"
> + DEMOS_DATA_DIR "data/arch.rgb",
> + DEMOS_DATA_DIR "data/reflect.rgb",
> + DEMOS_DATA_DIR "data/tree2.rgba",
> + DEMOS_DATA_DIR "data/tile.rgb"
> };
>
>
> diff --git a/src/demos/tunnel.c b/src/demos/tunnel.c
> index 6e48ad4..84d1ca9 100644
> --- a/src/demos/tunnel.c
> +++ b/src/demos/tunnel.c
> @@ -75,7 +75,7 @@ inittextures(void)
> glGenTextures(1, &t1id);
> glBindTexture(GL_TEXTURE_2D, t1id);
>
> - if (!LoadRGBMipmaps(DEMOS_DATA_DIR "tile.rgb", GL_RGB)) {
> + if (!LoadRGBMipmaps(DEMOS_DATA_DIR "data/tile.rgb", GL_RGB)) {
> fprintf(stderr, "Error reading a texture.\n");
> exit(-1);
> }
> @@ -90,7 +90,7 @@ inittextures(void)
> glGenTextures(1, &t2id);
> glBindTexture(GL_TEXTURE_2D, t2id);
>
> - if (!LoadRGBMipmaps(DEMOS_DATA_DIR "bw.rgb", GL_RGB)) {
> + if (!LoadRGBMipmaps(DEMOS_DATA_DIR "data/bw.rgb", GL_RGB)) {
> fprintf(stderr, "Error reading a texture.\n");
> exit(-1);
> }
> diff --git a/src/demos/tunnel2.c b/src/demos/tunnel2.c
> index 800ea7b..943cbf4 100644
> --- a/src/demos/tunnel2.c
> +++ b/src/demos/tunnel2.c
> @@ -73,7 +73,7 @@ inittextures(void)
> glGenTextures(1, &t1id);
> glBindTexture(GL_TEXTURE_2D, t1id);
>
> - if (!LoadRGBMipmaps(DEMOS_DATA_DIR "tile.rgb", GL_RGB)) {
> + if (!LoadRGBMipmaps(DEMOS_DATA_DIR "data/tile.rgb", GL_RGB)) {
> fprintf(stderr, "Error reading a texture.\n");
> exit(-1);
> }
> @@ -88,7 +88,7 @@ inittextures(void)
> glGenTextures(1, &t2id);
> glBindTexture(GL_TEXTURE_2D, t2id);
>
> - if (!LoadRGBMipmaps(DEMOS_DATA_DIR "bw.rgb", GL_RGB)) {
> + if (!LoadRGBMipmaps(DEMOS_DATA_DIR "data/bw.rgb", GL_RGB)) {
> fprintf(stderr, "Error reading a texture.\n");
> exit(-1);
> }
> diff --git a/src/demos/winpos.c b/src/demos/winpos.c
> index 162974e..18460a0 100644
> --- a/src/demos/winpos.c
> +++ b/src/demos/winpos.c
> @@ -16,7 +16,7 @@
>
> #include "readtex.h"
>
> -#define IMAGE_FILE DEMOS_DATA_DIR "girl.rgb"
> +#define IMAGE_FILE DEMOS_DATA_DIR "data/girl.rgb"
>
>
> #ifndef M_PI
> diff --git a/src/egl/opengl/CMakeLists.txt
> b/src/egl/opengl/CMakeLists.txt
> index 854f64a..d7f3d94 100644
> --- a/src/egl/opengl/CMakeLists.txt
> +++ b/src/egl/opengl/CMakeLists.txt
> @@ -21,7 +21,7 @@ set (targets
> foreach (target ${targets})
> add_executable (${subdir}_${target} ${target}.c)
> set_target_properties (${subdir}_${target} PROPERTIES OUTPUT_NAME
> ${target})
> - install (TARGETS ${subdir}_${target} DESTINATION ${subdir})
> + install (TARGETS ${subdir}_${target} DESTINATION
> ${BINDIR}${subdir})
> endforeach (target)
>
>
> @@ -35,12 +35,12 @@ set (targets
> foreach (target ${targets})
> add_executable (${target}_screen ${target}.c)
> target_link_libraries (${target}_screen eglut_screen)
> - install (TARGETS ${target}_screen DESTINATION ${subdir})
> + install (TARGETS ${target}_screen DESTINATION ${BINDIR}${subdir})
>
> if (X11_FOUND)
> add_executable (${target}_x11 ${target}.c)
> target_link_libraries (${target}_x11 eglut_x11)
> - install (TARGETS ${target}_x11 DESTINATION ${subdir})
> + install (TARGETS ${target}_x11 DESTINATION ${BINDIR}${subdir})
> endif ()
> endforeach (target)
>
> diff --git a/src/fp/CMakeLists.txt b/src/fp/CMakeLists.txt
> index a8aaad2..c28fd3e 100644
> --- a/src/fp/CMakeLists.txt
> +++ b/src/fp/CMakeLists.txt
> @@ -33,9 +33,13 @@ set (targets
> foreach (target ${targets})
> add_executable (${subdir}_${target} ${target}.c)
> set_target_properties (${subdir}_${target} PROPERTIES OUTPUT_NAME
> ${target})
> - install (TARGETS ${subdir}_${target} DESTINATION ${subdir})
> + install (TARGETS ${subdir}_${target} DESTINATION
> ${BINDIR}${subdir})
> endforeach (target)
>
> -file (GLOB data *.txt)
> +file (GLOB data *.txt *.sh)
>
> -install (FILES ${data} DESTINATION ${subdir})
> +if (DEFINED BINDIR OR DEFINED DATADIR)
> + execute_process(COMMAND sed -i -e
> "s:.*fp-tri:${BINDIR}${subdir}/fp-tri:g"
> ${CMAKE_CURRENT_SOURCE_DIR}/run.sh)
> +endif (DEFINED BINDIR OR DEFINED DATADIR)
> +
> +install (FILES ${data} DESTINATION ${DATADIR}${subdir})
> diff --git a/src/fp/fp-tri.c b/src/fp/fp-tri.c
> index f946dfa..15f5b1f 100644
> --- a/src/fp/fp-tri.c
> +++ b/src/fp/fp-tri.c
> @@ -14,7 +14,7 @@
> #include "readtex.c"
>
>
> -#define TEXTURE_FILE DEMOS_DATA_DIR "bw.rgb"
> +#define TEXTURE_FILE DEMOS_DATA_DIR "data/bw.rgb"
>
> unsigned show_fps = 0;
> unsigned int frame_cnt = 0;
> diff --git a/src/fp/tri-tex.c b/src/fp/tri-tex.c
> index fd04a53..141f73a 100644
> --- a/src/fp/tri-tex.c
> +++ b/src/fp/tri-tex.c
> @@ -9,7 +9,7 @@
> #include "readtex.c"
>
>
> -#define TEXTURE_FILE DEMOS_DATA_DIR "girl.rgb"
> +#define TEXTURE_FILE DEMOS_DATA_DIR "data/girl.rgb"
>
>
>
> diff --git a/src/fpglsl/CMakeLists.txt b/src/fpglsl/CMakeLists.txt
> index deb335b..aaf5c48 100644
> --- a/src/fpglsl/CMakeLists.txt
> +++ b/src/fpglsl/CMakeLists.txt
> @@ -26,9 +26,9 @@ set (targets
> foreach (target ${targets})
> add_executable (${subdir}_${target} ${target}.c)
> set_target_properties (${subdir}_${target} PROPERTIES OUTPUT_NAME
> ${target})
> - install (TARGETS ${subdir}_${target} DESTINATION ${subdir})
> + install (TARGETS ${subdir}_${target} DESTINATION
> ${BINDIR}${subdir})
> endforeach (target)
>
> file (GLOB data *.glsl)
>
> -install (FILES ${data} DESTINATION ${subdir})
> +install (FILES ${data} DESTINATION ${DATADIR}${subdir})
> diff --git a/src/fpglsl/fp-tri.c b/src/fpglsl/fp-tri.c
> index ebaadbe..f803ee8 100644
> --- a/src/fpglsl/fp-tri.c
> +++ b/src/fpglsl/fp-tri.c
> @@ -14,7 +14,7 @@
> #include "readtex.c"
>
>
> -#define TEXTURE_FILE DEMOS_DATA_DIR "bw.rgb"
> +#define TEXTURE_FILE DEMOS_DATA_DIR "data/bw.rgb"
>
> unsigned show_fps = 0;
> unsigned int frame_cnt = 0;
> diff --git a/src/glsl/CMakeLists.txt b/src/glsl/CMakeLists.txt
> index 11f8e37..040c892 100644
> --- a/src/glsl/CMakeLists.txt
> +++ b/src/glsl/CMakeLists.txt
> @@ -58,9 +58,9 @@ set (targets
> foreach (target ${targets})
> add_executable (${subdir}_${target} ${target}.c)
> set_target_properties (${subdir}_${target} PROPERTIES OUTPUT_NAME
> ${target})
> - install (TARGETS ${subdir}_${target} DESTINATION ${subdir})
> + install (TARGETS ${subdir}_${target} DESTINATION
> ${BINDIR}${subdir})
> endforeach (target)
>
> file (GLOB data *.frag *.vert *.shtest)
>
> -install (FILES ${data} DESTINATION ${subdir})
> +install (FILES ${data} DESTINATION ${DATADIR}${subdir})
> diff --git a/src/glsl/brick.c b/src/glsl/brick.c
> index 3021856..8148365 100644
> --- a/src/glsl/brick.c
> +++ b/src/glsl/brick.c
> @@ -14,8 +14,8 @@
> #include "shaderutil.h"
>
>
> -static char *FragProgFile = "CH06-brick.frag";
> -static char *VertProgFile = "CH06-brick.vert";
> +static char *FragProgFile = DEMOS_DATA_DIR "glsl/CH06-brick.frag";
> +static char *VertProgFile = DEMOS_DATA_DIR "glsl/CH06-brick.vert";
>
> /* program/shader objects */
> static GLuint fragShader;
> diff --git a/src/glsl/bump.c b/src/glsl/bump.c
> index 59f62cd..a99d97e 100644
> --- a/src/glsl/bump.c
> +++ b/src/glsl/bump.c
> @@ -15,10 +15,10 @@
> #include "readtex.h"
>
>
> -static char *FragProgFile = "CH11-bumpmap.frag";
> -static char *FragTexProgFile = "CH11-bumpmaptex.frag";
> -static char *VertProgFile = "CH11-bumpmap.vert";
> -static char *TextureFile = DEMOS_DATA_DIR "tile.rgb";
> +static char *FragProgFile = DEMOS_DATA_DIR "glsl/CH11-bumpmap.frag";
> +static char *FragTexProgFile = DEMOS_DATA_DIR
> "glsl/CH11-bumpmaptex.frag";
> +static char *VertProgFile = DEMOS_DATA_DIR "glsl/CH11-bumpmap.vert";
> +static char *TextureFile = DEMOS_DATA_DIR "data/tile.rgb";
>
> /* program/shader objects */
> static GLuint fragShader;
> diff --git a/src/glsl/convolutions.c b/src/glsl/convolutions.c
> index a120cfe..362bce5 100644
> --- a/src/glsl/convolutions.c
> +++ b/src/glsl/convolutions.c
> @@ -40,7 +40,7 @@ struct Texture {
> GLenum format;
> };
>
> -static const char *textureLocation = DEMOS_DATA_DIR "girl2.rgb";
> +static const char *textureLocation = DEMOS_DATA_DIR
> "data/girl2.rgb";
>
> static GLfloat viewRotx = 0.0, viewRoty = 0.0, viewRotz = 0.0;
> static struct BoundingBox box;
> diff --git a/src/glsl/mandelbrot.c b/src/glsl/mandelbrot.c
> index 31ede1d..67e538e 100644
> --- a/src/glsl/mandelbrot.c
> +++ b/src/glsl/mandelbrot.c
> @@ -14,8 +14,8 @@
> #include "shaderutil.h"
>
>
> -static char *FragProgFile = "CH18-mandel.frag";
> -static char *VertProgFile = "CH18-mandel.vert";
> +static char *FragProgFile = DEMOS_DATA_DIR "glsl/CH18-mandel.frag";
> +static char *VertProgFile = DEMOS_DATA_DIR "glsl/CH18-mandel.vert";
>
> /* program/shader objects */
> static GLuint fragShader;
> diff --git a/src/glsl/multitex.c b/src/glsl/multitex.c
> index 262ea50..c419d60 100644
> --- a/src/glsl/multitex.c
> +++ b/src/glsl/multitex.c
> @@ -35,13 +35,13 @@
>
> static const char *Demo = "multitex";
>
> -static const char *VertFile = "multitex.vert";
> -static const char *FragFile = "multitex.frag";
> +static const char *VertFile = DEMOS_DATA_DIR "glsl/multitex.vert";
> +static const char *FragFile = DEMOS_DATA_DIR "glsl/multitex.frag";
>
> static const char *TexFiles[2] =
> {
> - DEMOS_DATA_DIR "tile.rgb",
> - DEMOS_DATA_DIR "tree2.rgba"
> + DEMOS_DATA_DIR "data/tile.rgb",
> + DEMOS_DATA_DIR "data/tree2.rgba"
> };
>
>
> diff --git a/src/glsl/simplex-noise.c b/src/glsl/simplex-noise.c
> index 13fdd5d..261ed09 100644
> --- a/src/glsl/simplex-noise.c
> +++ b/src/glsl/simplex-noise.c
> @@ -169,7 +169,7 @@ SpecialKey(int key, int x, int y)
> static void
> Init(void)
> {
> - const char *filename = "simplex-noise.glsl";
> + const char *filename = DEMOS_DATA_DIR "glsl/simplex-noise.glsl";
> char noiseText[10000];
> FILE *f;
> int len;
> diff --git a/src/glsl/skinning.c b/src/glsl/skinning.c
> index bf38d77..579f027 100644
> --- a/src/glsl/skinning.c
> +++ b/src/glsl/skinning.c
> @@ -20,8 +20,8 @@
> #define M_PI 3.1415926535
> #endif
>
> -static char *FragProgFile = "skinning.frag";
> -static char *VertProgFile = "skinning.vert";
> +static char *FragProgFile = DEMOS_DATA_DIR "glsl/skinning.frag";
> +static char *VertProgFile = DEMOS_DATA_DIR "glsl/skinning.vert";
>
> /* program/shader objects */
> static GLuint fragShader;
> diff --git a/src/glsl/texdemo1.c b/src/glsl/texdemo1.c
> index 6cde239..8e73a3b 100644
> --- a/src/glsl/texdemo1.c
> +++ b/src/glsl/texdemo1.c
> @@ -33,15 +33,15 @@
> #include "readtex.h"
> #include "shaderutil.h"
>
> -static const char *Demo = "texdemo1";
> +static const char *Demo = DEMOS_DATA_DIR "glsl/texdemo1";
>
> -static const char *ReflectVertFile = "reflect.vert";
> -static const char *CubeFragFile = "cubemap.frag";
> +static const char *ReflectVertFile = DEMOS_DATA_DIR
> "glsl/reflect.vert";
> +static const char *CubeFragFile = DEMOS_DATA_DIR
> "glsl/cubemap.frag";
>
> -static const char *SimpleVertFile = "simple.vert";
> -static const char *SimpleTexFragFile = "shadowtex.frag";
> +static const char *SimpleVertFile = DEMOS_DATA_DIR
> "glsl/simple.vert";
> +static const char *SimpleTexFragFile = DEMOS_DATA_DIR
> "glsl/shadowtex.frag";
>
> -static const char *GroundImage = DEMOS_DATA_DIR "tile.rgb";
> +static const char *GroundImage = DEMOS_DATA_DIR "data/tile.rgb";
>
> static GLuint Program1, Program2;
>
> diff --git a/src/glsl/toyball.c b/src/glsl/toyball.c
> index 5f27951..9bf440a 100644
> --- a/src/glsl/toyball.c
> +++ b/src/glsl/toyball.c
> @@ -14,8 +14,8 @@
> #include "shaderutil.h"
>
>
> -static char *FragProgFile = "CH11-toyball.frag";
> -static char *VertProgFile = "CH11-toyball.vert";
> +static char *FragProgFile = DEMOS_DATA_DIR "glsl/CH11-toyball.frag";
> +static char *VertProgFile = DEMOS_DATA_DIR "glsl/CH11-toyball.vert";
>
> /* program/shader objects */
> static GLuint fragShader;
> diff --git a/src/gs/CMakeLists.txt b/src/gs/CMakeLists.txt
> index eef685d..8516013 100644
> --- a/src/gs/CMakeLists.txt
> +++ b/src/gs/CMakeLists.txt
> @@ -26,9 +26,9 @@ set (targets
> foreach (target ${targets})
> add_executable (${subdir}_${target} ${target}.c)
> set_target_properties (${subdir}_${target} PROPERTIES OUTPUT_NAME
> ${target})
> - install (TARGETS ${subdir}_${target} DESTINATION ${subdir})
> + install (TARGETS ${subdir}_${target} DESTINATION
> ${BINDIR}${subdir})
> endforeach (target)
>
> file (GLOB data *.glsl)
>
> -install (FILES ${data} DESTINATION ${subdir})
> +install (FILES ${data} DESTINATION ${DATADIR}${subdir})
> diff --git a/src/objviewer/CMakeLists.txt
> b/src/objviewer/CMakeLists.txt
> index fc61720..7bdd657 100644
> --- a/src/objviewer/CMakeLists.txt
> +++ b/src/objviewer/CMakeLists.txt
> @@ -24,8 +24,8 @@ add_executable (objview
> objview.c
> skybox.c
> )
> -install (TARGETS objview DESTINATION objviewer)
> +install (TARGETS objview DESTINATION ${BINDIR}objviewer)
>
> file (GLOB data *.mtl *.obj *.rgb)
>
> -install (FILES ${data} DESTINATION objviewer)
> +install (FILES ${data} DESTINATION ${DATADIR}objviewer)
> diff --git a/src/objviewer/objview.c b/src/objviewer/objview.c
> index 6def726..7c94cc6 100644
> --- a/src/objviewer/objview.c
> +++ b/src/objviewer/objview.c
> @@ -162,12 +162,12 @@ init_model(void)
> static void
> init_skybox(void)
> {
> - SkyboxTex = LoadSkyBoxCubeTexture("alpine_east.rgb",
> - "alpine_west.rgb",
> - "alpine_up.rgb",
> - "alpine_down.rgb",
> - "alpine_south.rgb",
> - "alpine_north.rgb");
> + SkyboxTex = LoadSkyBoxCubeTexture(DEMOS_DATA_DIR
> "objviewer/alpine_east.rgb",
> + DEMOS_DATA_DIR
> "objviewer/alpine_west.rgb",
> + DEMOS_DATA_DIR
> "objviewer/alpine_up.rgb",
> + DEMOS_DATA_DIR
> "objviewer/alpine_down.rgb",
> + DEMOS_DATA_DIR
> "objviewer/alpine_south.rgb",
> + DEMOS_DATA_DIR
> "objviewer/alpine_north.rgb");
> glmSpecularTexture(Model, SkyboxTex);
> }
>
> @@ -475,7 +475,7 @@ main(int argc, char** argv)
> if (!Model_file) {
> fprintf(stderr, "usage: objview file.obj\n");
> fprintf(stderr, "(using default bunny.obj)\n");
> - Model_file = "bunny.obj";
> + Model_file = DEMOS_DATA_DIR "objviewer/bunny.obj";
> }
>
> glutInitDisplayMode(GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE);
> diff --git a/src/perf/CMakeLists.txt b/src/perf/CMakeLists.txt
> index 68b6875..3f042c2 100644
> --- a/src/perf/CMakeLists.txt
> +++ b/src/perf/CMakeLists.txt
> @@ -35,5 +35,5 @@ set (targets
> foreach (target ${targets})
> add_executable (${subdir}_${target} ${target}.c common.c glmain.c)
> set_target_properties (${subdir}_${target} PROPERTIES OUTPUT_NAME
> ${target})
> - install (TARGETS ${subdir}_${target} DESTINATION ${subdir})
> + install (TARGETS ${subdir}_${target} DESTINATION
> ${BINDIR}${subdir})
> endforeach (target)
> diff --git a/src/perf/glslstateschange.c
> b/src/perf/glslstateschange.c
> index 7422b78..ecdd66b 100644
> --- a/src/perf/glslstateschange.c
> +++ b/src/perf/glslstateschange.c
> @@ -60,10 +60,10 @@ static GLint P2TexCoord0_attr = -1,
> P2TexCoord1_attr = -1;
>
> static const char *TexFiles[4] =
> {
> - DEMOS_DATA_DIR "tile.rgb",
> - DEMOS_DATA_DIR "tree2.rgba",
> - DEMOS_DATA_DIR "tile.rgb",
> - DEMOS_DATA_DIR "tree2.rgba"
> + DEMOS_DATA_DIR "data/tile.rgb",
> + DEMOS_DATA_DIR "data/tree2.rgba",
> + DEMOS_DATA_DIR "data/tile.rgb",
> + DEMOS_DATA_DIR "data/tree2.rgba"
> };
> GLuint texObj[4];
>
> diff --git a/src/redbook/CMakeLists.txt b/src/redbook/CMakeLists.txt
> index 37201af..7c2f1bb 100644
> --- a/src/redbook/CMakeLists.txt
> +++ b/src/redbook/CMakeLists.txt
> @@ -101,5 +101,5 @@ set (targets
> foreach (target ${targets})
> add_executable (${subdir}_${target} ${target}.c)
> set_target_properties (${subdir}_${target} PROPERTIES OUTPUT_NAME
> ${target})
> - install (TARGETS ${subdir}_${target} DESTINATION ${subdir})
> + install (TARGETS ${subdir}_${target} DESTINATION
> ${BINDIR}${subdir})
> endforeach (target)
> diff --git a/src/samples/CMakeLists.txt b/src/samples/CMakeLists.txt
> index b83ee91..699e7d5 100644
> --- a/src/samples/CMakeLists.txt
> +++ b/src/samples/CMakeLists.txt
> @@ -56,7 +56,7 @@ foreach (target ${targets})
> ${GLUT_glut_LIBRARY}
> ${GLEW_glew_LIBRARY}
> )
> - install (TARGETS ${subdir}_${target} DESTINATION ${subdir})
> + install (TARGETS ${subdir}_${target} DESTINATION
> ${BINDIR}${subdir})
> endforeach (target)
>
> if (X11_FOUND)
> @@ -77,6 +77,6 @@ if (X11_FOUND)
> ${X11_Xext_LIB}
> ${X11_X11_LIB}
> )
> - install (TARGETS ${subdir}_${target} DESTINATION ${subdir})
> + install (TARGETS ${subdir}_${target} DESTINATION
> ${BINDIR}${subdir})
> endforeach (target)
> endif (X11_FOUND)
> diff --git a/src/samples/sphere.c b/src/samples/sphere.c
> index 6fb4001..7231e50 100644
> --- a/src/samples/sphere.c
> +++ b/src/samples/sphere.c
> @@ -40,7 +40,7 @@
> GLenum doubleBuffer;
> int W = 400, H = 400;
>
> -char *imageFileName = DEMOS_DATA_DIR "reflect.rgb";
> +char *imageFileName = DEMOS_DATA_DIR "data/reflect.rgb";
>
> float *minFilter, *magFilter, *sWrapMode, *tWrapMode;
> float decal[] = {GL_DECAL};
> diff --git a/src/slang/CMakeLists.txt b/src/slang/CMakeLists.txt
> index 8e5c7e1..c214339 100644
> --- a/src/slang/CMakeLists.txt
> +++ b/src/slang/CMakeLists.txt
> @@ -28,7 +28,7 @@ set (targets
> foreach (target ${targets})
> add_executable (${subdir}_${target} ${target}.c framework.c)
> set_target_properties (${subdir}_${target} PROPERTIES OUTPUT_NAME
> ${target})
> - install (TARGETS ${subdir}_${target} DESTINATION ${subdir})
> + install (TARGETS ${subdir}_${target} DESTINATION
> ${BINDIR}${subdir})
> endforeach (target)
>
> -install (FILES cltest.txt vstest.txt DESTINATION ${subdir})
> +install (FILES cltest.txt vstest.txt DESTINATION
> ${DATADIR}${subdir})
> diff --git a/src/slang/cltest.c b/src/slang/cltest.c
> index dfff6cb..c25bfc5 100644
> --- a/src/slang/cltest.c
> +++ b/src/slang/cltest.c
> @@ -159,7 +159,7 @@ void InitScene (void)
> vert = glCreateShaderObjectARB (GL_VERTEX_SHADER_ARB);
> glAttachObjectARB (prog, vert);
> glDeleteObjectARB (vert);
> - load_test_file ("cltest.txt", &program);
> + load_test_file (DEMOS_DATA_DIR "slang/cltest.txt", &program);
> }
>
> void RenderScene (void)
> diff --git a/src/slang/vstest.c b/src/slang/vstest.c
> index fa3c082..1458fe4 100644
> --- a/src/slang/vstest.c
> +++ b/src/slang/vstest.c
> @@ -252,7 +252,7 @@ void InitScene (void)
> vert = glCreateShaderObjectARB (GL_VERTEX_SHADER_ARB);
> glAttachObjectARB (prog, vert);
> glDeleteObjectARB (vert);
> - load_test_file ("vstest.txt");
> + load_test_file (DEMOS_DATA_DIR "slang/vstest.txt");
> glLinkProgramARB (prog);
> if (!CheckObjectStatus (prog))
> exit (0);
> diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt
> index c65505b..3d75476 100644
> --- a/src/tests/CMakeLists.txt
> +++ b/src/tests/CMakeLists.txt
> @@ -148,7 +148,7 @@ foreach (target ${targets})
> ${GLUT_glut_LIBRARY}
> ${GLEW_glew_LIBRARY}
> )
> - install (TARGETS ${subdir}_${target} DESTINATION ${subdir})
> + install (TARGETS ${subdir}_${target} DESTINATION
> ${BINDIR}${subdir})
> endforeach (target)
>
> if (X11_FOUND)
> @@ -173,6 +173,6 @@ if (X11_FOUND)
> ${X11_Xext_LIB}
> ${X11_X11_LIB}
> )
> - install (TARGETS ${subdir}_${target} DESTINATION ${subdir})
> + install (TARGETS ${subdir}_${target} DESTINATION
> ${BINDIR}${subdir})
> endforeach (target)
> endif (X11_FOUND)
> diff --git a/src/tests/afsmultiarb.c b/src/tests/afsmultiarb.c
> index 51e7618..249a25e 100644
> --- a/src/tests/afsmultiarb.c
> +++ b/src/tests/afsmultiarb.c
> @@ -16,8 +16,8 @@
>
> #include "readtex.h"
>
> -#define TEXTURE_1_FILE DEMOS_DATA_DIR "girl.rgb"
> -#define TEXTURE_2_FILE DEMOS_DATA_DIR "reflect.rgb"
> +#define TEXTURE_1_FILE DEMOS_DATA_DIR "data/girl.rgb"
> +#define TEXTURE_2_FILE DEMOS_DATA_DIR "data/reflect.rgb"
>
> #define TEX0 1
> #define TEX7 8
> diff --git a/src/tests/arbfptexture.c b/src/tests/arbfptexture.c
> index 8f68551..c3546fc 100644
> --- a/src/tests/arbfptexture.c
> +++ b/src/tests/arbfptexture.c
> @@ -11,7 +11,7 @@
> #include "readtex.c"
>
>
> -#define TEXTURE_FILE DEMOS_DATA_DIR "girl.rgb"
> +#define TEXTURE_FILE DEMOS_DATA_DIR "data/girl.rgb"
>
> static GLfloat Xrot = 0.0, Yrot = 0.0, Zrot = 0.0;
>
> diff --git a/src/tests/arbfptrig.c b/src/tests/arbfptrig.c
> index f590751..cc1b75d 100644
> --- a/src/tests/arbfptrig.c
> +++ b/src/tests/arbfptrig.c
> @@ -11,7 +11,7 @@
> #include "readtex.c"
>
>
> -#define TEXTURE_FILE DEMOS_DATA_DIR "girl.rgb"
> +#define TEXTURE_FILE DEMOS_DATA_DIR "data/girl.rgb"
>
> static GLfloat Xrot = 0.0, Yrot = 0.0, Zrot = 0.0;
>
> diff --git a/src/tests/arbnpot.c b/src/tests/arbnpot.c
> index 21875af..b5b3c31 100644
> --- a/src/tests/arbnpot.c
> +++ b/src/tests/arbnpot.c
> @@ -12,7 +12,7 @@
> #include "glut_wrap.h"
> #include "../util/readtex.c"
>
> -#define IMAGE_FILE DEMOS_DATA_DIR "girl.rgb"
> +#define IMAGE_FILE DEMOS_DATA_DIR "data/girl.rgb"
>
> static GLfloat Zrot = 0;
>
> diff --git a/src/tests/arbvparray.c b/src/tests/arbvparray.c
> index 1111afd..8c30f44 100644
> --- a/src/tests/arbvparray.c
> +++ b/src/tests/arbvparray.c
> @@ -213,7 +213,7 @@ static void init(void)
> glEnable( GL_DEPTH_TEST );
> glEnable(GL_NORMALIZE);
> InitMaterials();
> - read_surface(DEMOS_DATA_DIR "isosurf.dat");
> + read_surface(DEMOS_DATA_DIR "data/isosurf.dat");
> init_program();
> }
>
> diff --git a/src/tests/arraytexture.c b/src/tests/arraytexture.c
> index 4d6b5c0..7816f68 100644
> --- a/src/tests/arraytexture.c
> +++ b/src/tests/arraytexture.c
> @@ -53,15 +53,15 @@
> } while (0)
>
> static const char *const textures[] = {
> - DEMOS_DATA_DIR "girl.rgb",
> - DEMOS_DATA_DIR "girl2.rgb",
> - DEMOS_DATA_DIR "arch.rgb",
> - DEMOS_DATA_DIR "s128.rgb",
> + DEMOS_DATA_DIR "data/girl.rgb",
> + DEMOS_DATA_DIR "data/girl2.rgb",
> + DEMOS_DATA_DIR "data/arch.rgb",
> + DEMOS_DATA_DIR "data/s128.rgb",
>
> - DEMOS_DATA_DIR "tree3.rgb",
> - DEMOS_DATA_DIR "bw.rgb",
> - DEMOS_DATA_DIR "reflect.rgb",
> - DEMOS_DATA_DIR "wrs_logo.rgb",
> + DEMOS_DATA_DIR "data/tree3.rgb",
> + DEMOS_DATA_DIR "data/bw.rgb",
> + DEMOS_DATA_DIR "data/reflect.rgb",
> + DEMOS_DATA_DIR "data/wrs_logo.rgb",
> NULL
> };
>
> diff --git a/src/tests/blendxor.c b/src/tests/blendxor.c
> index af81a17..aaea3bf 100644
> --- a/src/tests/blendxor.c
> +++ b/src/tests/blendxor.c
> @@ -10,7 +10,7 @@
> #include "glut_wrap.h"
> #include "readtex.c"
>
> -#define IMAGE_FILE DEMOS_DATA_DIR "arch.rgb"
> +#define IMAGE_FILE DEMOS_DATA_DIR "data/arch.rgb"
>
> static int ImgWidth, ImgHeight;
> static GLenum ImgFormat;
> diff --git a/src/tests/bug_3195.c b/src/tests/bug_3195.c
> index fd76307..c3cadb4 100644
> --- a/src/tests/bug_3195.c
> +++ b/src/tests/bug_3195.c
> @@ -41,7 +41,7 @@
>
> #include "readtex.h"
>
> -#define TEXTURE_FILE DEMOS_DATA_DIR "girl.rgb"
> +#define TEXTURE_FILE DEMOS_DATA_DIR "data/girl.rgb"
>
> static GLfloat Xrot = 0, Yrot = -30, Zrot = 0;
> static GLint Bias = 0, BiasStepSign = +1; /* ints avoid fp precision
> problem */
> diff --git a/src/tests/bumpmap.c b/src/tests/bumpmap.c
> index c77394a..d94950c 100644
> --- a/src/tests/bumpmap.c
> +++ b/src/tests/bumpmap.c
> @@ -35,7 +35,7 @@
>
> #include "readtex.h"
>
> -static const char *TexFile = DEMOS_DATA_DIR "arch.rgb";
> +static const char *TexFile = DEMOS_DATA_DIR "data/arch.rgb";
>
> static const GLfloat Near = 5.0, Far = 25.0;
>
> diff --git a/src/tests/ext422square.c b/src/tests/ext422square.c
> index cf4bbdc..6514e41 100644
> --- a/src/tests/ext422square.c
> +++ b/src/tests/ext422square.c
> @@ -18,7 +18,7 @@
>
> #include "../util/readtex.c" /* I know, this is a hack. */
>
> -#define TEXTURE_FILE DEMOS_DATA_DIR "tile.rgb"
> +#define TEXTURE_FILE DEMOS_DATA_DIR "data/tile.rgb"
>
> static GLfloat Xrot = 0, Yrot = 0, Zrot = 0;
> static GLint ImgWidth, ImgHeight;
> diff --git a/src/tests/fillrate.c b/src/tests/fillrate.c
> index f1365b8..1b5e62b 100644
> --- a/src/tests/fillrate.c
> +++ b/src/tests/fillrate.c
> @@ -13,8 +13,8 @@
> #include "glut_wrap.h"
> #include "readtex.h"
>
> -#define TEXTURE_1_FILE DEMOS_DATA_DIR "tile.rgb"
> -#define TEXTURE_2_FILE DEMOS_DATA_DIR "reflect.rgb"
> +#define TEXTURE_1_FILE DEMOS_DATA_DIR "data/tile.rgb"
> +#define TEXTURE_2_FILE DEMOS_DATA_DIR "data/reflect.rgb"
>
> static int Win;
> static int Width = 1010, Height = 1010;
> diff --git a/src/tests/floattex.c b/src/tests/floattex.c
> index 1da850b..e8d13b1 100644
> --- a/src/tests/floattex.c
> +++ b/src/tests/floattex.c
> @@ -13,7 +13,7 @@
> #include "shaderutil.h"
>
>
> -static const char *TexFile = DEMOS_DATA_DIR "arch.rgb";
> +static const char *TexFile = DEMOS_DATA_DIR "data/arch.rgb";
>
> static const char *FragShaderText =
> "uniform sampler2D tex1; \n"
> diff --git a/src/tests/fptexture.c b/src/tests/fptexture.c
> index ab7cfc4..5e79ec6 100644
> --- a/src/tests/fptexture.c
> +++ b/src/tests/fptexture.c
> @@ -11,7 +11,7 @@
> #include "../util/readtex.c"
>
>
> -#define TEXTURE_FILE DEMOS_DATA_DIR "girl.rgb"
> +#define TEXTURE_FILE DEMOS_DATA_DIR "data/girl.rgb"
>
> static GLfloat Xrot = 0.0, Yrot = 0.0, Zrot = 0.0;
>
> diff --git a/src/tests/invert.c b/src/tests/invert.c
> index a44b769..d562864 100644
> --- a/src/tests/invert.c
> +++ b/src/tests/invert.c
> @@ -40,7 +40,7 @@
>
> #include "readtex.h"
>
> -#define IMAGE_FILE DEMOS_DATA_DIR "tree3.rgb"
> +#define IMAGE_FILE DEMOS_DATA_DIR "data/tree3.rgb"
>
> static int Width = 420;
> static int Height = 150;
> diff --git a/src/tests/mipmap_limits.c b/src/tests/mipmap_limits.c
> index dd17407..c79762f 100644
> --- a/src/tests/mipmap_limits.c
> +++ b/src/tests/mipmap_limits.c
> @@ -56,7 +56,7 @@
>
> #include "readtex.h"
>
> -#define TEXTURE_FILE DEMOS_DATA_DIR "girl.rgb"
> +#define TEXTURE_FILE DEMOS_DATA_DIR "data/girl.rgb"
>
> static GLint BaseLevel = 0, MaxLevel = 9;
> static GLfloat MinLod = -1, MaxLod = 9;
> diff --git a/src/tests/mipmap_view.c b/src/tests/mipmap_view.c
> index 32df8da..9cba48a 100644
> --- a/src/tests/mipmap_view.c
> +++ b/src/tests/mipmap_view.c
> @@ -15,7 +15,7 @@
>
> #include "readtex.h"
>
> -#define TEXTURE_FILE DEMOS_DATA_DIR "arch.rgb"
> +#define TEXTURE_FILE DEMOS_DATA_DIR "data/arch.rgb"
>
> #define LEVELS 8
> #define SIZE (1<<LEVELS)
> diff --git a/src/tests/multipal.c b/src/tests/multipal.c
> index 5ba4f86..647f7ee 100644
> --- a/src/tests/multipal.c
> +++ b/src/tests/multipal.c
> @@ -18,8 +18,8 @@
>
> #include "../util/readtex.c" /* I know, this is a hack. */
>
> -#define TEXTURE_1_FILE DEMOS_DATA_DIR "tile.rgb"
> -#define TEXTURE_2_FILE DEMOS_DATA_DIR "reflect.rgb"
> +#define TEXTURE_1_FILE DEMOS_DATA_DIR "data/tile.rgb"
> +#define TEXTURE_2_FILE DEMOS_DATA_DIR "data/reflect.rgb"
>
> #define TEX0 1
> #define TEX1 2
> diff --git a/src/tests/pbo.c b/src/tests/pbo.c
> index dd0106f..bb2729f 100644
> --- a/src/tests/pbo.c
> +++ b/src/tests/pbo.c
> @@ -15,7 +15,7 @@
>
> #include "../util/readtex.c" /* a hack, I know */
>
> -#define IMAGE_FILE DEMOS_DATA_DIR "girl.rgb"
> +#define IMAGE_FILE DEMOS_DATA_DIR "data/girl.rgb"
>
> static int ImgWidth, ImgHeight;
> static GLenum ImgFormat;
> diff --git a/src/tests/rubberband.c b/src/tests/rubberband.c
> index 43772e7..b3b700b 100644
> --- a/src/tests/rubberband.c
> +++ b/src/tests/rubberband.c
> @@ -9,7 +9,7 @@
> #include "glut_wrap.h"
> #include "readtex.c"
>
> -#define IMAGE_FILE DEMOS_DATA_DIR "arch.rgb"
> +#define IMAGE_FILE DEMOS_DATA_DIR "data/arch.rgb"
>
> static int ImgWidth, ImgHeight;
> static GLenum ImgFormat;
> diff --git a/src/tests/texcmp.c b/src/tests/texcmp.c
> index 9782b79..c76137e 100644
> --- a/src/tests/texcmp.c
> +++ b/src/tests/texcmp.c
> @@ -11,7 +11,7 @@
> #include "glut_wrap.h"
>
> #include "readtex.c" /* I know, this is a hack. */
> -#define TEXTURE_FILE DEMOS_DATA_DIR "tree2.rgba"
> +#define TEXTURE_FILE DEMOS_DATA_DIR "data/tree2.rgba"
>
>
> static float Rot = 0.0;
> diff --git a/src/tests/texcompress2.c b/src/tests/texcompress2.c
> index 142bba1..80bce92 100644
> --- a/src/tests/texcompress2.c
> +++ b/src/tests/texcompress2.c
> @@ -9,7 +9,7 @@
> #include "glut_wrap.h"
> #include "readtex.c"
>
> -#define IMAGE_FILE DEMOS_DATA_DIR "arch.rgb"
> +#define IMAGE_FILE DEMOS_DATA_DIR "data/arch.rgb"
>
> static int ImgWidth, ImgHeight;
> static GLenum ImgFormat;
> diff --git a/src/tests/texline.c b/src/tests/texline.c
> index 815de12..0b94851 100644
> --- a/src/tests/texline.c
> +++ b/src/tests/texline.c
> @@ -13,7 +13,7 @@
> #include "glut_wrap.h"
> #include "../util/readtex.c" /* I know, this is a hack. */
>
> -#define TEXTURE_FILE DEMOS_DATA_DIR "girl.rgb"
> +#define TEXTURE_FILE DEMOS_DATA_DIR "data/girl.rgb"
>
> static GLboolean Antialias = GL_FALSE;
> static GLboolean Animate = GL_FALSE;
> diff --git a/src/tests/texrect.c b/src/tests/texrect.c
> index fa84449..9709615 100644
> --- a/src/tests/texrect.c
> +++ b/src/tests/texrect.c
> @@ -14,8 +14,8 @@
> #include "glut_wrap.h"
> #include "readtex.h"
>
> -#define TEXTURE_0_FILE DEMOS_DATA_DIR "girl.rgb"
> -#define TEXTURE_1_FILE DEMOS_DATA_DIR "reflect.rgb"
> +#define TEXTURE_0_FILE DEMOS_DATA_DIR "data/girl.rgb"
> +#define TEXTURE_1_FILE DEMOS_DATA_DIR "data/reflect.rgb"
>
> #define TEX0 1
> #define TEX7 8
> diff --git a/src/tests/vparray.c b/src/tests/vparray.c
> index 3de6180..18c27f8 100644
> --- a/src/tests/vparray.c
> +++ b/src/tests/vparray.c
> @@ -208,7 +208,7 @@ static void init(void)
> glEnable( GL_DEPTH_TEST );
> glEnable(GL_NORMALIZE);
> InitMaterials();
> - read_surface(DEMOS_DATA_DIR "isosurf.dat");
> + read_surface(DEMOS_DATA_DIR "data/isosurf.dat");
> init_program();
> }
>
> diff --git a/src/tests/yuvrect.c b/src/tests/yuvrect.c
> index c39ac1b..3860aba 100644
> --- a/src/tests/yuvrect.c
> +++ b/src/tests/yuvrect.c
> @@ -14,7 +14,7 @@
>
> #include "../util/readtex.c" /* I know, this is a hack. */
>
> -#define TEXTURE_FILE DEMOS_DATA_DIR "girl.rgb"
> +#define TEXTURE_FILE DEMOS_DATA_DIR "data/girl.rgb"
>
> static GLfloat Xrot = 0, Yrot = 0, Zrot = 0;
> static GLint ImgWidth, ImgHeight;
> diff --git a/src/tests/yuvsquare.c b/src/tests/yuvsquare.c
> index 35b53bf..7e7dc59 100644
> --- a/src/tests/yuvsquare.c
> +++ b/src/tests/yuvsquare.c
> @@ -14,7 +14,7 @@
>
> #include "../util/readtex.c" /* I know, this is a hack. */
>
> -#define TEXTURE_FILE DEMOS_DATA_DIR "tile.rgb"
> +#define TEXTURE_FILE DEMOS_DATA_DIR "data/tile.rgb"
>
> static GLfloat Xrot = 0, Yrot = 0, Zrot = 0;
> static GLint ImgWidth, ImgHeight;
> diff --git a/src/trivial/CMakeLists.txt b/src/trivial/CMakeLists.txt
> index 267fa23..a6d4387 100644
> --- a/src/trivial/CMakeLists.txt
> +++ b/src/trivial/CMakeLists.txt
> @@ -198,5 +198,5 @@ set (targets
> foreach (target ${targets})
> add_executable (${subdir}_${target} ${target}.c)
> set_target_properties (${subdir}_${target} PROPERTIES OUTPUT_NAME
> ${target})
> - install (TARGETS ${subdir}_${target} DESTINATION ${subdir})
> + install (TARGETS ${subdir}_${target} DESTINATION
> ${BINDIR}${subdir})
> endforeach (target)
> diff --git a/src/vp/CMakeLists.txt b/src/vp/CMakeLists.txt
> index 5bc4911..7d2e4d3 100644
> --- a/src/vp/CMakeLists.txt
> +++ b/src/vp/CMakeLists.txt
> @@ -26,9 +26,13 @@ set (targets
> foreach (target ${targets})
> add_executable (${subdir}_${target} ${target}.c)
> set_target_properties (${subdir}_${target} PROPERTIES OUTPUT_NAME
> ${target})
> - install (TARGETS ${subdir}_${target} DESTINATION ${subdir})
> + install (TARGETS ${subdir}_${target} DESTINATION
> ${BINDIR}${subdir})
> endforeach (target)
>
> -file (GLOB data *.txt)
> +file (GLOB data *.txt *.sh)
>
> -install (FILES ${data} DESTINATION ${subdir})
> +if (DEFINED BINDIR OR DEFINED DATADIR)
> + execute_process(COMMAND sed -i -e
> "s:.*vp-tris:${BINDIR}${subdir}/vp-tris:g"
> ${CMAKE_CURRENT_SOURCE_DIR}/run.sh)
> +endif (DEFINED BINDIR OR DEFINED DATADIR)
> +
> +install (FILES ${data} DESTINATION ${DATADIR}${subdir})
> diff --git a/src/vpglsl/CMakeLists.txt b/src/vpglsl/CMakeLists.txt
> index 36ee986..190d4ee 100644
> --- a/src/vpglsl/CMakeLists.txt
> +++ b/src/vpglsl/CMakeLists.txt
> @@ -26,9 +26,9 @@ set (targets
> foreach (target ${targets})
> add_executable (${subdir}_${target} ${target}.c)
> set_target_properties (${subdir}_${target} PROPERTIES OUTPUT_NAME
> ${target})
> - install (TARGETS ${subdir}_${target} DESTINATION ${subdir})
> + install (TARGETS ${subdir}_${target} DESTINATION
> ${BINDIR}${subdir})
> endforeach (target)
>
> file (GLOB data *.glsl)
>
> -install (FILES ${data} DESTINATION ${subdir})
> +install (FILES ${data} DESTINATION ${DATADIR}${subdir})
> diff --git a/src/wgl/CMakeLists.txt b/src/wgl/CMakeLists.txt
> index 88e6a20..2462008 100644
> --- a/src/wgl/CMakeLists.txt
> +++ b/src/wgl/CMakeLists.txt
> @@ -15,4 +15,4 @@ set_target_properties (wgl_sharedtex_mt PROPERTIES
> OUTPUT_NAME sharedtex_mt)
> add_executable (wglinfo wglinfo.c)
> add_executable (wglcontext wglcontext.c)
>
> -install (TARGETS wglthreads wgl_sharedtex_mt wglinfo DESTINATION
> wgl)
> +install (TARGETS wglthreads wgl_sharedtex_mt wglinfo DESTINATION
> ${DATADIR}wgl)
> diff --git a/src/xdemos/CMakeLists.txt b/src/xdemos/CMakeLists.txt
> index ee8b12d..c85b52c 100644
> --- a/src/xdemos/CMakeLists.txt
> +++ b/src/xdemos/CMakeLists.txt
> @@ -62,7 +62,7 @@ set (targets
> foreach (target ${targets})
> add_executable (${subdir}_${target} ${target}.c)
> set_target_properties (${subdir}_${target} PROPERTIES OUTPUT_NAME
> ${target})
> - install (TARGETS ${subdir}_${target} DESTINATION ${subdir})
> + install (TARGETS ${subdir}_${target} DESTINATION
> ${BINDIR}${subdir})
> endforeach (target)
>
> target_link_libraries (${subdir}_glthreads pthread)
> @@ -74,4 +74,4 @@ target_link_libraries (${subdir}_sharedtex_mt
> pthread)
> add_executable (corender corender.c ipc.c)
> add_executable (xrotfontdemo xrotfontdemo.c xuserotfont.c)
>
> -install (TARGETS corender xrotfontdemo DESTINATION demos)
> +install (TARGETS corender xrotfontdemo DESTINATION ${BINDIR}demos)
> diff --git a/src/xdemos/yuvrect_client.c
> b/src/xdemos/yuvrect_client.c
> index ccbd479..933eaba 100644
> --- a/src/xdemos/yuvrect_client.c
> +++ b/src/xdemos/yuvrect_client.c
> @@ -16,7 +16,7 @@
>
> #include "../util/readtex.c" /* I know, this is a hack. */
>
> -#define TEXTURE_FILE DEMOS_DATA_DIR "girl2.rgb"
> +#define TEXTURE_FILE DEMOS_DATA_DIR "data/girl2.rgb"
>
> static GLfloat Xrot = 0, Yrot = 0, Zrot = 0;
> static GLint ImgWidth, ImgHeight;
> --
> 1.7.7
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
More information about the mesa-dev
mailing list