mirror of
https://github.com/Perlmint/glew-cmake.git
synced 2024-11-23 07:05:07 +00:00
Merge https://github.com/nigels-com/glew.git into master HEAD at Sat Oct 10 17:44:18 GMT 2015
This commit is contained in:
commit
bd5d498437
@ -1,12 +1,15 @@
|
|||||||
language: cpp
|
language: cpp
|
||||||
#sudo: false
|
#sudo: false
|
||||||
install:
|
install:
|
||||||
- sudo apt-get install git dos2unix
|
- sudo apt-get install git cmake dos2unix libosmesa-dev
|
||||||
script:
|
script:
|
||||||
- make -C auto clobber
|
- make -C auto clobber
|
||||||
- make extensions
|
- make extensions
|
||||||
- make
|
|
||||||
- make dist-src
|
- make dist-src
|
||||||
|
- make clean; SYSTEM=linux make
|
||||||
|
- make clean; SYSTEM=linux-osmesa make
|
||||||
|
- pushd build/cmake; git clean -xdf .; cmake -G 'Unix Makefiles' . ; make; popd
|
||||||
|
- pushd build/cmake; git clean -xdf .; cmake -G 'Unix Makefiles' -DGLEW_OSMESA=1 .; make; popd
|
||||||
addons:
|
addons:
|
||||||
artifacts:
|
artifacts:
|
||||||
bucket: glew
|
bucket: glew
|
||||||
|
92
Makefile
92
Makefile
@ -64,12 +64,14 @@ DIST_DIR := $(shell mktemp -d /tmp/glew.XXXXXX)/$(DIST_NAME)
|
|||||||
# To disable symlinks:
|
# To disable symlinks:
|
||||||
# - use LN= on gmake command-line
|
# - use LN= on gmake command-line
|
||||||
|
|
||||||
AR ?= ar
|
AR ?= ar
|
||||||
ARFLAGS ?= cr
|
ARFLAGS ?= cr
|
||||||
INSTALL ?= install
|
INSTALL ?= install
|
||||||
STRIP ?= strip
|
STRIP ?= strip
|
||||||
RM ?= rm -f
|
RM ?= rm -f
|
||||||
LN ?= ln -sf
|
LN ?= ln -sf
|
||||||
|
UNIX2DOS ?= unix2dos -q
|
||||||
|
DOS2UNIX ?= dos2unix -q
|
||||||
|
|
||||||
ifneq (,$(filter debug,$(MAKECMDGOALS)))
|
ifneq (,$(filter debug,$(MAKECMDGOALS)))
|
||||||
OPT = -g
|
OPT = -g
|
||||||
@ -349,12 +351,12 @@ dist-win32:
|
|||||||
$(RM) -f $(DIST_DIR)/bin/*/*/*.pdb $(DIST_DIR)/bin/*/*/*.exp
|
$(RM) -f $(DIST_DIR)/bin/*/*/*.pdb $(DIST_DIR)/bin/*/*/*.exp
|
||||||
$(RM) -f $(DIST_DIR)/bin/*/*/glewinfo-*.exe $(DIST_DIR)/bin/*/*/visualinfo-*.exe
|
$(RM) -f $(DIST_DIR)/bin/*/*/glewinfo-*.exe $(DIST_DIR)/bin/*/*/visualinfo-*.exe
|
||||||
$(RM) -f $(DIST_DIR)/lib/*/*/*.pdb $(DIST_DIR)/lib/*/*/*.exp
|
$(RM) -f $(DIST_DIR)/lib/*/*/*.pdb $(DIST_DIR)/lib/*/*/*.exp
|
||||||
unix2dos $(DIST_DIR)/include/GL/*.h
|
$(UNIX2DOS) $(DIST_DIR)/include/GL/*.h
|
||||||
unix2dos $(DIST_DIR)/doc/*.txt
|
$(UNIX2DOS) $(DIST_DIR)/doc/*.txt
|
||||||
unix2dos $(DIST_DIR)/doc/*.html
|
$(UNIX2DOS) $(DIST_DIR)/doc/*.html
|
||||||
unix2dos $(DIST_DIR)/*.txt
|
$(UNIX2DOS) $(DIST_DIR)/*.txt
|
||||||
rm -f $(DIST_WIN32)
|
rm -f $(DIST_WIN32)
|
||||||
cd $(DIST_DIR)/.. && zip -rv9 $(DIST_WIN32) $(DIST_NAME)
|
cd $(DIST_DIR)/.. && zip -rq9 $(DIST_WIN32) $(DIST_NAME)
|
||||||
$(RM) -r $(DIST_DIR)
|
$(RM) -r $(DIST_DIR)
|
||||||
|
|
||||||
dist-src:
|
dist-src:
|
||||||
@ -377,42 +379,42 @@ dist-src:
|
|||||||
find $(DIST_DIR) -name CVS -o -name .cvsignore | xargs $(RM) -r
|
find $(DIST_DIR) -name CVS -o -name .cvsignore | xargs $(RM) -r
|
||||||
find $(DIST_DIR) -name .svn | xargs $(RM) -r
|
find $(DIST_DIR) -name .svn | xargs $(RM) -r
|
||||||
find $(DIST_DIR) -name "*.patch" | xargs $(RM) -r
|
find $(DIST_DIR) -name "*.patch" | xargs $(RM) -r
|
||||||
dos2unix $(DIST_DIR)/Makefile
|
$(DOS2UNIX) $(DIST_DIR)/Makefile
|
||||||
dos2unix $(DIST_DIR)/auto/Makefile
|
$(DOS2UNIX) $(DIST_DIR)/auto/Makefile
|
||||||
dos2unix $(DIST_DIR)/config/*
|
$(DOS2UNIX) $(DIST_DIR)/config/*
|
||||||
unix2dos $(DIST_DIR)/auto/core/*
|
$(UNIX2DOS) $(DIST_DIR)/auto/core/*
|
||||||
unix2dos $(DIST_DIR)/auto/extensions/*
|
$(UNIX2DOS) $(DIST_DIR)/auto/extensions/*
|
||||||
find $(DIST_DIR) -name '*.h' | xargs unix2dos
|
find $(DIST_DIR) -name '*.h' | xargs $(UNIX2DOS)
|
||||||
find $(DIST_DIR) -name '*.c' | xargs unix2dos
|
find $(DIST_DIR) -name '*.c' | xargs $(UNIX2DOS)
|
||||||
find $(DIST_DIR) -name '*.txt' | xargs unix2dos
|
find $(DIST_DIR) -name '*.txt' | xargs $(UNIX2DOS)
|
||||||
find $(DIST_DIR) -name '*.html' | xargs unix2dos
|
find $(DIST_DIR) -name '*.html' | xargs $(UNIX2DOS)
|
||||||
find $(DIST_DIR) -name '*.css' | xargs unix2dos
|
find $(DIST_DIR) -name '*.css' | xargs $(UNIX2DOS)
|
||||||
find $(DIST_DIR) -name '*.sh' | xargs unix2dos
|
find $(DIST_DIR) -name '*.sh' | xargs $(UNIX2DOS)
|
||||||
find $(DIST_DIR) -name '*.pl' | xargs unix2dos
|
find $(DIST_DIR) -name '*.pl' | xargs $(UNIX2DOS)
|
||||||
find $(DIST_DIR) -name 'Makefile' | xargs unix2dos
|
find $(DIST_DIR) -name 'Makefile' | xargs $(UNIX2DOS)
|
||||||
find $(DIST_DIR) -name '*.in' | xargs unix2dos
|
find $(DIST_DIR) -name '*.in' | xargs $(UNIX2DOS)
|
||||||
find $(DIST_DIR) -name '*.pm' | xargs unix2dos
|
find $(DIST_DIR) -name '*.pm' | xargs $(UNIX2DOS)
|
||||||
find $(DIST_DIR) -name '*.rc' | xargs unix2dos
|
find $(DIST_DIR) -name '*.rc' | xargs $(UNIX2DOS)
|
||||||
rm -f $(DIST_SRC_ZIP)
|
rm -f $(DIST_SRC_ZIP)
|
||||||
cd $(DIST_DIR)/.. && zip -rv9 $(DIST_SRC_ZIP) $(DIST_NAME)
|
cd $(DIST_DIR)/.. && zip -rq9 $(DIST_SRC_ZIP) $(DIST_NAME)
|
||||||
dos2unix $(DIST_DIR)/Makefile
|
$(DOS2UNIX) $(DIST_DIR)/Makefile
|
||||||
dos2unix $(DIST_DIR)/auto/Makefile
|
$(DOS2UNIX) $(DIST_DIR)/auto/Makefile
|
||||||
dos2unix $(DIST_DIR)/config/*
|
$(DOS2UNIX) $(DIST_DIR)/config/*
|
||||||
dos2unix $(DIST_DIR)/auto/core/*
|
$(DOS2UNIX) $(DIST_DIR)/auto/core/*
|
||||||
dos2unix $(DIST_DIR)/auto/extensions/*
|
$(DOS2UNIX) $(DIST_DIR)/auto/extensions/*
|
||||||
find $(DIST_DIR) -name '*.h' | xargs dos2unix
|
find $(DIST_DIR) -name '*.h' | xargs $(DOS2UNIX)
|
||||||
find $(DIST_DIR) -name '*.c' | xargs dos2unix
|
find $(DIST_DIR) -name '*.c' | xargs $(DOS2UNIX)
|
||||||
find $(DIST_DIR) -name '*.txt' | xargs dos2unix
|
find $(DIST_DIR) -name '*.txt' | xargs $(DOS2UNIX)
|
||||||
find $(DIST_DIR) -name '*.html' | xargs dos2unix
|
find $(DIST_DIR) -name '*.html' | xargs $(DOS2UNIX)
|
||||||
find $(DIST_DIR) -name '*.css' | xargs dos2unix
|
find $(DIST_DIR) -name '*.css' | xargs $(DOS2UNIX)
|
||||||
find $(DIST_DIR) -name '*.sh' | xargs dos2unix
|
find $(DIST_DIR) -name '*.sh' | xargs $(DOS2UNIX)
|
||||||
find $(DIST_DIR) -name '*.pl' | xargs dos2unix
|
find $(DIST_DIR) -name '*.pl' | xargs $(DOS2UNIX)
|
||||||
find $(DIST_DIR) -name 'Makefile' | xargs dos2unix
|
find $(DIST_DIR) -name 'Makefile' | xargs $(DOS2UNIX)
|
||||||
find $(DIST_DIR) -name '*.in' | xargs dos2unix
|
find $(DIST_DIR) -name '*.in' | xargs $(DOS2UNIX)
|
||||||
find $(DIST_DIR) -name '*.pm' | xargs dos2unix
|
find $(DIST_DIR) -name '*.pm' | xargs $(DOS2UNIX)
|
||||||
find $(DIST_DIR) -name '*.rc' | xargs dos2unix
|
find $(DIST_DIR) -name '*.rc' | xargs $(DOS2UNIX)
|
||||||
rm -f $(DIST_SRC_TGZ)
|
rm -f $(DIST_SRC_TGZ)
|
||||||
cd $(DIST_DIR)/.. && env GZIP=-9 tar cvzf $(DIST_SRC_TGZ) $(DIST_NAME)
|
cd $(DIST_DIR)/.. && env GZIP=-9 tar czf $(DIST_SRC_TGZ) $(DIST_NAME)
|
||||||
$(RM) -r $(DIST_DIR)
|
$(RM) -r $(DIST_DIR)
|
||||||
|
|
||||||
extensions:
|
extensions:
|
||||||
|
@ -204,7 +204,7 @@ $(S.DEST)/glew.c: $(EXT)/.dummy
|
|||||||
$(BIN)/make_list.pl $(GL_CORE_SPEC) | grep -v '\"GL_VERSION' >> $@
|
$(BIN)/make_list.pl $(GL_CORE_SPEC) | grep -v '\"GL_VERSION' >> $@
|
||||||
$(BIN)/make_list.pl $(GL_EXT_SPEC) >> $@
|
$(BIN)/make_list.pl $(GL_EXT_SPEC) >> $@
|
||||||
echo -e "\n return GLEW_OK;\n}\n" >> $@
|
echo -e "\n return GLEW_OK;\n}\n" >> $@
|
||||||
echo -e "\n#if defined(_WIN32)" >> $@
|
echo -e "\n#if defined(_WIN32) && ! defined(GLEW_OSMESA)" >> $@
|
||||||
echo -e "\n#if !defined(GLEW_MX)" >> $@
|
echo -e "\n#if !defined(GLEW_MX)" >> $@
|
||||||
$(BIN)/make_def_fun.pl WGL $(WGL_EXT_SPEC) >> $@
|
$(BIN)/make_def_fun.pl WGL $(WGL_EXT_SPEC) >> $@
|
||||||
$(BIN)/make_def_var.pl WGL $(WGL_EXT_SPEC) >> $@
|
$(BIN)/make_def_var.pl WGL $(WGL_EXT_SPEC) >> $@
|
||||||
@ -213,7 +213,7 @@ $(S.DEST)/glew.c: $(EXT)/.dummy
|
|||||||
cat $(SRC)/glew_init_wgl.c >> $@
|
cat $(SRC)/glew_init_wgl.c >> $@
|
||||||
$(BIN)/make_list.pl $(WGL_EXT_SPEC) >> $@
|
$(BIN)/make_list.pl $(WGL_EXT_SPEC) >> $@
|
||||||
echo -e "\n return GLEW_OK;\n}" >> $@;
|
echo -e "\n return GLEW_OK;\n}" >> $@;
|
||||||
echo -e "\n#elif !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX))" >> $@
|
echo -e "\n#elif !defined(GLEW_OSMESA) && !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX))" >> $@
|
||||||
$(BIN)/make_def_fun.pl GLX $(GLX_CORE_SPEC) >> $@
|
$(BIN)/make_def_fun.pl GLX $(GLX_CORE_SPEC) >> $@
|
||||||
$(BIN)/make_def_fun.pl GLX $(GLX_EXT_SPEC) >> $@
|
$(BIN)/make_def_fun.pl GLX $(GLX_EXT_SPEC) >> $@
|
||||||
echo -e "\n#if !defined(GLEW_MX)" >> $@;
|
echo -e "\n#if !defined(GLEW_MX)" >> $@;
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
#include <GL/glew.h>
|
#include <GL/glew.h>
|
||||||
|
|
||||||
#if defined(_WIN32)
|
#if defined(GLEW_OSMESA)
|
||||||
|
# define GLAPI extern
|
||||||
|
# include <GL/osmesa.h>
|
||||||
|
#elif defined(_WIN32)
|
||||||
# include <GL/wglew.h>
|
# include <GL/wglew.h>
|
||||||
#elif !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX))
|
#elif !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX))
|
||||||
# include <GL/glxew.h>
|
# include <GL/glxew.h>
|
||||||
@ -138,7 +141,9 @@ void* NSGLGetProcAddress (const GLubyte *name)
|
|||||||
* Define glewGetProcAddress.
|
* Define glewGetProcAddress.
|
||||||
*/
|
*/
|
||||||
#if defined(GLEW_REGAL)
|
#if defined(GLEW_REGAL)
|
||||||
# define glewGetProcAddress(name) regalGetProcAddress((const GLchar *) name)
|
# define glewGetProcAddress(name) regalGetProcAddress((const GLchar *)name)
|
||||||
|
#elif defined(GLEW_OSMESA)
|
||||||
|
# define glewGetProcAddress(name) OSMesaGetProcAddress((const char *)name)
|
||||||
#elif defined(_WIN32)
|
#elif defined(_WIN32)
|
||||||
# define glewGetProcAddress(name) wglGetProcAddress((LPCSTR)name)
|
# define glewGetProcAddress(name) wglGetProcAddress((LPCSTR)name)
|
||||||
#elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX)
|
#elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX)
|
||||||
|
@ -39,9 +39,11 @@ GLenum GLEWAPIENTRY glewInit (void)
|
|||||||
GLenum r;
|
GLenum r;
|
||||||
r = glewContextInit();
|
r = glewContextInit();
|
||||||
if ( r != 0 ) return r;
|
if ( r != 0 ) return r;
|
||||||
#if defined(_WIN32)
|
#if defined(GLEW_OSMESA) || defined(__ANDROID__) || defined(__native_client__) || defined(__HAIKU__)
|
||||||
|
return r;
|
||||||
|
#elif defined(_WIN32)
|
||||||
return wglewInit();
|
return wglewInit();
|
||||||
#elif !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) /* _UNIX */
|
#elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX) /* _UNIX */
|
||||||
return glxewInit();
|
return glxewInit();
|
||||||
#else
|
#else
|
||||||
return r;
|
return r;
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
#elif !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
|
#elif !defined(GLEW_OSMESA) && !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
|
||||||
|
|
||||||
#if defined(GLEW_MX)
|
#if defined(GLEW_MX)
|
||||||
GLboolean glxewContextIsSupported (const GLXEWContext* ctx, const char* name)
|
GLboolean glxewContextIsSupported (const GLXEWContext* ctx, const char* name)
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32) && !defined(GLEW_OSMESA)
|
||||||
|
|
||||||
#if defined(GLEW_MX)
|
#if defined(GLEW_MX)
|
||||||
GLboolean GLEWAPIENTRY wglewContextIsSupported (const WGLEWContext* ctx, const char* name)
|
GLboolean GLEWAPIENTRY wglewContextIsSupported (const WGLEWContext* ctx, const char* name)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#else /* _UNIX */
|
#elif !defined(GLEW_OSMESA) /* _UNIX */
|
||||||
|
|
||||||
static void glxewInfo ()
|
static void glxewInfo ()
|
||||||
{
|
{
|
||||||
|
@ -2,7 +2,10 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <GL/glew.h>
|
#include <GL/glew.h>
|
||||||
#if defined(_WIN32)
|
#if defined(GLEW_OSMESA)
|
||||||
|
#define GLAPI extern
|
||||||
|
#include <GL/osmesa.h>
|
||||||
|
#elif defined(_WIN32)
|
||||||
#include <GL/wglew.h>
|
#include <GL/wglew.h>
|
||||||
#elif !defined(__APPLE__) && !defined(__HAIKU__) || defined(GLEW_APPLE_GLX)
|
#elif !defined(__APPLE__) && !defined(__HAIKU__) || defined(GLEW_APPLE_GLX)
|
||||||
#include <GL/glxew.h>
|
#include <GL/glxew.h>
|
||||||
@ -21,10 +24,10 @@ static FILE* f;
|
|||||||
#ifdef GLEW_MX
|
#ifdef GLEW_MX
|
||||||
GLEWContext _glewctx;
|
GLEWContext _glewctx;
|
||||||
#define glewGetContext() (&_glewctx)
|
#define glewGetContext() (&_glewctx)
|
||||||
#ifdef _WIN32
|
#if defined(_WIN32)
|
||||||
WGLEWContext _wglewctx;
|
WGLEWContext _wglewctx;
|
||||||
#define wglewGetContext() (&_wglewctx)
|
#define wglewGetContext() (&_wglewctx)
|
||||||
#elif !defined(__APPLE__) && !defined(__HAIKU__) || defined(GLEW_APPLE_GLX)
|
#elif !defined(GLEW_OSMESA) && !defined(__APPLE__) && !defined(__HAIKU__) || defined(GLEW_APPLE_GLX)
|
||||||
GLXEWContext _glxewctx;
|
GLXEWContext _glxewctx;
|
||||||
#define glxewGetContext() (&_glxewctx)
|
#define glxewGetContext() (&_glxewctx)
|
||||||
#endif
|
#endif
|
||||||
@ -34,7 +37,8 @@ GLXEWContext _glxewctx;
|
|||||||
|
|
||||||
struct createParams
|
struct createParams
|
||||||
{
|
{
|
||||||
#if defined(_WIN32)
|
#if defined(GLEW_OSMESA)
|
||||||
|
#elif defined(_WIN32)
|
||||||
int pixelformat;
|
int pixelformat;
|
||||||
#elif !defined(__APPLE__) && !defined(__HAIKU__) || defined(GLEW_APPLE_GLX)
|
#elif !defined(__APPLE__) && !defined(__HAIKU__) || defined(GLEW_APPLE_GLX)
|
||||||
const char* display;
|
const char* display;
|
||||||
|
@ -9,7 +9,8 @@ int main (int argc, char** argv)
|
|||||||
GLuint err;
|
GLuint err;
|
||||||
struct createParams params =
|
struct createParams params =
|
||||||
{
|
{
|
||||||
#if defined(_WIN32)
|
#if defined(GLEW_OSMESA)
|
||||||
|
#elif defined(_WIN32)
|
||||||
-1, /* pixelformat */
|
-1, /* pixelformat */
|
||||||
#elif !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
|
#elif !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
|
||||||
"", /* display */
|
"", /* display */
|
||||||
@ -24,7 +25,8 @@ int main (int argc, char** argv)
|
|||||||
if (glewParseArgs(argc-1, argv+1, ¶ms))
|
if (glewParseArgs(argc-1, argv+1, ¶ms))
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Usage: glewinfo "
|
fprintf(stderr, "Usage: glewinfo "
|
||||||
#if defined(_WIN32)
|
#if defined(GLEW_OSMESA)
|
||||||
|
#elif defined(_WIN32)
|
||||||
"[-pf <pixelformat>] "
|
"[-pf <pixelformat>] "
|
||||||
#elif !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
|
#elif !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
|
||||||
"[-display <display>] "
|
"[-display <display>] "
|
||||||
@ -46,7 +48,8 @@ int main (int argc, char** argv)
|
|||||||
glewExperimental = GL_TRUE;
|
glewExperimental = GL_TRUE;
|
||||||
#ifdef GLEW_MX
|
#ifdef GLEW_MX
|
||||||
err = glewContextInit(glewGetContext());
|
err = glewContextInit(glewGetContext());
|
||||||
#ifdef _WIN32
|
#if defined(GLEW_OSMESA)
|
||||||
|
#elif defined(_WIN32)
|
||||||
err = err || wglewContextInit(wglewGetContext());
|
err = err || wglewContextInit(wglewGetContext());
|
||||||
#elif !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
|
#elif !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
|
||||||
err = err || glxewContextInit(glxewGetContext());
|
err = err || glxewContextInit(glxewGetContext());
|
||||||
@ -76,7 +79,8 @@ int main (int argc, char** argv)
|
|||||||
fprintf(f, " GLEW Extension Info\n");
|
fprintf(f, " GLEW Extension Info\n");
|
||||||
fprintf(f, "---------------------------\n\n");
|
fprintf(f, "---------------------------\n\n");
|
||||||
fprintf(f, "GLEW version %s\n", glewGetString(GLEW_VERSION));
|
fprintf(f, "GLEW version %s\n", glewGetString(GLEW_VERSION));
|
||||||
#if defined(_WIN32)
|
#if defined(GLEW_OSMESA)
|
||||||
|
#elif defined(_WIN32)
|
||||||
fprintf(f, "Reporting capabilities of pixelformat %d\n", params.pixelformat);
|
fprintf(f, "Reporting capabilities of pixelformat %d\n", params.pixelformat);
|
||||||
#elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
|
#elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
|
||||||
fprintf(f, "Reporting capabilities of display %s, visual 0x%x\n",
|
fprintf(f, "Reporting capabilities of display %s, visual 0x%x\n",
|
||||||
@ -86,7 +90,8 @@ int main (int argc, char** argv)
|
|||||||
glGetString(GL_RENDERER), glGetString(GL_VENDOR));
|
glGetString(GL_RENDERER), glGetString(GL_VENDOR));
|
||||||
fprintf(f, "OpenGL version %s is supported\n", glGetString(GL_VERSION));
|
fprintf(f, "OpenGL version %s is supported\n", glGetString(GL_VERSION));
|
||||||
glewInfo();
|
glewInfo();
|
||||||
#if defined(_WIN32)
|
#if defined(GLEW_OSMESA)
|
||||||
|
#elif defined(_WIN32)
|
||||||
wglewInfo();
|
wglewInfo();
|
||||||
#else
|
#else
|
||||||
glxewInfo();
|
glxewInfo();
|
||||||
@ -124,7 +129,8 @@ GLboolean glewParseArgs (int argc, char** argv, struct createParams *params)
|
|||||||
else return GL_TRUE;
|
else return GL_TRUE;
|
||||||
++p;
|
++p;
|
||||||
}
|
}
|
||||||
#if defined(_WIN32)
|
#if defined(GLEW_OSMESA)
|
||||||
|
#elif defined(_WIN32)
|
||||||
else if (!strcmp(argv[p], "-pf") || !strcmp(argv[p], "-pixelformat"))
|
else if (!strcmp(argv[p], "-pf") || !strcmp(argv[p], "-pixelformat"))
|
||||||
{
|
{
|
||||||
if (++p >= argc) return GL_TRUE;
|
if (++p >= argc) return GL_TRUE;
|
||||||
@ -150,7 +156,22 @@ GLboolean glewParseArgs (int argc, char** argv, struct createParams *params)
|
|||||||
|
|
||||||
/* ------------------------------------------------------------------------ */
|
/* ------------------------------------------------------------------------ */
|
||||||
|
|
||||||
#if defined(_WIN32)
|
#if defined(GLEW_OSMESA)
|
||||||
|
OSMesaContext ctx;
|
||||||
|
|
||||||
|
GLboolean glewCreateContext (struct createParams *params)
|
||||||
|
{
|
||||||
|
ctx = OSMesaCreateContext(OSMESA_RGBA, NULL);
|
||||||
|
if (NULL == ctx) return GL_TRUE;
|
||||||
|
return GL_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void glewDestroyContext ()
|
||||||
|
{
|
||||||
|
if (NULL != ctx) OSMesaDestroyContext(ctx);
|
||||||
|
}
|
||||||
|
|
||||||
|
#elif defined(_WIN32)
|
||||||
|
|
||||||
HWND wnd = NULL;
|
HWND wnd = NULL;
|
||||||
HDC dc = NULL;
|
HDC dc = NULL;
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
/* ------------------------------------------------------------------------ */
|
/* ------------------------------------------------------------------------ */
|
||||||
|
|
||||||
#ifdef _WIN32
|
#if defined(_WIN32) && !defined(GLEW_OSMESA)
|
||||||
|
|
||||||
static void wglewInfo ()
|
static void wglewInfo ()
|
||||||
{
|
{
|
||||||
|
@ -13,6 +13,8 @@ endif()
|
|||||||
set(CMAKE_DEBUG_POSTFIX d)
|
set(CMAKE_DEBUG_POSTFIX d)
|
||||||
|
|
||||||
option (BUILD_UTILS "utilities" ON)
|
option (BUILD_UTILS "utilities" ON)
|
||||||
|
option (GLEW_REGAL "Regal mode" FALSE)
|
||||||
|
option (GLEW_OSMESA "OSMesa mode" FALSE)
|
||||||
|
|
||||||
set (GLEW_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
set (GLEW_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||||
|
|
||||||
@ -41,18 +43,50 @@ set (GLEW_LIBRARIES ${OPENGL_LIBRARIES})
|
|||||||
|
|
||||||
add_definitions (-DGLEW_NO_GLU)
|
add_definitions (-DGLEW_NO_GLU)
|
||||||
|
|
||||||
|
#### Regal mode ####
|
||||||
|
|
||||||
|
if (GLEW_REGAL)
|
||||||
|
if (WIN32)
|
||||||
|
set (REGAL_LIB_NAME regal32)
|
||||||
|
else ()
|
||||||
|
set (REGAL_LIB_NAME Regal)
|
||||||
|
endif ()
|
||||||
|
add_definitions (-DGLEW_REGAL)
|
||||||
|
set (GLEW_LIBRARIES ${REGAL_LIB_NAME})
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
#### OSMesa mode ####
|
||||||
|
|
||||||
|
if (GLEW_OSMESA)
|
||||||
|
if (WIN32)
|
||||||
|
set (OSMESA_LIB_NAME osmesa)
|
||||||
|
else ()
|
||||||
|
set (OSMESA_LIB_NAME OSMesa)
|
||||||
|
endif ()
|
||||||
|
add_definitions (-DGLEW_OSMESA)
|
||||||
|
set (GLEW_LIBRARIES ${OSMESA_LIB_NAME} ${OPENGL_LIBRARIES})
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
#### GLEW ####
|
||||||
|
|
||||||
include_directories (${GLEW_DIR}/include)
|
include_directories (${GLEW_DIR}/include)
|
||||||
|
|
||||||
add_library (glew SHARED ${GLEW_DIR}/src/glew.c)
|
set (GLEW_SRC_FILES ${GLEW_DIR}/src/glew.c)
|
||||||
|
|
||||||
|
if (WIN32)
|
||||||
|
list (APPEND GLEW_SRC_FILES ${GLEW_DIR}/build/glew.rc)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
add_library (glew SHARED ${GLEW_SRC_FILES})
|
||||||
set_target_properties (glew PROPERTIES COMPILE_DEFINITIONS "GLEW_BUILD" OUTPUT_NAME "${GLEW_LIB_NAME}" PREFIX "${DLL_PREFIX}")
|
set_target_properties (glew PROPERTIES COMPILE_DEFINITIONS "GLEW_BUILD" OUTPUT_NAME "${GLEW_LIB_NAME}" PREFIX "${DLL_PREFIX}")
|
||||||
add_library (glew_s STATIC ${GLEW_DIR}/src/glew.c)
|
add_library (glew_s STATIC ${GLEW_SRC_FILES})
|
||||||
set_target_properties (glew_s PROPERTIES COMPILE_DEFINITIONS "GLEW_STATIC" OUTPUT_NAME "${GLEW_LIB_NAME}" PREFIX lib)
|
set_target_properties (glew_s PROPERTIES COMPILE_DEFINITIONS "GLEW_STATIC" OUTPUT_NAME "${GLEW_LIB_NAME}" PREFIX lib)
|
||||||
target_link_libraries (glew ${GLEW_LIBRARIES})
|
target_link_libraries (glew ${GLEW_LIBRARIES})
|
||||||
target_link_libraries (glew_s ${GLEW_LIBRARIES})
|
target_link_libraries (glew_s ${GLEW_LIBRARIES})
|
||||||
|
|
||||||
add_library(glewmx SHARED ${GLEW_DIR}/src/glew.c )
|
add_library(glewmx SHARED ${GLEW_SRC_FILES})
|
||||||
set_target_properties (glewmx PROPERTIES COMPILE_DEFINITIONS "GLEW_BUILD;GLEW_MX" OUTPUT_NAME "${GLEW_LIB_NAME}mx" PREFIX "${DLL_PREFIX}")
|
set_target_properties (glewmx PROPERTIES COMPILE_DEFINITIONS "GLEW_BUILD;GLEW_MX" OUTPUT_NAME "${GLEW_LIB_NAME}mx" PREFIX "${DLL_PREFIX}")
|
||||||
add_library(glewmx_s STATIC ${GLEW_DIR}/src/glew.c )
|
add_library(glewmx_s STATIC ${GLEW_SRC_FILES})
|
||||||
set_target_properties (glewmx_s PROPERTIES COMPILE_DEFINITIONS "GLEW_STATIC;GLEW_MX" OUTPUT_NAME "${GLEW_LIB_NAME}mx" PREFIX lib)
|
set_target_properties (glewmx_s PROPERTIES COMPILE_DEFINITIONS "GLEW_STATIC;GLEW_MX" OUTPUT_NAME "${GLEW_LIB_NAME}mx" PREFIX lib)
|
||||||
target_link_libraries (glewmx ${GLEW_LIBRARIES})
|
target_link_libraries (glewmx ${GLEW_LIBRARIES})
|
||||||
target_link_libraries (glewmx_s ${GLEW_LIBRARIES})
|
target_link_libraries (glewmx_s ${GLEW_LIBRARIES})
|
||||||
@ -86,10 +120,18 @@ install ( TARGETS ${targets_to_install}
|
|||||||
)
|
)
|
||||||
|
|
||||||
if (BUILD_UTILS)
|
if (BUILD_UTILS)
|
||||||
add_executable (glewinfo ${GLEW_DIR}/src/glewinfo.c)
|
set (GLEWINFO_SRC_FILES ${GLEW_DIR}/src/glewinfo.c)
|
||||||
|
if (WIN32)
|
||||||
|
list (APPEND GLEWINFO_SRC_FILES ${GLEW_DIR}/build/glewinfo.rc)
|
||||||
|
endif ()
|
||||||
|
add_executable (glewinfo ${GLEWINFO_SRC_FILES})
|
||||||
target_link_libraries (glewinfo glew)
|
target_link_libraries (glewinfo glew)
|
||||||
|
|
||||||
add_executable (visualinfo ${GLEW_DIR}/src/visualinfo.c)
|
set (VISUALINFO_SRC_FILES ${GLEW_DIR}/src/visualinfo.c)
|
||||||
|
if (WIN32)
|
||||||
|
list (APPEND VISUALINFO_SRC_FILES ${GLEW_DIR}/build/visualinfo.rc)
|
||||||
|
endif ()
|
||||||
|
add_executable (visualinfo ${VISUALINFO_SRC_FILES})
|
||||||
target_link_libraries (visualinfo glew)
|
target_link_libraries (visualinfo glew)
|
||||||
|
|
||||||
install ( TARGETS glewinfo visualinfo
|
install ( TARGETS glewinfo visualinfo
|
||||||
|
4
config/Makefile.linux-osmesa
Normal file
4
config/Makefile.linux-osmesa
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
include config/Makefile.linux
|
||||||
|
|
||||||
|
LDFLAGS.GL = -lOSMesa
|
||||||
|
CFLAGS.EXTRA += -DGLEW_OSMESA
|
@ -34,7 +34,10 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <GL/glew.h>
|
#include <GL/glew.h>
|
||||||
#if defined(_WIN32)
|
#if defined(GLEW_OSMESA)
|
||||||
|
#define GLAPI extern
|
||||||
|
#include <GL/osmesa.h>
|
||||||
|
#elif defined(_WIN32)
|
||||||
#include <GL/wglew.h>
|
#include <GL/wglew.h>
|
||||||
#elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX)
|
#elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX)
|
||||||
#include <OpenGL/OpenGL.h>
|
#include <OpenGL/OpenGL.h>
|
||||||
@ -57,7 +60,9 @@ GLXEWContext _glxewctx;
|
|||||||
|
|
||||||
typedef struct GLContextStruct
|
typedef struct GLContextStruct
|
||||||
{
|
{
|
||||||
#ifdef _WIN32
|
#if defined(GLEW_OSMESA)
|
||||||
|
OSMesaContext ctx;
|
||||||
|
#elif defined(_WIN32)
|
||||||
HWND wnd;
|
HWND wnd;
|
||||||
HDC dc;
|
HDC dc;
|
||||||
HGLRC rc;
|
HGLRC rc;
|
||||||
@ -180,7 +185,8 @@ main (int argc, char** argv)
|
|||||||
|
|
||||||
/* ---------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------- */
|
||||||
/* extensions string */
|
/* extensions string */
|
||||||
#if defined(_WIN32)
|
#if defined(GLEW_OSMESA)
|
||||||
|
#elif defined(_WIN32)
|
||||||
/* WGL extensions */
|
/* WGL extensions */
|
||||||
if (WGLEW_ARB_extensions_string || WGLEW_EXT_extensions_string)
|
if (WGLEW_ARB_extensions_string || WGLEW_EXT_extensions_string)
|
||||||
{
|
{
|
||||||
@ -258,7 +264,14 @@ void PrintExtensions (const char* s)
|
|||||||
|
|
||||||
/* ---------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
#if defined(_WIN32)
|
#if defined(GLEW_OSMESA)
|
||||||
|
|
||||||
|
void
|
||||||
|
VisualInfo (GLContext* ctx)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#elif defined(_WIN32)
|
||||||
|
|
||||||
void
|
void
|
||||||
VisualInfoARB (GLContext* ctx)
|
VisualInfoARB (GLContext* ctx)
|
||||||
@ -1003,7 +1016,26 @@ VisualInfo (GLContext* ctx)
|
|||||||
|
|
||||||
/* ------------------------------------------------------------------------ */
|
/* ------------------------------------------------------------------------ */
|
||||||
|
|
||||||
#if defined(_WIN32)
|
#if defined(GLEW_OSMESA)
|
||||||
|
void InitContext (GLContext* ctx)
|
||||||
|
{
|
||||||
|
ctx->ctx = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
GLboolean CreateContext (GLContext* ctx)
|
||||||
|
{
|
||||||
|
if (NULL == ctx) return GL_TRUE;
|
||||||
|
ctx->ctx = OSMesaCreateContext(OSMESA_RGBA, NULL);
|
||||||
|
if (NULL == ctx->ctx) return GL_TRUE;
|
||||||
|
return GL_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DestroyContext (GLContext* ctx)
|
||||||
|
{
|
||||||
|
if (NULL == ctx) return;
|
||||||
|
if (NULL != ctx->ctx) OSMesaDestroyContext(ctx->ctx);
|
||||||
|
}
|
||||||
|
#elif defined(_WIN32)
|
||||||
|
|
||||||
void InitContext (GLContext* ctx)
|
void InitContext (GLContext* ctx)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user