premake4 build: allow to dynamically load X11 if X11 system headers/library is missing
premake4 build: allow to dynamically load OpenGL/GLEW/glx if system headers are missing
This commit is contained in:
@@ -1,9 +1,7 @@
|
||||
function findOpenGL()
|
||||
configuration{}
|
||||
if os.is("Linux") then
|
||||
if os.isdir("/usr/include") and os.isfile("/usr/include/GL/gl.h") then return true
|
||||
end
|
||||
return false
|
||||
return true
|
||||
end
|
||||
--assume OpenGL is available on Mac OSX, Windows etc
|
||||
return true
|
||||
@@ -16,7 +14,13 @@
|
||||
configuration {"MacOSX"}
|
||||
links { "OpenGL.framework"}
|
||||
configuration {"not Windows", "not MacOSX"}
|
||||
links {"GL","GLU"}
|
||||
if os.isdir("/usr/include") and os.isfile("/usr/include/GL/gl.h") then
|
||||
links {"GL","GLU"}
|
||||
else
|
||||
print("No GL/gl.h found, using dynamic loading of GL using glew")
|
||||
defines {"GLEW_INIT_OPENGL11_FUNCTIONS=1"}
|
||||
links {"dl"}
|
||||
end
|
||||
configuration{}
|
||||
end
|
||||
|
||||
@@ -53,20 +57,33 @@
|
||||
end
|
||||
if os.is("Linux") then
|
||||
configuration{"Linux"}
|
||||
if os.isdir("/usr/include") and os.isfile("/usr/include/GL/glew.h") then
|
||||
links {"GLEW"}
|
||||
else
|
||||
defines { "GLEW_STATIC"}
|
||||
--,"GLEW_NO_GLU"}
|
||||
--if os.isdir("/usr/include") and os.isfile("/usr/include/GL/glew.h") then
|
||||
-- links {"GLEW"}
|
||||
-- else
|
||||
--print("Using static glew and dynamic loading of glx functions")
|
||||
defines { "GLEW_STATIC","GLEW_DYNAMIC_LOAD_ALL_GLX_FUNCTIONS=1"}
|
||||
includedirs {
|
||||
projectRootDir .. "btgui/OpenGLWindow/GlewWindows"
|
||||
}
|
||||
files { projectRootDir .. "btgui/OpenGLWindow/GlewWindows/glew.c"}
|
||||
end
|
||||
-- end
|
||||
|
||||
end
|
||||
configuration{}
|
||||
end
|
||||
|
||||
|
||||
function initX11()
|
||||
if os.is("Linux") then
|
||||
if os.isdir("/usr/include") and os.isfile("/usr/include/X11/X.h") then
|
||||
links{"X11","pthread"}
|
||||
else
|
||||
print("No X11/X.h found, using dynamic loading of X11")
|
||||
includedirs {
|
||||
projectRootDir .. "btgui/OpenGLWindow/optionalX11"
|
||||
}
|
||||
defines {"DYNAMIC_LOAD_X11_FUNCTIONS"}
|
||||
links {"dl","pthread"}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user