Mercurial > games > semicongine
annotate config.nims @ 990:1705e005cdee
add: enforce adding default value for storage loads
| author | sam <sam@basx.dev> | 
|---|---|
| date | Sun, 07 Apr 2024 22:19:39 +0700 | 
| parents | 6406766a222d | 
| children | 5934c5615f13 | 
| rev | line source | 
|---|---|
| 
33
 
94c38e4b5782
did: refactoring, move more from make to nimscript
 
Sam <sam@basx.dev> 
parents: 
24 
diff
changeset
 | 
1 import std/strformat | 
| 
 
94c38e4b5782
did: refactoring, move more from make to nimscript
 
Sam <sam@basx.dev> 
parents: 
24 
diff
changeset
 | 
2 import std/strutils | 
| 
 
94c38e4b5782
did: refactoring, move more from make to nimscript
 
Sam <sam@basx.dev> 
parents: 
24 
diff
changeset
 | 
3 import std/os | 
| 18 | 4 | 
| 
950
 
fe48b091e83f
did: tons of small improvments, on the way to make GPU sync (more) correct I guess
 
sam <sam@basx.dev> 
parents: 
438 
diff
changeset
 | 
5 import semicongine/build | 
| 18 | 6 | 
| 
950
 
fe48b091e83f
did: tons of small improvments, on the way to make GPU sync (more) correct I guess
 
sam <sam@basx.dev> 
parents: 
438 
diff
changeset
 | 
7 # TODO: totally update this file!! | 
| 
213
 
b5d9410a8184
add: resource packaging and loading for different resource types, simplify build commands, update readme
 
Sam <sam@basx.dev> 
parents: 
207 
diff
changeset
 | 
8 | 
| 383 | 9 switch("nimblePath", "nimbledeps/pkgs2") | 
| 10 | |
| 
950
 
fe48b091e83f
did: tons of small improvments, on the way to make GPU sync (more) correct I guess
 
sam <sam@basx.dev> 
parents: 
438 
diff
changeset
 | 
11 task build_dev, "build dev": | 
| 
 
fe48b091e83f
did: tons of small improvments, on the way to make GPU sync (more) correct I guess
 
sam <sam@basx.dev> 
parents: 
438 
diff
changeset
 | 
12 semicongine_build_switches(buildname = "dev") | 
| 18 | 13 setCommand "c" | 
| 
950
 
fe48b091e83f
did: tons of small improvments, on the way to make GPU sync (more) correct I guess
 
sam <sam@basx.dev> 
parents: 
438 
diff
changeset
 | 
14 let outdir = semicongine_builddir(buildname = "dev") | 
| 979 | 15 semicongine_pack(outdir, bundleType = "exe", resourceRoot = "tests/resources", withSteam = false) | 
| 16 | |
| 17 task build_dev_zip, "build dev zip": | |
| 18 semicongine_build_switches(buildname = "dev") | |
| 19 setCommand "c" | |
| 20 let outdir = semicongine_builddir(buildname = "dev") | |
| 21 semicongine_pack(outdir, bundleType = "zip", resourceRoot = "tests/resources", withSteam = false) | |
| 22 | |
| 23 task build_dev_dir, "build dev dir": | |
| 24 semicongine_build_switches(buildname = "dev") | |
| 25 setCommand "c" | |
| 26 let outdir = semicongine_builddir(buildname = "dev") | |
| 27 semicongine_pack(outdir, bundleType = "dir", resourceRoot = "tests/resources", withSteam = false) | |
| 
950
 
fe48b091e83f
did: tons of small improvments, on the way to make GPU sync (more) correct I guess
 
sam <sam@basx.dev> 
parents: 
438 
diff
changeset
 | 
28 | 
| 
 
fe48b091e83f
did: tons of small improvments, on the way to make GPU sync (more) correct I guess
 
sam <sam@basx.dev> 
parents: 
438 
diff
changeset
 | 
29 task build_release, "build release": | 
| 
 
fe48b091e83f
did: tons of small improvments, on the way to make GPU sync (more) correct I guess
 
sam <sam@basx.dev> 
parents: 
438 
diff
changeset
 | 
30 switch "define", "release" | 
| 
 
fe48b091e83f
did: tons of small improvments, on the way to make GPU sync (more) correct I guess
 
sam <sam@basx.dev> 
parents: 
438 
diff
changeset
 | 
31 switch "app", "gui" | 
| 
 
fe48b091e83f
did: tons of small improvments, on the way to make GPU sync (more) correct I guess
 
sam <sam@basx.dev> 
parents: 
438 
diff
changeset
 | 
32 semicongine_build_switches(buildname = "release") | 
| 
 
fe48b091e83f
did: tons of small improvments, on the way to make GPU sync (more) correct I guess
 
sam <sam@basx.dev> 
parents: 
438 
diff
changeset
 | 
33 setCommand "c" | 
| 
 
fe48b091e83f
did: tons of small improvments, on the way to make GPU sync (more) correct I guess
 
sam <sam@basx.dev> 
parents: 
438 
diff
changeset
 | 
34 let outdir = semicongine_builddir(buildname = "release") | 
| 979 | 35 semicongine_pack(outdir, bundleType = "exe", resourceRoot = "tests/resources", withSteam = false) | 
| 
950
 
fe48b091e83f
did: tons of small improvments, on the way to make GPU sync (more) correct I guess
 
sam <sam@basx.dev> 
parents: 
438 
diff
changeset
 | 
36 | 
| 18 | 37 | 
| 
213
 
b5d9410a8184
add: resource packaging and loading for different resource types, simplify build commands, update readme
 
Sam <sam@basx.dev> 
parents: 
207 
diff
changeset
 | 
38 task build_all_debug, "build all examples for debug": | 
| 
33
 
94c38e4b5782
did: refactoring, move more from make to nimscript
 
Sam <sam@basx.dev> 
parents: 
24 
diff
changeset
 | 
39 for file in listFiles("examples"): | 
| 
 
94c38e4b5782
did: refactoring, move more from make to nimscript
 
Sam <sam@basx.dev> 
parents: 
24 
diff
changeset
 | 
40 if file.endsWith(".nim"): | 
| 
213
 
b5d9410a8184
add: resource packaging and loading for different resource types, simplify build commands, update readme
 
Sam <sam@basx.dev> 
parents: 
207 
diff
changeset
 | 
41 exec(&"nim build {file}") | 
| 
33
 
94c38e4b5782
did: refactoring, move more from make to nimscript
 
Sam <sam@basx.dev> 
parents: 
24 
diff
changeset
 | 
42 | 
| 
213
 
b5d9410a8184
add: resource packaging and loading for different resource types, simplify build commands, update readme
 
Sam <sam@basx.dev> 
parents: 
207 
diff
changeset
 | 
43 task build_all_release, "build all examples for release": | 
| 
33
 
94c38e4b5782
did: refactoring, move more from make to nimscript
 
Sam <sam@basx.dev> 
parents: 
24 
diff
changeset
 | 
44 for file in listFiles("examples"): | 
| 
 
94c38e4b5782
did: refactoring, move more from make to nimscript
 
Sam <sam@basx.dev> 
parents: 
24 
diff
changeset
 | 
45 if file.endsWith(".nim"): | 
| 
213
 
b5d9410a8184
add: resource packaging and loading for different resource types, simplify build commands, update readme
 
Sam <sam@basx.dev> 
parents: 
207 
diff
changeset
 | 
46 exec(&"nim build -d:release {file}") | 
| 
33
 
94c38e4b5782
did: refactoring, move more from make to nimscript
 
Sam <sam@basx.dev> 
parents: 
24 
diff
changeset
 | 
47 | 
| 
316
 
b145a05c2459
add: changing rendering system, not finished yet, also upgrading to Nim 2
 
Sam <sam@basx.dev> 
parents: 
273 
diff
changeset
 | 
48 task test_all, "Run all test programs": | 
| 
 
b145a05c2459
add: changing rendering system, not finished yet, also upgrading to Nim 2
 
Sam <sam@basx.dev> 
parents: 
273 
diff
changeset
 | 
49 for file in listFiles("tests"): | 
| 438 | 50 if file.endsWith(".nim") and not file.endsWith("test_resources.nim"): | 
| 979 | 51 exec(&"nim build_dev --run {file}") | 
| 
316
 
b145a05c2459
add: changing rendering system, not finished yet, also upgrading to Nim 2
 
Sam <sam@basx.dev> 
parents: 
273 
diff
changeset
 | 
52 | 
| 979 | 53 exec("nim build_dev --run tests/test_resources.nim") | 
| 54 exec("nim build_dev_zip --run tests/test_resources.nim") | |
| 55 exec("nim build_dev_dir --run tests/test_resources.nim") | |
| 438 | 56 | 
| 
33
 
94c38e4b5782
did: refactoring, move more from make to nimscript
 
Sam <sam@basx.dev> 
parents: 
24 
diff
changeset
 | 
57 task publish, "publish all build": | 
| 248 | 58 for file in listDirs("build/debug/linux"): | 
| 252 | 59 exec(&"scp -r {file} sam@mail.basx.dev:/var/www/public.basx.dev/semicongine/debug/linux/") | 
| 60 for file in listDirs("build/release/linux"): | |
| 61 exec(&"scp -r {file} sam@mail.basx.dev:/var/www/public.basx.dev/semicongine/release/linux/") | |
| 62 for file in listDirs("build/debug/windows"): | |
| 63 exec(&"scp -r {file} sam@mail.basx.dev:/var/www/public.basx.dev/semicongine/debug/windows/") | |
| 64 for file in listDirs("build/release/windows"): | |
| 65 exec(&"scp -r {file} sam@mail.basx.dev:/var/www/public.basx.dev/semicongine/release/windows/") | |
| 53 | 66 | 
| 36 | 67 task glslangValidator, "Download glslangValidator (required for linux compilation)": | 
| 
62
 
7153eadb07eb
fix: some formatting, bug when opening on windows.
 
Sam <sam@basx.dev> 
parents: 
55 
diff
changeset
 | 
68 let dirname = "/tmp/glslang_download" | 
| 36 | 69 exec &"mkdir -p {dirname}" | 
| 70 exec &"cd {dirname} && wget https://github.com/KhronosGroup/glslang/releases/download/master-tot/glslang-master-linux-Release.zip" | |
| 71 exec &"cd {dirname} && unzip *.zip" | |
| 72 exec &"mv {dirname}/bin/glslangValidator examples/" | |
| 73 exec &"rm -rf {dirname}" | |
| 74 | |
| 75 task glslangValidator_exe, "Download glslangValidator.exe (required for windows compilation)": | |
| 
213
 
b5d9410a8184
add: resource packaging and loading for different resource types, simplify build commands, update readme
 
Sam <sam@basx.dev> 
parents: 
207 
diff
changeset
 | 
76 # TODO: make this work on windows | 
| 
62
 
7153eadb07eb
fix: some formatting, bug when opening on windows.
 
Sam <sam@basx.dev> 
parents: 
55 
diff
changeset
 | 
77 let dirname = "/tmp/glslang_download" | 
| 36 | 78 exec &"mkdir -p {dirname}" | 
| 79 exec &"cd {dirname} && wget https://github.com/KhronosGroup/glslang/releases/download/master-tot/glslang-master-windows-x64-Release.zip" | |
| 80 exec &"cd {dirname} && unzip *.zip" | |
| 81 exec &"mv {dirname}/bin/glslangValidator.exe examples/" | |
| 82 exec &"rm -rf {dirname}" | |
| 
33
 
94c38e4b5782
did: refactoring, move more from make to nimscript
 
Sam <sam@basx.dev> 
parents: 
24 
diff
changeset
 | 
83 | 
| 
62
 
7153eadb07eb
fix: some formatting, bug when opening on windows.
 
Sam <sam@basx.dev> 
parents: 
55 
diff
changeset
 | 
84 task run_all, "Run all binaries": | 
| 39 | 85 for file in listFiles("build/debug/linux"): | 
| 86 exec file | |
| 87 for file in listFiles("build/release/linux"): | |
| 88 exec file | |
| 89 for file in listFiles("build/debug/windows"): | |
| 90 exec &"wine {file}" | |
| 91 for file in listFiles("build/release/windows"): | |
| 92 exec &"wine {file}" | |
| 
46
 
9e81f06a5c57
add: some changes to build on windows host
 
Sam <sam@basx.dev> 
parents: 
44 
diff
changeset
 | 
93 | 
| 
78
 
f67496a189cb
add: vulkan api generator, not finished yet
 
Sam <sam@basx.dev> 
parents: 
62 
diff
changeset
 | 
94 task get_vulkan_wrapper, "Download vulkan wrapper": | 
| 
 
f67496a189cb
add: vulkan api generator, not finished yet
 
Sam <sam@basx.dev> 
parents: 
62 
diff
changeset
 | 
95 exec &"curl https://raw.githubusercontent.com/nimgl/nimgl/master/src/nimgl/vulkan.nim > src/semicongine/vulkan/c_api.nim" | 
| 
 
f67496a189cb
add: vulkan api generator, not finished yet
 
Sam <sam@basx.dev> 
parents: 
62 
diff
changeset
 | 
96 | 
| 
 
f67496a189cb
add: vulkan api generator, not finished yet
 
Sam <sam@basx.dev> 
parents: 
62 
diff
changeset
 | 
97 task generate_vulkan_api, "Generate Vulkan API": | 
| 
194
 
93f661a20f74
did: a bit of cleanup with the config, also add some documentation
 
Sam <sam@basx.dev> 
parents: 
83 
diff
changeset
 | 
98 selfExec &"c -d:ssl --run src/vulkan_api/vulkan_api_generator.nim" | 
| 
82
 
9e7937b7bcc8
did: complete vulkan api generator pipeline for now
 
Sam <sam@basx.dev> 
parents: 
78 
diff
changeset
 | 
99 mkDir "src/semicongine/vulkan/" | 
| 
207
 
81fab407a479
add: some adjustment to the last refactoring :P
 
Sam <sam@basx.dev> 
parents: 
194 
diff
changeset
 | 
100 mkDir "src/semicongine/core/" | 
| 
 
81fab407a479
add: some adjustment to the last refactoring :P
 
Sam <sam@basx.dev> 
parents: 
194 
diff
changeset
 | 
101 cpFile "src/vulkan_api/output/api.nim", "src/semicongine/core/api.nim" | 
| 
82
 
9e7937b7bcc8
did: complete vulkan api generator pipeline for now
 
Sam <sam@basx.dev> 
parents: 
78 
diff
changeset
 | 
102 cpDir "src/vulkan_api/output/platform", "src/semicongine/vulkan/platform" | 
| 
78
 
f67496a189cb
add: vulkan api generator, not finished yet
 
Sam <sam@basx.dev> 
parents: 
62 
diff
changeset
 | 
103 | 
| 
46
 
9e81f06a5c57
add: some changes to build on windows host
 
Sam <sam@basx.dev> 
parents: 
44 
diff
changeset
 | 
104 if getCommand() in ["c", "compile", "r", "dump", "check", "idetools"]: | 
| 
213
 
b5d9410a8184
add: resource packaging and loading for different resource types, simplify build commands, update readme
 
Sam <sam@basx.dev> 
parents: 
207 
diff
changeset
 | 
105 if defined(linux): | 
| 438 | 106 --d: VK_USE_PLATFORM_XLIB_KHR | 
| 
213
 
b5d9410a8184
add: resource packaging and loading for different resource types, simplify build commands, update readme
 
Sam <sam@basx.dev> 
parents: 
207 
diff
changeset
 | 
107 if defined(windows): | 
| 438 | 108 --d: VK_USE_PLATFORM_WIN32_KHR | 
