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()