🛠️🐜 Antkeeper superbuild with dependencies included https://antkeeper.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
1.9 KiB

  1. exe = "test_tinyexr.exe"
  2. # "gnu" or "msvc" are provided as predefined toolchain
  3. toolchain = "msvc"
  4. # optional
  5. link_pool_depth = 1
  6. # optional
  7. builddir = {
  8. "gnu" : "build"
  9. , "msvc" : "build"
  10. , "clang" : "build"
  11. }
  12. # required
  13. includes = {
  14. "gnu" : [ "-I." ]
  15. , "msvc" : [ "/I." ]
  16. , "clang" : [ "-I." ]
  17. }
  18. # required
  19. defines = {
  20. "gnu" : [ "-DEXAMPLE=1" ]
  21. , "msvc" : [ "/DEXAMPLE=1" ]
  22. , "clang" : [ "-DEXAMPLE=1" ]
  23. }
  24. # required
  25. cflags = {
  26. "gnu" : [ "-O2", "-g" ]
  27. , "msvc" : [ "/O2" ]
  28. , "clang" : [ "-O2", "-g" ]
  29. }
  30. # required
  31. cxxflags = {
  32. "gnu" : [ "-O2", "-g" ]
  33. , "msvc" : [ "/O2", "/W4" ]
  34. , "clang" : [ "-O2", "-g", "-fsanitize=address" ]
  35. }
  36. # required
  37. ldflags = {
  38. "gnu" : [ ]
  39. , "msvc" : [ ]
  40. , "clang" : [ "-fsanitize=address" ]
  41. }
  42. # optionsl
  43. cxx_files = [ "test_tinyexr.cc" ]
  44. c_files = [ ]
  45. # You can register your own toolchain through register_toolchain function
  46. def register_toolchain(ninja):
  47. pass
  48. #ninja.rule('clangcxx', description='CXX $out',
  49. # command='$clangcxx -MMD -MF $out.d $clangdefines $clangincludes $clangcxxflags -c $in -o $out',
  50. # depfile='$out.d', deps='gcc')
  51. #ninja.rule('clangcc', description='CC $out',
  52. # command='$clangcc -MMD -MF $out.d $clangdefines $clangincludes $clangcflags -c $in -o $out',
  53. # depfile='$out.d', deps='gcc')
  54. #ninja.rule('clanglink', description='LINK $out', pool='link_pool',
  55. # command='$clangld $clangldflags -o $out $in $libs')
  56. #ninja.rule('clangar', description='AR $out', pool='link_pool',
  57. # command='$clangar rsc $out $in')
  58. #ninja.rule('clangstamp', description='STAMP $out', command='touch $out')
  59. #ninja.newline()
  60. #ninja.variable('clangcxx', 'clang++')
  61. #ninja.variable('clangcc', 'clang')
  62. #ninja.variable('clangld', 'clang++')
  63. #ninja.variable('clangar', 'ar')
  64. #ninja.newline()