summaryrefslogtreecommitdiffstats
path: root/src/pmdk/utils/CREATE-ZIP.PS1
diff options
context:
space:
mode:
Diffstat (limited to 'src/pmdk/utils/CREATE-ZIP.PS1')
-rw-r--r--src/pmdk/utils/CREATE-ZIP.PS183
1 files changed, 83 insertions, 0 deletions
diff --git a/src/pmdk/utils/CREATE-ZIP.PS1 b/src/pmdk/utils/CREATE-ZIP.PS1
new file mode 100644
index 000000000..902cb07a9
--- /dev/null
+++ b/src/pmdk/utils/CREATE-ZIP.PS1
@@ -0,0 +1,83 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2016-2019, Intel Corporation
+#
+# CREATE-ZIP.PS1 -- script to create release zip package
+#
+
+#
+# parameter handling
+#
+[CmdletBinding(PositionalBinding=$false)]
+Param(
+ [alias("b")]
+ $build = "debug",
+ [alias("v")]
+ $version = "0",
+ [alias("e")]
+ $extended = "0"
+ )
+
+$scriptdir = Split-Path -Parent $PSCommandPath
+$rootdir = $scriptdir + "\..\"
+
+$builddir = $rootdir + "\src\x64\"
+$zipdir = $builddir + "\pmdk\"
+
+if ($version -eq "0") {
+ $git = Get-Command -Name git -ErrorAction SilentlyContinue
+ if ($git) {
+ $version = $(git describe)
+ } else {
+ $version = "0"
+ }
+}
+
+$zipfile = $builddir + "\pmdk-" + $version + "-win-x64-" + $build + ".zip"
+
+Remove-Item $zipdir -Force -Recurse -ea si
+Get-ChildItem | Where-Object {$_.Name -Match "pmdk-.*-win-x64.zip"} | Remove-Item -Force -ea si
+New-Item -ItemType directory -Path ( $zipdir) -Force | Out-Null
+New-Item -ItemType directory -Path ( $zipdir + "\bin\") -Force | Out-Null
+New-Item -ItemType directory -Path ( $zipdir + "\lib\") -Force | Out-Null
+
+$libs = @("libpmem", "libpmemblk", "libpmemlog", "libpmemobj", "libpmempool")
+$apps = @("pmempool")
+$apps_extended = @("pmempool", "pmemalloc", "pmemdetect", "pmemspoil", "pmemwrite")
+
+if ($extended -eq "1") {
+ $apps = $apps_extended
+}
+
+foreach ($lib in $libs) {
+ Copy-Item ($builddir + $build + "\libs\" + $lib + ".dll") ($zipdir + "\bin\")
+ foreach ($ex in @(".lib", ".pdb")) {
+ Copy-Item ($builddir + $build + "\libs\" + $lib + $ex) ($zipdir + "\lib\")
+ }
+}
+foreach ($app in $apps) {
+ if ($app -eq "pmempool") {
+ Copy-Item ($builddir + $build + "\libs\" + $app + ".exe") ($zipdir + "\bin\")
+ Copy-Item ($builddir + $build + "\libs\" + $app + ".pdb") ($zipdir + "\lib\")
+ } else {
+ Copy-Item ($builddir + $build + "\tests\" + $app + ".exe") ($zipdir + "\bin\")
+ Copy-Item ($builddir + $build + "\tests\" + $app + ".pdb") ($zipdir + "\lib\")
+ }
+}
+
+Copy-Item -Recurse ($rootdir + "src\include") ($zipdir)
+Remove-Item -Force ($zipdir + "include\.cstyleignore")
+Remove-Item -Force ($zipdir + "include\README")
+Remove-Item -Force ($zipdir + "include\librpmem.h")
+Copy-Item ($rootdir + "README.md") ($zipdir)
+Copy-Item ($rootdir + "LICENSE") ($zipdir)
+Copy-Item ($rootdir + "ChangeLog") ($zipdir)
+
+Add-Type -Assembly System.IO.Compression.FileSystem
+$comprlevel = [System.IO.Compression.CompressionLevel]::Optimal
+
+if (Test-Path ($zipdir)) {
+ [System.IO.Compression.ZipFile]::CreateFromDirectory($zipdir, $zipfile,
+ $comprlevel, $true)
+}
+
+Remove-Item $zipdir -Force -Recurse -ea si