feat: add missing KF6 framework recipes
This commit is contained in:
@@ -0,0 +1,255 @@
|
||||
<!DOCTYPE html>
|
||||
<html><head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
<title>Jamroot</title>
|
||||
<meta name="generator" content="KF5::SyntaxHighlighting - Definition (Jam) - Theme (Breeze Light)"/>
|
||||
</head><body style="background-color:#ffffff;color:#1f1c1b"><pre>
|
||||
<span style="color:#644a9b">project</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">:</span> requirements <span style="color:#644a9b;font-weight:bold"><include></span>/home/ghost/Work/boost <span style="color:#644a9b;font-weight:bold"><threading></span>multi
|
||||
<span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#644a9b">project</span> a <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#ca60ca;font-weight:bold">:</span> debug <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="color:#644a9b">exe</span> hello <span style="color:#ca60ca;font-weight:bold">:</span> hello.cpp <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="color:#644a9b">exe</span> hello
|
||||
<span style="color:#ca60ca;font-weight:bold">:</span> hello.cpp
|
||||
<span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#644a9b;font-weight:bold"><include></span>boost <span style="color:#644a9b;font-weight:bold"><threading></span>multi
|
||||
<span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#644a9b">exe</span> app <span style="color:#ca60ca;font-weight:bold">:</span> app.cpp ../util/foo//bar <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#644a9b">exe</span> important <span style="color:#ca60ca;font-weight:bold">:</span> main.cpp helpers/<link>static <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="color:#644a9b">exe</span> b <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#ca60ca;font-weight:bold">[</span> <span style="color:#644a9b">glob</span> *.cpp <span style="color:#ca60ca;font-weight:bold">]</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="color:#644a9b">lib</span> tools <span style="color:#ca60ca;font-weight:bold">:</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">[</span> <span style="color:#644a9b">glob</span> *.cpp <span style="color:#ca60ca;font-weight:bold">]</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="color:#644a9b">lib</span> tools <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#ca60ca;font-weight:bold">[</span> <span style="color:#644a9b">glob</span> *.cpp <span style="color:#ca60ca;font-weight:bold">:</span> file_to_exclude.cpp bad*.cpp <span style="color:#ca60ca;font-weight:bold">]</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="color:#644a9b">lib</span> network <span style="color:#ca60ca;font-weight:bold">:</span> network.cpp
|
||||
<span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#644a9b;font-weight:bold"><conditional></span>@my-rule
|
||||
<span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="color:#644a9b">DEPENDS</span> foo.o <span style="color:#ca60ca;font-weight:bold">:</span> foo.c <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="color:#644a9b">using</span> msvc <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#bf0303">"Z:/Programs/Microsoft Visual Studio/vc98/bin/cl"</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#644a9b">using</span> msvc <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#ca60ca;font-weight:bold">:</span> echo Compiling && foo/bar/baz/cl <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#644a9b">using</span> gcc <span style="color:#ca60ca;font-weight:bold">:</span> 5 <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#644a9b;font-weight:bold"><cxxflags></span><span style="color:#bf0303">"-std=c++14 -O2"</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#644a9b">using</span> clang <span style="color:#ca60ca;font-weight:bold">:</span> 3.9 <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#644a9b;font-weight:bold"><cxxflags></span>-std=c++14 <span style="color:#644a9b;font-weight:bold"><cxxflags></span>-O2 <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#644a9b">exe</span> test3 <span style="color:#ca60ca;font-weight:bold">:</span> test3.cpp <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#ca60ca;font-weight:bold">-</span><span style="color:#644a9b;font-weight:bold"><threading></span>multi <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#0057ae">XYZ </span><span style="color:#ca60ca;font-weight:bold">+=</span> <span style="color:#644a9b;font-weight:bold"><cxxflags></span>-Wzero-as-null-pointer-constant<span style="color:#ca60ca;font-weight:bold">&&</span>-Wno-zero-as-null-pointer-constant <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#644a9b">exe</span> hello <span style="color:#ca60ca;font-weight:bold">:</span> hello.cpp <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#644a9b;font-weight:bold"><os></span>NT<span style="color:#ca60ca;font-weight:bold">,</span><span style="color:#644a9b;font-weight:bold"><toolset></span>gcc<span style="color:#ca60ca;font-weight:bold">:</span><span style="color:#644a9b;font-weight:bold"><link></span>static <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="color:#644a9b">install</span> dist <span style="color:#ca60ca;font-weight:bold">:</span> hello helpers <span style="color:#ca60ca;font-weight:bold">:</span>
|
||||
<span style="color:#644a9b;font-weight:bold"><variant></span>release<span style="color:#ca60ca;font-weight:bold">:</span><span style="color:#644a9b;font-weight:bold"><location></span>dist/release
|
||||
<span style="color:#644a9b;font-weight:bold"><variant></span>debug<span style="color:#ca60ca;font-weight:bold">:</span><span style="color:#644a9b;font-weight:bold"><location></span>dist/debug <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#644a9b">install</span> dist2 <span style="color:#ca60ca;font-weight:bold">:</span> hello helpers <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#644a9b;font-weight:bold"><location></span><span style="color:#ca60ca">$(</span><span style="color:#0057ae">DIST</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="color:#644a9b">exe</span> app <span style="color:#ca60ca;font-weight:bold">:</span> app.cpp <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#ca60ca;font-weight:bold">[</span> <span style="color:#644a9b">check-target-builds</span> has_foo <span style="color:#bf0303">"System has foo"</span> <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#644a9b;font-weight:bold"><library></span>foo <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#644a9b;font-weight:bold"><define></span>FOO_MISSING=1 <span style="color:#ca60ca;font-weight:bold">]</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="color:#644a9b">import</span> path <span style="color:#ca60ca;font-weight:bold">:</span> * <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="color:#644a9b">using</span> python
|
||||
<span style="color:#ca60ca;font-weight:bold">:</span> 2.7 <span style="color:#898887"># version</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#898887"># Interpreter/path to dir</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">:</span> /usr/include/python2.7 <span style="color:#898887"># includes</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">:</span> /usr/lib/x86_64-linux-gnu <span style="color:#898887"># libs</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#898887"># conditions</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="color:#644a9b">xx</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#644a9b">xx</span> ;; <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#644a9b">xx</span> ;a <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#644a9b">xx</span> a; <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#644a9b">xx</span> ;a; <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="color:#898887;font-weight:bold">## comment title</span>
|
||||
<span style="color:#898887"># </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold">BUG</span>
|
||||
<span style="color:#898887"># </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold">TODO</span>
|
||||
<span style="color:#898887"># aTODOa</span>
|
||||
|
||||
<span style="color:#898887">#| multi</span>
|
||||
<span style="color:#898887">line</span>
|
||||
<span style="color:#898887">comment</span>
|
||||
<span style="color:#ca9219;background-color:#451e1a;font-weight:bold">TODO</span>
|
||||
<span style="color:#898887">bla bla</span>
|
||||
<span style="color:#898887">|#</span>
|
||||
|
||||
<span style="font-weight:bold">if</span> cond <span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="color:#644a9b">statements</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
<span style="font-weight:bold">else</span> <span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="color:#644a9b">statements</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
|
||||
<span style="font-weight:bold">for</span> <span style="color:#0057ae">var</span> <span style="color:#ca60ca;font-weight:bold">in</span> list <span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="color:#644a9b">statements</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
|
||||
<span style="font-weight:bold">while</span> cond <span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="color:#644a9b">statements</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
|
||||
<span style="font-weight:bold">switch</span> value
|
||||
<span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">case</span> pattern1 <span style="color:#ca60ca;font-weight:bold">:</span> statements <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">case</span> pattern2 <span style="color:#ca60ca;font-weight:bold">:</span> statements <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#bf0303;text-decoration:underline">other</span> <span style="color:#bf0303;text-decoration:underline">;</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
|
||||
<span style="font-weight:bold">if</span> xxinxx <span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
|
||||
<span style="color:#644a9b">ifxxx</span> s <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="font-weight:bold">rule</span> <span style="color:#644a9b">a?</span> <span style="color:#0057ae">(</span> <span style="color:#0057ae">x</span> <span style="color:#0057ae">)</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="color:#644a9b">echo</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">x</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
<span style="color:#644a9b">a?</span> 23 <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="font-weight:bold">local</span> <span style="font-weight:bold">rule</span> <span style="color:#644a9b">test</span> <span style="color:#0057ae">(</span> <span style="color:#0057ae">a</span> <span style="color:#0057ae">)</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
|
||||
<span style="font-weight:bold">rule</span> <span style="color:#644a9b">example</span>
|
||||
<span style="color:#0057ae">(</span>
|
||||
<span style="color:#0057ae">parameter1</span> <span style="color:#ca60ca;font-weight:bold">:</span>
|
||||
<span style="color:#0057ae">parameter2</span> <span style="color:#0057ae">?</span> <span style="color:#ca60ca;font-weight:bold">:</span>
|
||||
<span style="color:#0057ae">parameter3</span> <span style="color:#0057ae">+</span> <span style="color:#ca60ca;font-weight:bold">:</span>
|
||||
<span style="color:#0057ae">parameter4</span> <span style="color:#0057ae">*</span>
|
||||
<span style="color:#0057ae">)</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="font-weight:bold">if</span> <span style="color:#644a9b;font-weight:bold"><variant></span>debug <span style="color:#ca60ca;font-weight:bold">in</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">properties</span><span style="color:#ca60ca">)</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="color:#0057ae">OPTIONS </span><span style="color:#ca60ca;font-weight:bold">on</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">targets</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">=</span> --debug <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
|
||||
<span style="font-weight:bold">rule</span> <span style="color:#644a9b">my-rule</span> <span style="color:#0057ae">(</span> <span style="color:#0057ae">properties</span> <span style="color:#0057ae">*</span> <span style="color:#0057ae">)</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="font-weight:bold">local</span> <span style="color:#0057ae">result</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="font-weight:bold">if</span> <span style="color:#644a9b;font-weight:bold"><toolset></span>gcc <span style="color:#644a9b;font-weight:bold"><optimization></span>speed <span style="color:#ca60ca;font-weight:bold">in</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">properties</span><span style="color:#ca60ca">)</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="color:#0057ae">result </span><span style="color:#ca60ca;font-weight:bold">+=</span> <span style="color:#644a9b;font-weight:bold"><define></span>USE_INLINE_ASSEMBLER <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="font-weight:bold">return</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">result</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
|
||||
<span style="font-weight:bold">local</span> <span style="color:#0057ae">m</span> <span style="color:#ca60ca;font-weight:bold">=</span> <span style="color:#ca60ca;font-weight:bold">[</span> <span style="color:#644a9b">CALLER_MODULE</span> <span style="color:#ca60ca;font-weight:bold">]</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="font-weight:bold">local</span> <span style="color:#0057ae">result</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="font-weight:bold">for</span> <span style="color:#0057ae">v</span> <span style="color:#ca60ca;font-weight:bold">in</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">values</span><span style="color:#ca60ca">)</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="font-weight:bold">if</span> <span style="color:#ca60ca;font-weight:bold">[</span> <span style="color:#644a9b">modules.call-in</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">m</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">f</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">v</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">]</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="color:#0057ae">result </span><span style="color:#ca60ca;font-weight:bold">+=</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">v</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
<span style="font-weight:bold">return</span> result <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="font-weight:bold">return</span> <span style="color:#644a9b;font-weight:bold"><name></span><span style="color:#ca60ca">$(</span><span style="color:#0057ae">name</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="font-weight:bold">return</span> <span style="color:#ca60ca;font-weight:bold">[</span> <span style="color:#644a9b">virtual-target.register</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">t</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">]</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="font-weight:bold">return</span> <span style="color:#ca60ca;font-weight:bold">[</span> <span style="color:#644a9b">sequence.transform</span> virtual-target.register <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">targets</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">]</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
|
||||
<span style="font-weight:bold">rule</span> <span style="color:#644a9b">run</span> <span style="color:#0057ae">(</span> <span style="color:#0057ae">project</span> <span style="color:#0057ae">name</span> <span style="color:#0057ae">?</span> <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#0057ae">property-set</span> <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#0057ae">sources</span> <span style="color:#0057ae">*</span> <span style="color:#0057ae">)</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="font-weight:bold">if</span> <span style="color:#ca60ca;font-weight:bold">[</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">s</span><span style="color:#ca60ca">)</span>.type <span style="color:#ca60ca;font-weight:bold">]</span> <span style="color:#ca60ca;font-weight:bold">=</span> PY
|
||||
<span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="color:#0057ae">python </span><span style="color:#ca60ca;font-weight:bold">=</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">s</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
|
||||
<span style="font-weight:bold">local</span> <span style="color:#0057ae">new-sources</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="font-weight:bold">for</span> <span style="font-weight:bold">local</span> <span style="color:#0057ae">s</span> <span style="color:#ca60ca;font-weight:bold">in</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">sources</span><span style="color:#ca60ca">)</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="font-weight:bold">if</span> <span style="color:#ca60ca;font-weight:bold">[</span> <span style="color:#644a9b">type.is-derived</span> <span style="color:#ca60ca;font-weight:bold">[</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">s</span><span style="color:#ca60ca">)</span>.type <span style="color:#ca60ca;font-weight:bold">]</span> CPP <span style="color:#ca60ca;font-weight:bold">]</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="font-weight:bold">local</span> <span style="color:#0057ae">name</span> <span style="color:#ca60ca;font-weight:bold">=</span> <span style="color:#ca60ca;font-weight:bold">[</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">s</span><span style="color:#ca60ca">)</span>.name <span style="color:#ca60ca;font-weight:bold">]</span> <span style="color:#ca60ca;font-weight:bold">;</span> <span style="color:#898887"># get the target's basename</span>
|
||||
<span style="font-weight:bold">if</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">name</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">=</span> <span style="color:#ca60ca;font-weight:bold">[</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">python</span><span style="color:#ca60ca">)</span>.name <span style="color:#ca60ca;font-weight:bold">]</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="color:#0057ae">name </span><span style="color:#ca60ca;font-weight:bold">=</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">name</span><span style="color:#ca60ca">)</span>_ext <span style="color:#ca60ca;font-weight:bold">;</span> <span style="color:#898887"># rename the target</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
<span style="color:#0057ae">new-sources </span><span style="color:#ca60ca;font-weight:bold">+=</span> <span style="color:#ca60ca;font-weight:bold">[</span> <span style="color:#644a9b">generators.construct</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">project</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">name</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">:</span>
|
||||
PYTHON_EXTENSION <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">property-set</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">s</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">libs</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">]</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
|
||||
<span style="color:#0057ae">result </span><span style="color:#ca60ca;font-weight:bold">=</span> <span style="color:#ca60ca;font-weight:bold">[</span> <span style="color:#644a9b">construct-result</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">python</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">new-sources</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">project</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">name</span><span style="color:#ca60ca">)</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">property-set</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">]</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
|
||||
|
||||
<span style="font-weight:bold">rule</span> <span style="color:#644a9b">link</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="color:#644a9b">DEPENDS</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae"><</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#ca60ca;font-weight:bold">[</span> <span style="font-weight:bold">on</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae"><</span><span style="color:#ca60ca">)</span> <span style="font-weight:bold">return</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">DEF_FILE</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">]</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
|
||||
|
||||
<span style="font-weight:bold">actions</span> link <span style="color:#0057ae">bind</span> <span style="color:#0057ae">DEF_FILE</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="color:#0057ae">$(</span><span style="color:#0095ff;font-weight:bold">.LD</span><span style="color:#0057ae">)</span> .... /DEF:<span style="color:#0057ae">$(</span><span style="color:#0095ff;font-weight:bold">DEF_FILE</span><span style="color:#0057ae">)</span> ....
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
|
||||
<span style="font-weight:bold">actions</span> create-file-from-another
|
||||
<span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="color:#0095ff;font-weight:bold">create-file-from-another</span> <span style="color:#0057ae">$(</span><span style="color:#0095ff;font-weight:bold">OPTIONS</span><span style="color:#0057ae">)</span> <span style="color:#0057ae">$(</span><span style="color:#ca60ca"><</span><span style="color:#0057ae">)</span> <span style="color:#0057ae">$(</span><span style="color:#ca60ca">></span><span style="color:#0057ae">)</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
|
||||
|
||||
<span style="color:#0057ae">mypackage </span><span style="color:#ca60ca;font-weight:bold">=</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">[</span> <span style="color:#644a9b">pkg-config.import</span> mypackage <span style="color:#ca60ca;font-weight:bold">:</span> usage-requirements <span style="color:#644a9b;font-weight:bold"><conditional></span>@define_ns
|
||||
<span style="color:#ca60ca;font-weight:bold">]</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="color:#0057ae">me </span><span style="color:#ca60ca;font-weight:bold">=</span> <span style="color:#ca60ca;font-weight:bold">[</span> <span style="color:#644a9b">modules.binding</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">__name__</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">]</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="font-weight:bold">local</span> <span style="color:#0057ae">ZLIB_INCLUDE</span> <span style="color:#ca60ca;font-weight:bold">=</span> <span style="color:#ca60ca;font-weight:bold">[</span> <span style="color:#644a9b">modules.peek</span> <span style="color:#ca60ca;font-weight:bold">:</span> ZLIB_INCLUDE <span style="color:#ca60ca;font-weight:bold">]</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="font-weight:bold">local</span> <span style="color:#0057ae">t</span> <span style="color:#ca60ca;font-weight:bold">=</span> <span style="color:#ca60ca;font-weight:bold">[</span> <span style="color:#644a9b">new</span> file-target <span style="color:#ca60ca">$(</span><span style="color:#0057ae">name</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">:</span> CPP <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">project</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">:</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">a</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">]</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="color:#ca60ca">$(</span><span style="color:#0057ae">var</span><span style="color:#ca60ca">)</span> <span style="color:#644a9b">field1</span> <span style="color:#ca60ca;font-weight:bold">:</span> field2 <span style="color:#ca60ca;font-weight:bold">:</span> ... <span style="color:#ca60ca;font-weight:bold">:</span> fieldN <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#ca60ca">$(</span><span style="color:#0057ae">var</span><span style="color:#ca60ca">)</span><span style="color:#644a9b">o</span> aaaa <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="font-weight:bold">on</span> <span style="font-weight:bold">target</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">var</span><span style="color:#ca60ca">)</span> field1 <span style="color:#ca60ca;font-weight:bold">:</span> field2 <span style="color:#ca60ca;font-weight:bold">:</span> ... <span style="color:#ca60ca;font-weight:bold">:</span> fieldN <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="color:#ca60ca;font-weight:bold">[</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">var</span><span style="color:#ca60ca">)</span> field1 <span style="color:#ca60ca;font-weight:bold">:</span> field2 <span style="color:#ca60ca;font-weight:bold">:</span> ... <span style="color:#ca60ca;font-weight:bold">:</span> fieldN <span style="color:#ca60ca;font-weight:bold">]</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">[</span> <span style="font-weight:bold">on</span> <span style="font-weight:bold">target</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">var</span><span style="color:#ca60ca">)</span> field1 <span style="color:#ca60ca;font-weight:bold">:</span> field2 <span style="color:#ca60ca;font-weight:bold">:</span> ... <span style="color:#ca60ca;font-weight:bold">:</span> fieldN <span style="color:#ca60ca;font-weight:bold">]</span>
|
||||
|
||||
<span style="font-weight:bold">local</span> <span style="color:#0057ae">key</span> <span style="color:#ca60ca;font-weight:bold">=</span> <span style="color:#bf0303">"HKEY_LOCAL_MACHINE</span><span style="color:#3daee9">\\</span><span style="color:#bf0303">SOFTWARE</span><span style="color:#3daee9">\\</span><span style="color:#bf0303">Microsoft</span><span style="color:#3daee9">\\</span><span style="color:#bf0303">Windows</span><span style="color:#3daee9">\\</span><span style="color:#bf0303">CurrentVersion</span><span style="color:#3daee9">\\</span><span style="color:#bf0303">App Paths"</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="font-weight:bold">local</span> <span style="color:#0057ae">values</span> <span style="color:#ca60ca;font-weight:bold">=</span> <span style="color:#ca60ca;font-weight:bold">[</span> <span style="color:#644a9b">W32_GETREGNAMES</span> <span style="color:#bf0303">"</span><span style="color:#ca60ca">$(</span><span style="color:#0057ae">key</span><span style="color:#ca60ca">)</span><span style="color:#3daee9">\\</span><span style="color:#ca60ca">$(</span><span style="color:#0057ae">subkey</span><span style="color:#ca60ca">)</span><span style="color:#bf0303">"</span> <span style="color:#ca60ca;font-weight:bold">:</span> values <span style="color:#ca60ca;font-weight:bold">]</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="color:#0057ae">variable </span><span style="color:#ca60ca;font-weight:bold">=</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">b</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">c</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#0057ae">variable </span><span style="color:#ca60ca;font-weight:bold">+=</span> elements <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#0057ae">variable </span><span style="color:#ca60ca;font-weight:bold">on</span> targets <span style="color:#ca60ca;font-weight:bold">=</span> elements <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#0057ae">variable </span><span style="color:#ca60ca;font-weight:bold">on</span> targets <span style="color:#ca60ca;font-weight:bold">+=</span> <span style="color:#bf0303">"elements"</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#0057ae">variable </span><span style="font-weight:bold">default</span> <span style="color:#ca60ca;font-weight:bold">=</span> elements <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#0057ae">variable </span><span style="color:#ca60ca;font-weight:bold">?=</span> elements <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="color:#0057ae">defs </span><span style="color:#ca60ca;font-weight:bold">+=</span> <span style="color:#644a9b;font-weight:bold"><define></span>NAME='\"<span style="color:#ca60ca">$(</span><span style="color:#0057ae">VALUE</span><span style="color:#ca60ca">)</span>\"' <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="color:#0057ae">x </span><span style="color:#ca60ca;font-weight:bold">=</span> <span style="color:#ca60ca">$($(</span><span style="color:#0057ae">Z</span><span style="color:#ca60ca">))</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#0057ae">x </span><span style="color:#ca60ca;font-weight:bold">=</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">Z</span><span style="color:#ca60ca">)</span>x <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#0057ae">x </span><span style="color:#ca60ca;font-weight:bold">=</span> x<span style="color:#ca60ca">$(</span><span style="color:#0057ae">Z</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#0057ae">x </span><span style="color:#ca60ca;font-weight:bold">=</span> x<span style="color:#ca60ca">$(</span><span style="color:#0057ae">Z</span><span style="color:#ca60ca">)</span>x <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="color:#0057ae">x </span><span style="color:#ca60ca;font-weight:bold">=</span> <span style="color:#bf0303">"C:</span><span style="color:#3daee9">\\</span><span style="color:#bf0303">Program Files</span><span style="color:#3daee9">\\</span><span style="color:#bf0303">Borland"</span> <span style="color:#ca60ca;font-weight:bold">;</span> <span style="color:#644a9b">ECHO</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">x</span><span style="color:#0057ae">:T</span><span style="color:#ca60ca">)</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
|
||||
<span style="font-weight:bold">module</span> my_module <span style="color:#898887"># my module</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="font-weight:bold">rule</span> <span style="color:#644a9b">salute</span> <span style="color:#0057ae">(</span> <span style="color:#0057ae">x</span> <span style="color:#0057ae">)</span> <span style="color:#ca60ca;font-weight:bold">{</span> <span style="color:#644a9b">ECHO</span> <span style="color:#ca60ca">$(</span><span style="color:#0057ae">x</span><span style="color:#ca60ca">)</span>, world <span style="color:#ca60ca;font-weight:bold">;</span> <span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
<span style="font-weight:bold">rule</span> <span style="color:#644a9b">greet</span> <span style="color:#0057ae">(</span> <span style="color:#0057ae">)</span> <span style="color:#ca60ca;font-weight:bold">{</span> <span style="color:#644a9b">salute</span> hello <span style="color:#ca60ca;font-weight:bold">;</span> <span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
<span style="color:#644a9b">greet</span> <span style="color:#ca60ca;font-weight:bold">;</span> <span style="color:#898887"># ok</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
|
||||
<span style="font-weight:bold">class</span> verbatim-scanner <span style="color:#ca60ca;font-weight:bold">:</span> common-scanner
|
||||
<span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="font-weight:bold">rule</span> <span style="color:#644a9b">pattern</span> <span style="color:#0057ae">(</span> <span style="color:#0057ae">)</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">{</span>
|
||||
<span style="font-weight:bold">return</span> <span style="color:#bf0303">"//###include[ ]*</span><span style="color:#3daee9">\"</span><span style="color:#bf0303">([^</span><span style="color:#3daee9">\"</span><span style="color:#bf0303">]*)</span><span style="color:#3daee9">\"</span><span style="color:#bf0303">"</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
<span style="color:#bf0303;text-decoration:underline">greet</span> <span style="color:#bf0303;text-decoration:underline">;</span> <span style="color:#898887"># error</span>
|
||||
<span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
|
||||
<span style="color:#898887"># test crazy (and valid) name</span>
|
||||
<span style="color:#644a9b">a<b></span> a<b> <span style="color:#ca60ca;font-weight:bold">[</span> <span style="color:#644a9b">a<b></span> a<b> a] <span style="color:#ca60ca;font-weight:bold">]</span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="font-weight:bold">rule</span> <span style="color:#644a9b">a<b>()</span> <span style="color:#0057ae">()</span> <span style="color:#ca60ca;font-weight:bold">{</span> <span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
<span style="font-weight:bold">actions</span> a<b> <span style="color:#ca60ca;font-weight:bold">{</span> <span style="color:#ca60ca;font-weight:bold">}</span>
|
||||
<span style="font-weight:bold">local</span> <span style="color:#0057ae">a<x></span> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
<span style="font-weight:bold">local</span> <span style="color:#0057ae">a<x></span> <span style="color:#ca60ca;font-weight:bold">=</span> a<b> <span style="color:#ca60ca;font-weight:bold">;</span>
|
||||
</pre></body></html>
|
||||
Reference in New Issue
Block a user