Skip to content

Commit 6cda958

Browse files
lplewakrzycz
authored andcommitted
win: add script to create release zip
1 parent 9fb545c commit 6cda958

File tree

4 files changed

+115
-8
lines changed

4 files changed

+115
-8
lines changed

appveyor.yml

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,47 @@
11
version: 1.0.{build}
22
os: Visual Studio 2015
33
platform: x64
4+
45
configuration:
56
- Debug
67
- Release
8+
79
matrix:
810
fast_finish: true
11+
912
before_build:
1013
- ps: >-
11-
if ($env:CONFIGURATION -eq "Debug") {
14+
if ($Env:CONFIGURATION -eq "Debug") {
1215
utils/CSTYLE.ps1
13-
if($LASTEXITCODE -ne 0) {
16+
if ($LASTEXITCODE -ne 0) {
1417
exit 1
1518
}
1619
utils/CHECK_WHITESPACE.ps1
17-
if($LASTEXITCODE -ne 0) {
20+
if ($LASTEXITCODE -ne 0) {
1821
exit 1
1922
}
2023
perl utils/sort_solution check
21-
if($LASTEXITCODE -ne 0) {
24+
if ($LASTEXITCODE -ne 0) {
2225
exit 1
2326
}
2427
}
28+
2529
build:
2630
project: src/NVML.sln
2731
parallel: true
2832
verbosity: minimal
33+
34+
after_build:
35+
- ps: >-
36+
utils/CREATE-ZIP.ps1 -b $Env:CONFIGURATION
37+
2938
test_script:
3039
- ps: >-
31-
if ($env:CONFIGURATION -eq "Debug") {
40+
if ($Env:CONFIGURATION -eq "Debug") {
3241
cd src/test
3342
md /temp
34-
echo "`$env:NON_PMEM_FS_DIR = `"\temp`"" > testconfig.ps1
35-
echo "`$env:PMEM_FS_DIR = `"\temp`"" >> testconfig.ps1
36-
echo "`$env:PMEM_FS_DIR_FORCE_PMEM = `"1`"" >> testconfig.ps1
43+
echo "`$Env:NON_PMEM_FS_DIR = `"\temp`"" > testconfig.ps1
44+
echo "`$Env:PMEM_FS_DIR = `"\temp`"" >> testconfig.ps1
45+
echo "`$Env:PMEM_FS_DIR_FORCE_PMEM = `"1`"" >> testconfig.ps1
3746
./RUNTESTS.ps1 -b debug -o 3m
3847
}

src/NVML.sln

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -690,6 +690,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Utils", "Utils", "{F8CCA5AE
690690
ProjectSection(SolutionItems) = preProject
691691
..\appveyor.yml = ..\appveyor.yml
692692
..\utils\CHECK_WHITESPACE.PS1 = ..\utils\CHECK_WHITESPACE.PS1
693+
..\utils\CREATE-ZIP.PS1 = ..\utils\CREATE-ZIP.PS1
693694
..\utils\cstyle = ..\utils\cstyle
694695
..\utils\CSTYLE.ps1 = ..\utils\CSTYLE.ps1
695696
EndProjectSection

utils/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.zip

utils/CREATE-ZIP.PS1

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
#
2+
# Copyright 2016, Intel Corporation
3+
#
4+
# Redistribution and use in source and binary forms, with or without
5+
# modification, are permitted provided that the following conditions
6+
# are met:
7+
#
8+
# * Redistributions of source code must retain the above copyright
9+
# notice, this list of conditions and the following disclaimer.
10+
#
11+
# * Redistributions in binary form must reproduce the above copyright
12+
# notice, this list of conditions and the following disclaimer in
13+
# the documentation and/or other materials provided with the
14+
# distribution.
15+
#
16+
# * Neither the name of the copyright holder nor the names of its
17+
# contributors may be used to endorse or promote products derived
18+
# from this software without specific prior written permission.
19+
#
20+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21+
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22+
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23+
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24+
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25+
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26+
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27+
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28+
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29+
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30+
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31+
#
32+
# CREATE-ZIP.PS1 -- script to create release zip package
33+
#
34+
35+
#
36+
# parameter handling
37+
#
38+
[CmdletBinding(PositionalBinding=$false)]
39+
Param(
40+
[alias("b")]
41+
$build = "debug"
42+
)
43+
44+
$scriptdir = Split-Path -Parent $PSCommandPath
45+
$rootdir = $scriptdir + "\..\"
46+
47+
$builddir = $rootdir + "\src\x64\"
48+
$zipdir = $builddir + "\nvml\"
49+
50+
$git = Get-Command -Name git -ErrorAction SilentlyContinue
51+
52+
if ($git) {
53+
$ver = $(git describe)
54+
} else {
55+
$ver = "0"
56+
}
57+
58+
$zipfile = $builddir + "\nvml-" + $ver + "-win-x64-" + $build + ".zip"
59+
60+
61+
Remove-Item $zipdir -Force -Recurse -ea si
62+
Get-ChildItem | Where {$_.Name -Match "nvml-.*-win-x64.zip"} | Remove-Item -Force -ea si
63+
New-Item -ItemType directory -Path ( $zipdir) -Force | Out-Null
64+
New-Item -ItemType directory -Path ( $zipdir + "\bin\") -Force | Out-Null
65+
New-Item -ItemType directory -Path ( $zipdir + "\lib\") -Force | Out-Null
66+
67+
$libs = @("libpmem", "libpmemblk", "libpmemlog", "libpmemobj", "libpmempool",
68+
"libvmem", "jemalloc")
69+
$apps = @("pmempool")
70+
71+
foreach ($lib in $libs) {
72+
Copy-Item ($builddir + $build + "\" + $lib + ".dll") ($zipdir + "\bin\")
73+
foreach ($ex in @(".lib", ".pdb")) {
74+
Copy-Item ($builddir + $build + "\" + $lib + $ex) ($zipdir + "\lib\")
75+
}
76+
}
77+
foreach ($app in $apps) {
78+
Copy-Item ($builddir + $build + "\" + $app + ".exe") ($zipdir + "\bin\")
79+
Copy-Item ($builddir + $build + "\" + $app + ".pdb") ($zipdir + "\lib\")
80+
}
81+
82+
Copy-Item -Recurse ($rootdir + "src\include") ($zipdir)
83+
Remove-Item -Force ($zipdir + "include\README")
84+
Remove-Item -Force ($zipdir + "include\librpmem.h")
85+
Remove-Item -Force ($zipdir + "include\libvmmalloc.h")
86+
Copy-Item ($rootdir + "README.md") ($zipdir)
87+
Copy-Item ($rootdir + "LICENSE") ($zipdir)
88+
Copy-Item ($rootdir + "ChangeLog") ($zipdir)
89+
90+
91+
Add-Type -Assembly System.IO.Compression.FileSystem
92+
$comprlevel = [System.IO.Compression.CompressionLevel]::Optimal
93+
[System.IO.Compression.ZipFile]::CreateFromDirectory($zipdir, $zipfile,
94+
$comprlevel, $true)
95+
96+
Remove-Item $zipdir -Force -Recurse -ea si

0 commit comments

Comments
 (0)