mirror of
https://github.com/logos-messaging/nim-sds.git
synced 2026-01-02 06:03:06 +00:00
39 lines
1.2 KiB
Nim
39 lines
1.2 KiB
Nim
# Package
|
|
version = "0.1.0"
|
|
author = "Waku Team"
|
|
description = "E2E Reliability Protocol API"
|
|
license = "MIT"
|
|
srcDir = "src"
|
|
|
|
# Dependencies
|
|
requires "nim >= 2.0.8"
|
|
requires "chronicles"
|
|
requires "libp2p"
|
|
|
|
proc buildLibrary(name: string, srcDir = "./", params = "", `type` = "static") =
|
|
if not dirExists "build":
|
|
mkDir "build"
|
|
# allow something like "nim nimbus --verbosity:0 --hints:off nimbus.nims"
|
|
var extra_params = params
|
|
for i in 2 ..< paramCount():
|
|
extra_params &= " " & paramStr(i)
|
|
if `type` == "static":
|
|
exec "nim c" & " --out:build/" & name &
|
|
".a --threads:on --app:staticlib --opt:size --noMain --mm:refc --header --undef:metrics --nimMainPrefix:libsds --skipParentCfg:on " &
|
|
extra_params & " " & srcDir & name & ".nim"
|
|
else:
|
|
exec "nim c" & " --out:build/" & name &
|
|
".so --threads:on --app:lib --opt:size --noMain --mm:refc --header --undef:metrics --nimMainPrefix:libsds --skipParentCfg:on " &
|
|
extra_params & " " & srcDir & name & ".nim"
|
|
|
|
# Tasks
|
|
task test, "Run the test suite":
|
|
exec "nim c -r tests/test_bloom.nim"
|
|
exec "nim c -r tests/test_reliability.nim"
|
|
|
|
task libsdsDynamic, "Generate bindings":
|
|
let name = "libsds"
|
|
buildLibrary name,
|
|
"library/",
|
|
"",
|
|
"dynamic" |