@@ -11,24 +11,29 @@ requires "nimPNG >= 0.3.1"
1111
1212const Root = getCurrentDir ()
1313const BinDir = Root / " dist" / " System" / " bin"
14- const Bins = {
15- " fbscreenshot.nim" : " fbscreenshot" ,
16- " quark_hotkeyd/main.nim" : " quark_hotkeyd" ,
17- " sysjson_monitor/main.nim" : " sysjson_monitor" ,
18- " mainui_game_picker.nim" : " mainui_game_picker" ,
19- " bootlogo.nim" : " bootlogo" ,
20- " display.nim" : " display" ,
21- }.toTable ()
2214const Threads = gorge (" nproc" )
2315
2416# Import task files
2517include " tasks/third_party.nims"
2618include " tasks/dist.nims"
2719include " tasks/locale.nims"
2820
29- task buildBins, " Build binaries" :
30- for src, output in Bins :
31- selfExec & " c -o:{ BinDir } /{ output} { srcDir} /{ src} "
21+ task buildBins, " Build Quark binaries" :
22+ for kind, path in walkDir (srcDir):
23+ case kind
24+ of pcFile:
25+ let parts = splitFile (path)
26+ if parts.ext == " .nim"
27+ echo fmt" compiling { parts.dir} /{ parts.name} { parts.ext} to binary { BinDir } /{ parts.name} "
28+ selfExec fmt" c -o:{ BinDir } /{ parts.name} { parts.dir} /{ parts.name} { parts.ext} "
29+ of pcDir:
30+ let entryPath = path / " main.nim"
31+ if fileExists (entryPath):
32+ let binName = entryPath.parentDir ().lastPathPart ()
33+ echo fmt" compiling { entryPath} to binary { BinDir } /{ binName} "
34+ selfExec fmt" c -o:{ BinDir } /{ binName} { entryPath} "
35+ else :
36+ discard
3237
3338task cleanup, " Cleanup all" :
3439 exec " nimble clean"
0 commit comments