blob: e0f094ae4195adfb79ef222e649e82b642cf9b0d (
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
using gcc ;
using pkg-config ;
import pkg-config ;
import type : register ;
import type : type ;
import generators : register-standard ;
import testing ;
import lex ;
import sequence ;
pkg-config.import sdl2 ;
pkg-config.import glew ;
pkg-config.import freetype2 ;
pkg-config.import glib-2.0 ;
lib pthread ;
variant coverage : debug ;
project : requirements
<cxxstd>20
<variant>release:<lto>on
<variant>profile:<lto>on
<variant>coverage:<coverage>on
<toolset>tidy:<enable>all
<toolset>tidy:<exclude>bin/link-static/gfx/models/obj.cpp
<toolset>tidy:<exclude>bin/link-static/lib/jsonParse.cpp
<toolset>tidy:<checkxx>boost-*
<toolset>tidy:<checkxx>bugprone-*
<toolset>tidy:<xcheckxx>bugprone-easily-swappable-parameters
<toolset>tidy:<checkxx>clang-*
<toolset>tidy:<xcheckxx>clang-analyzer-cplusplus.NewDeleteLeaks
<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:<xcheckxx>hicpp-no-array-decay
<toolset>tidy:<checkxx>performance-*
<toolset>tidy:<comments>no
<toolset>tidy:<mapping>iwyu.json
<toolset>tidy:<librarydef>gnu
<toolset>tidy:<librarydef>posix
<toolset>tidy:<librarydef>opengl
<toolset>tidy:<librarydef>sdl
<toolset>tidy:<librarydef>std
<toolset>tidy:<define>TIDY
;
type.register GL_VERTEX_SHADER : vs ;
type.register GL_FRAGMENT_SHADER : fs ;
generators.register-standard embed.glsl : GL_VERTEX_SHADER : CPP(vs-%) H(vs-%) ;
generators.register-standard embed.glsl : GL_FRAGMENT_SHADER : CPP(fs-%) H(fs-%) ;
actions embed.glsl
{
m4 -DNAME=$(2:B) -DTYPE=$(2:S) > $(1[2]) lib/embed-glsl.h.m4
m4 -DSOURCE=$(2) -DNAME=$(2:B) -DTYPE=$(2:S) -DGLTYPE=$(OPTIONS) > $(1[1]) lib/embed-glsl.cpp.m4
}
rule embed.glsl ( targets * : sources * : properties * )
{
DEPENDS $(targets) : lib/embed-glsl.h.m4 lib/embed-glsl.cpp.m4 ;
OPTIONS on $(targets) = [ type.type $(sources) ] ;
}
IMPORT $(__name__) : embed.glsl : : embed.glsl ;
exe iliketrains :
application/main.cpp
:
<library>ilt
;
explicit main ;
run iliketrains : -- : [ sequence.insertion-sort [ glob-tree-ex res : *.* ] ] : : main ;
lib ilt :
[ glob-tree *.cpp *.vs *.fs : application bin test ]
[ lib generated : [ glob-tree *.ll *.c ] :
<include>.
<include>lib
<link>static
<use>glib-2.0
<cflags>-fPIC
<warnings>off
<warnings-as-errors>off
]
:
<variant>debug:<warnings>pedantic
<variant>debug:<warnings-as-errors>on
<variant>debug:<cflags>-Wnon-virtual-dtor
<variant>debug:<cflags>-Wold-style-cast
<variant>debug:<cflags>-Wcast-align
<variant>debug:<cflags>-Wunused
<variant>debug:<cflags>-Woverloaded-virtual
<variant>debug:<cflags>-Wpedantic
<variant>debug:<cflags>-Wconversion
<variant>debug:<cflags>-Wsign-conversion
<variant>debug:<cflags>-Wnull-dereference
<variant>debug:<cflags>-Wdouble-promotion
<variant>debug:<cflags>-Wformat=2
<toolset>gcc,<variant>debug:<cflags>-Wduplicated-cond
<toolset>gcc,<variant>debug:<cflags>-Wduplicated-branches
<toolset>gcc,<variant>debug:<cflags>-Wlogical-op
<toolset>gcc,<variant>debug:<cflags>-Wuseless-cast
<include>.
<include>lib
<library>sdl2
<library>glew
<library>freetype2
<library>glib-2.0
<library>pthread
: :
<include>.
<include>lib
;
build-project test ;
|