| exe = "test_tinyexr.exe" | |
| # "gnu" or "msvc" are provided as predefined toolchain | |
| toolchain = "msvc" | |
| # optional | |
| link_pool_depth = 1 | |
| # optional | |
| builddir = { | |
| "gnu" : "build" | |
| , "msvc" : "build" | |
| , "clang" : "build" | |
| } | |
| # required | |
| includes = { | |
| "gnu" : [ "-I." ] | |
| , "msvc" : [ "/I." ] | |
| , "clang" : [ "-I." ] | |
| } | |
| # required | |
| defines = { | |
| "gnu" : [ "-DEXAMPLE=1" ] | |
| , "msvc" : [ "/DEXAMPLE=1" ] | |
| , "clang" : [ "-DEXAMPLE=1" ] | |
| } | |
| # required | |
| cflags = { | |
| "gnu" : [ "-O2", "-g" ] | |
| , "msvc" : [ "/O2" ] | |
| , "clang" : [ "-O2", "-g" ] | |
| } | |
| # required | |
| cxxflags = { | |
| "gnu" : [ "-O2", "-g" ] | |
| , "msvc" : [ "/O2", "/W4" ] | |
| , "clang" : [ "-O2", "-g", "-fsanitize=address" ] | |
| } | |
| # required | |
| ldflags = { | |
| "gnu" : [ ] | |
| , "msvc" : [ ] | |
| , "clang" : [ "-fsanitize=address" ] | |
| } | |
| # optionsl | |
| cxx_files = [ "test_tinyexr.cc" ] | |
| c_files = [ ] | |
| # You can register your own toolchain through register_toolchain function | |
| def register_toolchain(ninja): | |
| pass | |
| #ninja.rule('clangcxx', description='CXX $out', | |
| # command='$clangcxx -MMD -MF $out.d $clangdefines $clangincludes $clangcxxflags -c $in -o $out', | |
| # depfile='$out.d', deps='gcc') | |
| #ninja.rule('clangcc', description='CC $out', | |
| # command='$clangcc -MMD -MF $out.d $clangdefines $clangincludes $clangcflags -c $in -o $out', | |
| # depfile='$out.d', deps='gcc') | |
| #ninja.rule('clanglink', description='LINK $out', pool='link_pool', | |
| # command='$clangld $clangldflags -o $out $in $libs') | |
| #ninja.rule('clangar', description='AR $out', pool='link_pool', | |
| # command='$clangar rsc $out $in') | |
| #ninja.rule('clangstamp', description='STAMP $out', command='touch $out') | |
| #ninja.newline() | |
| #ninja.variable('clangcxx', 'clang++') | |
| #ninja.variable('clangcc', 'clang') | |
| #ninja.variable('clangld', 'clang++') | |
| #ninja.variable('clangar', 'ar') | |
| #ninja.newline() | |