summaryrefslogtreecommitdiff
path: root/Jamroot.jam
blob: 38a759de9d5cea7dfdd668b148be15d32a1a83a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
using gcc ;
using pkg-config ;
import pkg-config ;
import type : register ;
import generators : register-standard ;

pkg-config.import sdl2 ;
pkg-config.import glew ;
lib stb : : : : <include>/usr/include/stb ;

project : requirements
	<cxxstd>20
	<variant>debug:<warnings>extra
	<variant>debug:<warnings-as-errors>on
	<variant>release:<lto>on
	<toolset>tidy:<exclude>bin/gfx/gl/shaders/fs-basicShader.h
	<toolset>tidy:<exclude>bin/gfx/gl/shaders/vs-basicShader.h
	<toolset>tidy:<checkxx>boost-*
	<toolset>tidy:<checkxx>bugprone-*
	<toolset>tidy:<checkxx>clang-*
	<toolset>tidy:<checkxx>misc-*
	<toolset>tidy:<xcheckxx>misc-non-private-member-variables-in-classes
	<toolset>tidy:<checkxx>modernize-*
	<toolset>tidy:<xcheckxx>modernize-use-trailing-return-type
	<toolset>tidy:<checkxx>hicpp-*
	<toolset>tidy:<xcheckxx>hicpp-signed-bitwise
	<toolset>tidy:<xcheckxx>hicpp-named-parameter
	<toolset>tidy:<checkxx>performance-*
	<toolset>tidy:<comments>no
	<toolset>tidy:<mapping>iwyu.json
	<toolset>tidy:<define>TIDY
	;

type.register VERTEXSHADER : vs ;
type.register FRAGMENTSHADER : fs ;

generators.register-standard xxd.i : VERTEXSHADER : C(vs-%) H(vs-%) ;
generators.register-standard xxd.i : FRAGMENTSHADER : C(fs-%) H(fs-%) ;

actions xxd.i
{
	( cd $(2:D) ; xxd -i $(2:B)$(2:S) ) | tee $(1[1]) | cproto -veo $(1[2])
}
IMPORT $(__name__) : xxd.i : : xxd.i ;

exe test :
	[ glob-tree *.cpp *.c *.vs *.fs : bin ]
	:
	<include>.
	<include>utility
	<library>sdl2
	<library>glew
	<use>stb
	;