summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2023-05-27 11:47:02 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2023-05-27 11:47:02 +0100
commitac0247a610a5a2ffbb8419a5de02c49fac9b4265 (patch)
tree265d09ecb29c354b542735c1778af60b5866634a
parentMark main rule as always, so we can always launch it (diff)
downloadilt-ac0247a610a5a2ffbb8419a5de02c49fac9b4265.tar.bz2
ilt-ac0247a610a5a2ffbb8419a5de02c49fac9b4265.tar.xz
ilt-ac0247a610a5a2ffbb8419a5de02c49fac9b4265.zip
Add glad submodule and build a glad library
Slightly messy regarding file paths to get files generated by the glad generator into a place where b2 will happily find them later... but it works.
-rw-r--r--.gitmodules3
-rw-r--r--Jamroot.jam6
-rw-r--r--thirdparty/Jamfile.jam7
l---------thirdparty/gl.xml1
m---------thirdparty/glad0
-rw-r--r--thirdparty/glad.jam20
6 files changed, 35 insertions, 2 deletions
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..0ce5431
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "thirdparty/glad"]
+ path = thirdparty/glad
+ url = https://github.com/Dav1dde/glad
diff --git a/Jamroot.jam b/Jamroot.jam
index 95b3135..0273fe2 100644
--- a/Jamroot.jam
+++ b/Jamroot.jam
@@ -58,8 +58,8 @@ always main ;
run iliketrains : -- : [ sequence.insertion-sort [ glob-tree-ex res : *.* ] ] : : main ;
lib ilt :
- [ glob-tree *.cpp *.?s *.t?s : application bin test ]
- [ lib generated : [ glob-tree *.ll *.c ] :
+ [ glob-tree *.cpp *.?s *.t?s : application bin test thirdparty ]
+ [ lib generated : [ glob-tree *.ll *.c : bin thirdparty ] :
<include>.
<include>lib
<link>static
@@ -89,6 +89,8 @@ lib ilt :
<toolset>gcc,<variant>debug:<cflags>-Wuseless-cast
<include>.
<include>lib
+ <library>thirdparty//glad
+ <implicit-dependency>thirdparty//glad
<library>sdl2
<library>glew
<library>freetype2
diff --git a/thirdparty/Jamfile.jam b/thirdparty/Jamfile.jam
new file mode 100644
index 0000000..bee3392
--- /dev/null
+++ b/thirdparty/Jamfile.jam
@@ -0,0 +1,7 @@
+import glad ;
+lib glad : gl.xml :
+ <link>static
+ <cflags>-fPIC
+ <warnings>off
+ <warnings-as-errors>off
+ ;
diff --git a/thirdparty/gl.xml b/thirdparty/gl.xml
new file mode 120000
index 0000000..bfea0d8
--- /dev/null
+++ b/thirdparty/gl.xml
@@ -0,0 +1 @@
+glad/glad/files/gl.xml \ No newline at end of file
diff --git a/thirdparty/glad b/thirdparty/glad
new file mode 160000
+Subproject 2348b07c1ab4504d60398713781d8a57880234f
diff --git a/thirdparty/glad.jam b/thirdparty/glad.jam
new file mode 100644
index 0000000..f89750c
--- /dev/null
+++ b/thirdparty/glad.jam
@@ -0,0 +1,20 @@
+import generators : register-standard ;
+import feature : feature ;
+import toolset : flags ;
+
+generators.register-standard glad.generate.c : XML : C(%) H(glad/%) XML ;
+feature glad.pythonpath : thirdparty/glad : path ;
+feature glad.profile : core compatibility ;
+feature glad.version : 4.6 ;
+flags glad.generate.c PYTHONPATH <glad.pythonpath> ;
+flags glad.generate.c PROFILE <glad.profile> ;
+flags glad.generate.c VERSION <glad.version> ;
+
+actions glad.generate.c
+{
+ rm -rf $(1:D)
+ PYTHONPATH=$(PYTHONPATH) python -m glad --api=$(2:B):$(PROFILE)=$(VERSION) --merge --out-path=$(1[3]:D) --reproducible --quiet c
+ mv $(1[3]:D)/src/$(1[1]:BS) $(1[1])
+ mkdir -p $(1[2]:D)
+ mv $(1[3]:D)/include/glad/$(1[2]:BS) $(1[2])
+}