Mercurial > games > semicongine
comparison config.nims @ 1222:3c3d4d7a8ecd compiletime-tests
did: cleanup config file
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 17 Jul 2024 21:08:15 +0700 |
| parents | 2e0b527c2753 |
| children | 55896320c8bf |
comparison
equal
deleted
inserted
replaced
| 1221:000befd9479f | 1222:3c3d4d7a8ecd |
|---|---|
| 1 import std/strformat | 1 import std/strformat |
| 2 import std/strutils | 2 import std/strutils |
| 3 import std/os | 3 import std/os |
| 4 | 4 |
| 5 import semicongine/build | 5 import semicongine/build |
| 6 | |
| 7 # TODO: totally update this file!! | |
| 8 | |
| 9 switch("nimblePath", "nimbledeps/pkgs2") | |
| 10 switch("define", "nimPreviewHashRef") | |
| 11 | 6 |
| 12 task build_dev, "build dev": | 7 task build_dev, "build dev": |
| 13 semicongine_build_switches(buildname = "dev") | 8 semicongine_build_switches(buildname = "dev") |
| 14 setCommand "c" | 9 setCommand "c" |
| 15 let outdir = semicongine_builddir(buildname = "dev") | 10 let outdir = semicongine_builddir(buildname = "dev") |
| 53 | 48 |
| 54 exec("nim build_dev --run tests/test_resources.nim") | 49 exec("nim build_dev --run tests/test_resources.nim") |
| 55 exec("nim build_dev_zip --run tests/test_resources.nim") | 50 exec("nim build_dev_zip --run tests/test_resources.nim") |
| 56 exec("nim build_dev_dir --run tests/test_resources.nim") | 51 exec("nim build_dev_dir --run tests/test_resources.nim") |
| 57 | 52 |
| 58 task example_all, "Run all example programs": | |
| 59 for file in listFiles("examples"): | |
| 60 if file.endsWith(".nim"): | |
| 61 exec(&"nim build_dev --run {file}") | |
| 62 | |
| 63 task publish, "publish all build": | |
| 64 for file in listDirs("build/debug/linux"): | |
| 65 exec(&"scp -r {file} sam@mail.basx.dev:/var/www/public.basx.dev/semicongine/debug/linux/") | |
| 66 for file in listDirs("build/release/linux"): | |
| 67 exec(&"scp -r {file} sam@mail.basx.dev:/var/www/public.basx.dev/semicongine/release/linux/") | |
| 68 for file in listDirs("build/debug/windows"): | |
| 69 exec(&"scp -r {file} sam@mail.basx.dev:/var/www/public.basx.dev/semicongine/debug/windows/") | |
| 70 for file in listDirs("build/release/windows"): | |
| 71 exec(&"scp -r {file} sam@mail.basx.dev:/var/www/public.basx.dev/semicongine/release/windows/") | |
| 72 | |
| 73 task glslangValidator, "Download glslangValidator (required for linux compilation)": | |
| 74 let dirname = "/tmp/glslang_download" | |
| 75 exec &"mkdir -p {dirname}" | |
| 76 exec &"cd {dirname} && wget https://github.com/KhronosGroup/glslang/releases/download/master-tot/glslang-master-linux-Release.zip" | |
| 77 exec &"cd {dirname} && unzip *.zip" | |
| 78 exec &"mv {dirname}/bin/glslangValidator examples/" | |
| 79 exec &"rm -rf {dirname}" | |
| 80 | |
| 81 task glslangValidator_exe, "Download glslangValidator.exe (required for windows compilation)": | |
| 82 # TODO: make this work on windows | |
| 83 let dirname = "/tmp/glslang_download" | |
| 84 exec &"mkdir -p {dirname}" | |
| 85 exec &"cd {dirname} && wget https://github.com/KhronosGroup/glslang/releases/download/master-tot/glslang-master-windows-x64-Release.zip" | |
| 86 exec &"cd {dirname} && unzip *.zip" | |
| 87 exec &"mv {dirname}/bin/glslangValidator.exe examples/" | |
| 88 exec &"rm -rf {dirname}" | |
| 89 | |
| 90 task run_all, "Run all binaries": | 53 task run_all, "Run all binaries": |
| 91 for file in listFiles("build/debug/linux"): | 54 for file in listFiles("build/debug/linux"): |
| 92 exec file | 55 exec file |
| 93 for file in listFiles("build/release/linux"): | 56 for file in listFiles("build/release/linux"): |
| 94 exec file | 57 exec file |
| 95 for file in listFiles("build/debug/windows"): | 58 for file in listFiles("build/debug/windows"): |
| 96 exec &"wine {file}" | 59 exec &"wine {file}" |
| 97 for file in listFiles("build/release/windows"): | 60 for file in listFiles("build/release/windows"): |
| 98 exec &"wine {file}" | 61 exec &"wine {file}" |
| 99 | 62 |
| 100 task get_vulkan_wrapper, "Download vulkan wrapper": | |
| 101 exec &"curl https://raw.githubusercontent.com/nimgl/nimgl/master/src/nimgl/vulkan.nim > src/semicongine/vulkan/c_api.nim" | |
| 102 | |
| 103 task generate_vulkan_api, "Generate Vulkan API": | |
| 104 selfExec &"c -d:ssl --run src/vulkan_api/vulkan_api_generator.nim" | |
| 105 mkDir "src/semicongine/vulkan/" | |
| 106 mkDir "src/semicongine/core/" | |
| 107 cpFile "src/vulkan_api/output/api.nim", "src/semicongine/core/api.nim" | |
| 108 cpDir "src/vulkan_api/output/platform", "src/semicongine/vulkan/platform" | |
| 109 | |
| 110 if getCommand() in ["c", "compile", "r", "dump", "check", "idetools"]: | 63 if getCommand() in ["c", "compile", "r", "dump", "check", "idetools"]: |
| 111 if defined(linux): | 64 if defined(linux): |
| 112 --d: VK_USE_PLATFORM_XLIB_KHR | 65 --d: VK_USE_PLATFORM_XLIB_KHR |
| 113 if defined(windows): | 66 if defined(windows): |
| 114 --d: VK_USE_PLATFORM_WIN32_KHR | 67 --d: VK_USE_PLATFORM_WIN32_KHR |
