forked from ALaDyn/ALaDyn
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.appveyor.yml
147 lines (133 loc) · 9.06 KB
/
.appveyor.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
image: Visual Studio 2017
clone_folder: c:\projects\aladyn
cache: C:\Tools\vcpkg\installed\
environment:
WORKSPACE: C:\projects
matrix:
- platform: MSYS64
COMPILER: msys2
BASH: c:\msys64\usr\bin\env MSYSTEM=MINGW64 C:\msys64\usr\bin\bash -lc
- platform: Cygwin64
COMPILER: cygwin
CYGWIN_NOWINPATH: yes
BASH: C:\cygwin64\bin\bash -c
- platform: PGI1910
COMPILER: pgi
GENERATOR: "NMake Makefiles"
VCPKG_DEFAULT_TRIPLET: x64-windows
matrix:
allow_failures:
- platform: PGI1910
init:
#- ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
install:
#initial setup
- if [%COMPILER%]==[cygwin] SET "PATH=C:\cygwin64\bin;C:\cygwin64\usr\bin;%PATH%"
- if [%COMPILER%]==[cygwin] SET PATH=%PATH:C:\Program Files\Git\usr\bin;=%
- if [%COMPILER%]==[msys2] SET PATH=%PATH:C:\Program Files\Git\usr\bin;=%
- if [%COMPILER%]==[pgi] cinst cmake git 7zip
- if [%COMPILER%]==[pgi] SET "PATH=C:\Program Files\CMake\bin;%PATH%"
- if [%COMPILER%]==[pgi] call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
- cd %WORKSPACE%
#prepare the silent install for PGI 19.10
- if [%COMPILER%]==[pgi] echo [Application] > setup.iss
- if [%COMPILER%]==[pgi] echo Name=PGI Workstation 19.10 >> setup.iss
- if [%COMPILER%]==[pgi] echo Version=19.10 >> setup.iss
- if [%COMPILER%]==[pgi] echo Company=The Portland Group >> setup.iss
- if [%COMPILER%]==[pgi] echo Lang=0409 >> setup.iss
- if [%COMPILER%]==[pgi] echo [{89F281D6-89B4-4CBA-8342-7A7800CB4771}-DlgOrder] >> setup.iss
- if [%COMPILER%]==[pgi] echo Dlg0={89F281D6-89B4-4CBA-8342-7A7800CB4771}-SdWelcome-0 >> setup.iss
- if [%COMPILER%]==[pgi] echo Count=10 >> setup.iss
- if [%COMPILER%]==[pgi] echo Dlg1={89F281D6-89B4-4CBA-8342-7A7800CB4771}-SdLicense2Rtf-0 >> setup.iss
- if [%COMPILER%]==[pgi] echo Dlg2={89F281D6-89B4-4CBA-8342-7A7800CB4771}-AskOptions-0 >> setup.iss
- if [%COMPILER%]==[pgi] echo Dlg3={89F281D6-89B4-4CBA-8342-7A7800CB4771}-SdRegisterUser-0 >> setup.iss
- if [%COMPILER%]==[pgi] echo Dlg4={89F281D6-89B4-4CBA-8342-7A7800CB4771}-SdAskDestPath-0 >> setup.iss
- if [%COMPILER%]==[pgi] echo Dlg5={89F281D6-89B4-4CBA-8342-7A7800CB4771}-SdAskDestPath-1 >> setup.iss
- if [%COMPILER%]==[pgi] echo Dlg6={89F281D6-89B4-4CBA-8342-7A7800CB4771}-SdSelectFolder-0 >> setup.iss
- if [%COMPILER%]==[pgi] echo Dlg7={89F281D6-89B4-4CBA-8342-7A7800CB4771}-AskOptions-1 >> setup.iss
- if [%COMPILER%]==[pgi] echo Dlg8={89F281D6-89B4-4CBA-8342-7A7800CB4771}-SdStartCopy-0 >> setup.iss
- if [%COMPILER%]==[pgi] echo Dlg9={89F281D6-89B4-4CBA-8342-7A7800CB4771}-SdFinish-0 >> setup.iss
- if [%COMPILER%]==[pgi] echo [{89F281D6-89B4-4CBA-8342-7A7800CB4771}-SdWelcome-0] >> setup.iss
- if [%COMPILER%]==[pgi] echo Result=1 >> setup.iss
- if [%COMPILER%]==[pgi] echo [{89F281D6-89B4-4CBA-8342-7A7800CB4771}-SdLicense2Rtf-0] >> setup.iss
- if [%COMPILER%]==[pgi] echo Result=1 >> setup.iss
- if [%COMPILER%]==[pgi] echo [{89F281D6-89B4-4CBA-8342-7A7800CB4771}-AskOptions-0] >> setup.iss
- if [%COMPILER%]==[pgi] echo Result=1 >> setup.iss
- if [%COMPILER%]==[pgi] echo Sel-0=0 >> setup.iss
- if [%COMPILER%]==[pgi] echo Sel-1=1 >> setup.iss
- if [%COMPILER%]==[pgi] echo [{89F281D6-89B4-4CBA-8342-7A7800CB4771}-SdRegisterUser-0] >> setup.iss
- if [%COMPILER%]==[pgi] echo szName=user >> setup.iss
- if [%COMPILER%]==[pgi] echo szCompany=company >> setup.iss
- if [%COMPILER%]==[pgi] echo Result=1 >> setup.iss
- if [%COMPILER%]==[pgi] echo [{89F281D6-89B4-4CBA-8342-7A7800CB4771}-SdAskDestPath-0] >> setup.iss
- if [%COMPILER%]==[pgi] echo szDir=C:\Program Files\PGI\ >> setup.iss
- if [%COMPILER%]==[pgi] echo Result=1 >> setup.iss
- if [%COMPILER%]==[pgi] echo [{89F281D6-89B4-4CBA-8342-7A7800CB4771}-SdAskDestPath-1] >> setup.iss
- if [%COMPILER%]==[pgi] echo szDir=C:\temp >> setup.iss
- if [%COMPILER%]==[pgi] echo Result=1 >> setup.iss
- if [%COMPILER%]==[pgi] echo [{89F281D6-89B4-4CBA-8342-7A7800CB4771}-SdSelectFolder-0] >> setup.iss
- if [%COMPILER%]==[pgi] echo szFolder=PGI Workstation >> setup.iss
- if [%COMPILER%]==[pgi] echo Result=1 >> setup.iss
- if [%COMPILER%]==[pgi] echo [{89F281D6-89B4-4CBA-8342-7A7800CB4771}-AskOptions-1] >> setup.iss
- if [%COMPILER%]==[pgi] echo Result=1 >> setup.iss
- if [%COMPILER%]==[pgi] echo Sel-0=0 >> setup.iss
- if [%COMPILER%]==[pgi] echo Sel-1=1 >> setup.iss
- if [%COMPILER%]==[pgi] echo [{89F281D6-89B4-4CBA-8342-7A7800CB4771}-SdStartCopy-0] >> setup.iss
- if [%COMPILER%]==[pgi] echo Result=1 >> setup.iss
- if [%COMPILER%]==[pgi] echo [{89F281D6-89B4-4CBA-8342-7A7800CB4771}-SdFinish-0] >> setup.iss
- if [%COMPILER%]==[pgi] echo Result=1 >> setup.iss
- if [%COMPILER%]==[pgi] echo bOpt1=0 >> setup.iss
- if [%COMPILER%]==[pgi] echo bOpt2=0 >> setup.iss
#download & install PGI
- if [%COMPILER%]==[pgi] curl --location --referer "http://www.pgroup.com/products/community.htm" "https://www.pgroup.com/support/downloader.php?file=pgi-community-windows-x64" -o pgiws64-1910.exe
- if [%COMPILER%]==[pgi] %WORKSPACE%\pgiws64-1910.exe /s /f1"%WORKSPACE%\setup.iss"
# MPI runtime for MS-MPI 10
- ps: Invoke-WebRequest https://download.microsoft.com/download/A/E/0/AE002626-9D9D-448D-8197-1EA510E297CE/msmpisetup.exe -OutFile msmpisetup.exe
- msmpisetup.exe -unattend
# Download a FindMPI module which should be compatible with mingw-w64-x86_64-msmpi
- ps: if($env:COMPILER -eq "msys2") { Invoke-WebRequest https://raw.githubusercontent.com/ElmerCSC/elmerfem/devel/cmake/Modules/FindMPI.cmake -OutFile c:\projects\aladyn\cmake\Modules\FindMPI.cmake }
# Install libraries with vcpkg
- if [%COMPILER%]==[pgi] cd C:\Tools\vcpkg
- if [%COMPILER%]==[pgi] git pull
- if [%COMPILER%]==[pgi] bootstrap-vcpkg.bat
- if [%COMPILER%]==[pgi] echo set(VCPKG_BUILD_TYPE release) >> triplets\%VCPKG_DEFAULT_TRIPLET%.cmake
- if [%COMPILER%]==[pgi] vcpkg upgrade --no-dry-run
- if [%COMPILER%]==[pgi] vcpkg install fftw3 --recurse
- if [%COMPILER%]==[pgi] vcpkg install msmpi --recurse
- if [%COMPILER%]==[pgi] IF exist buildtrees ( rmdir "buildtrees" /S /Q )
#download & install libs for cygwin
- cd %WORKSPACE%
- mkdir cygwin-downloads
- ps: if($env:COMPILER -eq "cygwin") { Invoke-WebRequest https://cygwin.com/setup-x86_64.exe -OutFile $env:WORKSPACE\cygwin-setup.exe }
- if [%COMPILER%]==[cygwin] %WORKSPACE%\cygwin-setup.exe --quiet-mode --no-shortcuts --no-startmenu --no-desktop --upgrade-also --root C:\cygwin64 --local-package-dir %WORKSPACE%\cygwin-downloads --packages libopenmpi-devel,cmake,fftw3,libfftw3-devel,libboost-devel,zlib-devel,gcc-fortran
# As reported in https://www.msys2.org/news/#2020-06-29-new-packagers, there have been some changes in the MSYS packagers that
# may cause errors in the package upgrades.
# These should be temporary, implementing this workaround until they are fixed
- if [%COMPILER%]==[msys2] %BASH% "curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz"
- if [%COMPILER%]==[msys2] %BASH% "curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig"
- if [%COMPILER%]==[msys2] %BASH% "pacman -U --noconfirm --config <(echo) msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz"
- if [%COMPILER%]==[msys2] %BASH% "pacman-key --verify msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig"
# End workaround
- if [%COMPILER%]==[msys2] %BASH% "pacman -Sy --noconfirm pacman"
- if [%COMPILER%]==[msys2] %BASH% "pacman -Syu --noconfirm"
- if [%COMPILER%]==[msys2] %BASH% "pacman -R --noconfirm mingw-w64-x86_64-gcc-ada mingw-w64-x86_64-gcc-objc"
- if [%COMPILER%]==[msys2] %BASH% "pacman -Sy --noconfirm mingw-w64-x86_64-msmpi mingw-w64-x86_64-cmake mingw-w64-x86_64-boost mingw-w64-x86_64-gcc-fortran mingw-w64-x86_64-gcc-libgfortran mingw-w64-x86_64-fftw mingw-w64-x86_64-msmpi"
#get ready for build
- cd %WORKSPACE%\aladyn\
- mkdir build
- cd build
- if [%COMPILER%]==[pgi] set PGI=%PROGRAMFILES%\PGI
- if [%COMPILER%]==[pgi] set PATH=%PROGRAMFILES%\PGI\flexlm;%PATH%
- if [%COMPILER%]==[pgi] set PATH=%PROGRAMFILES%\PGI\win64\19.10\bin;%PATH%
- if [%COMPILER%]==[pgi] set PATH=%PATH%;.
- if [%COMPILER%]==[pgi] set FLEXLM_BATCH=1
- if [%COMPILER%]==[pgi] echo PGI 19.10 Enabled
build_script:
- if [%COMPILER%]==[pgi] cmake -G "%GENERATOR%" "-DCMAKE_TOOLCHAIN_FILE=C:\Tools\vcpkg\scripts\buildsystems\vcpkg.cmake" "-DVCPKG_TARGET_TRIPLET=%VCPKG_DEFAULT_TRIPLET%" -DFORCE_OLD_MPI:BOOL=TRUE "-DCMAKE_BUILD_TYPE=Release" ..
- if [%COMPILER%]==[pgi] cmake --build . --target install
- if [%COMPILER%]==[msys2] %BASH% "cmake -G \"MSYS Makefiles\" -DFORCE_OLD_MPI:BOOL=TRUE -DCMAKE_BUILD_TYPE=Release /c/projects/aladyn"
- if [%COMPILER%]==[msys2] %BASH% "cmake --build $(pwd) --target install"
- if [%COMPILER%]==[cygwin] %BASH% 'cmake -G "Unix Makefiles" "-DCMAKE_BUILD_TYPE=Release" ..'
- if [%COMPILER%]==[cygwin] %BASH% 'cmake --build . --target install'
on_finish:
#- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))