Add env var support for defines

This commit is contained in:
Ganesh Viswanathan 2019-09-25 21:15:14 -05:00
commit fad9fd78f3
6 changed files with 99 additions and 20 deletions

View file

@ -27,8 +27,8 @@ testCall(cmd & lrcmd, "No build files found", 1)
when defined(posix):
# stdlib
testCall(cmd & " -d:lzmaStd" & lrcmd, lexp, 0)
testCall(cmd & " -d:lzmaStd -d:lzmaStatic" & lrcmd, lexp, 0)
testCall(cmd & " -d:envTest" & lrcmd, lexp, 0)
testCall(cmd & " -d:envTestStatic" & lrcmd, lexp, 0)
when not defined(osx):
testCall(cmd & " -d:zlibStd" & zrcmd, zexp, 0)
@ -44,8 +44,8 @@ when defined(posix):
testCall("cd build/liblzma && git branch", "v5.2.0", 0, delete = false)
# git
testCall(cmd & " -d:zlibGit" & zrcmd, zexp, 0)
testCall(cmd & " -d:zlibGit -d:zlibStatic" & zrcmd, zexp, 0, delete = false)
testCall(cmd & " -d:envTest" & zrcmd, zexp, 0)
testCall(cmd & " -d:envTestStatic" & zrcmd, zexp, 0, delete = false)
# git tag
testCall(cmd & " -d:zlibGit -d:zlibSetVer=v1.2.10" & zrcmd, zexp & "1.2.10", 0)

View file

@ -8,6 +8,11 @@ const
static:
cDebug()
when defined(envTest):
setDefines(@["lzmaStd"])
elif defined(envTestStatic):
setDefines(@["lzmaStd", "lzmaStatic"])
getHeader(
"lzma.h",
giturl = "https://github.com/xz-mirror/xz",
@ -33,9 +38,9 @@ cOverride:
lzma_block = object
lzma_index_iter = object
when not defined(lzmaStatic):
when not lzmaStatic:
cImport(lzmaPath, recurse = true, dynlib = "lzmaLPath")
else:
cImport(lzmaPath, recurse = true)
echo "liblzma version = " & $lzma_version_string()
echo "liblzma version = " & $lzma_version_string()

View file

@ -19,6 +19,11 @@ proc zlibPreBuild(outdir, path: string) =
# Fix static lib name on Windows
setCmakeLibName(outdir, "zlibstatic", prefix = "lib", oname = "zlib", suffix = ".a")
when defined(envTest):
setDefines(@["zlibGit"])
elif defined(envTestStatic):
setDefines(@["zlibGit", "zlibStatic"])
getHeader(
"zlib.h",
giturl = "https://github.com/madler/zlib",
@ -56,11 +61,11 @@ when defined(posix):
static:
cSkipSymbol(@["u_int8_t", "u_int16_t", "u_int32_t", "u_int64_t"])
when defined(zlibGit) or defined(zlibDL):
when zlibGit or zlibDL:
when dirExists(baseDir / "buildcache"):
cIncludeDir(baseDir / "buildcache")
when not defined(zlibStatic):
when not zlibStatic:
cImport(zlibPath, recurse = true, dynlib = "zlibLPath")
else:
cImport(zlibPath, recurse = true)