nimcity.nimble 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. # Package
  2. version = "0.1.0"
  3. author = "SVI"
  4. description = "nimсity"
  5. license = "MIT"
  6. # Deps
  7. requires "nim >= 2.2.10"
  8. requires "nico >= 0.2.5"
  9. srcDir = "src"
  10. import strformat
  11. const releaseOpts = "-d:danger"
  12. const debugOpts = "-d:debug"
  13. task runr, "Runs nimсity for current platform":
  14. exec &"nim c -r {releaseOpts} -o:nimсity src/main.nim"
  15. task rund, "Runs debug nimсity for current platform":
  16. exec &"nim c -r {debugOpts} -o:nimсity src/main.nim"
  17. task release, "Builds nimсity for current platform":
  18. exec &"nim c {releaseOpts} -o:nimсity src/main.nim"
  19. task webd, "Builds debug nimсity for web":
  20. exec &"nim c {debugOpts} -d:emscripten -o:nimсity.html src/main.nim"
  21. task webr, "Builds release nimсity for web":
  22. exec &"nim c {releaseOpts} -d:emscripten -o:nimсity.html src/main.nim"
  23. task debug, "Builds debug nimсity for current platform":
  24. exec &"nim c {debugOpts} -o:nimсity_debug src/main.nim"
  25. task deps, "Downloads dependencies":
  26. if defined(windows):
  27. if not fileExists("SDL2.dll"):
  28. if not fileExists("SDL2_x64.zip"):
  29. exec "curl https://www.libsdl.org/release/SDL2-2.0.20-win32-x64.zip -o SDL2_x64.zip"
  30. if findExe("tar") != "":
  31. exec "tar -xf SDL2_x64.zip SDL2.dll"
  32. else:
  33. exec "unzip SDL2_x64.zip SDL2.dll"
  34. if fileExists("SDL2_x64.zip"):
  35. rmFile("SDL2_x64.zip")
  36. elif defined(macosx) and findExe("brew") != "":
  37. exec "brew list sdl2 || brew install sdl2"
  38. else:
  39. echo "I don't know how to install SDL on your OS! 😿"
  40. task androidr, "Release build for android":
  41. if defined(windows):
  42. exec &"nicoandroid.cmd"
  43. else:
  44. exec &"nicoandroid"
  45. exec &"nim c -c --nimcache:android/app/jni/src/armeabi {releaseOpts} --cpu:arm --os:android -d:androidNDK --noMain --genScript src/main.nim"
  46. exec &"nim c -c --nimcache:android/app/jni/src/arm64 {releaseOpts} --cpu:arm64 --os:android -d:androidNDK --noMain --genScript src/main.nim"
  47. exec &"nim c -c --nimcache:android/app/jni/src/x86 {releaseOpts} --cpu:i386 --os:android -d:androidNDK --noMain --genScript src/main.nim"
  48. exec &"nim c -c --nimcache:android/app/jni/src/x86_64 {releaseOpts} --cpu:amd64 --os:android -d:androidNDK --noMain --genScript src/main.nim"
  49. withDir "android":
  50. if defined(windows):
  51. exec &"gradlew.bat assembleDebug"
  52. else:
  53. exec "./gradlew assembleDebug"