Skip to content

Commit 78d0bc3

Browse files
committed
AppVeyor: start adding conda-forge build
Also trying to add FFTW_ROOT to PATH so that the libraries don't have to be copied from there to the test run directory, but will just be found there.
1 parent 33af379 commit 78d0bc3

1 file changed

Lines changed: 73 additions & 10 deletions

File tree

.appveyor.yml

Lines changed: 73 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,45 @@ platform:
1010

1111
environment:
1212
matrix:
13+
# fftw from the "official" fftw website build
1314
- COLUMN_MAJOR_LAYOUT: OFF
1415
MINICONDA: C:\Miniconda36-x64
16+
FFTW_INSTALL_MODE: official
17+
FFTW_ROOT: C:\fftw_download
1518
- COLUMN_MAJOR_LAYOUT: OFF
1619
MINICONDA: C:\Miniconda36
20+
FFTW_INSTALL_MODE: official
21+
FFTW_ROOT: C:\fftw_download
1722
- COLUMN_MAJOR_LAYOUT: ON
1823
MINICONDA: C:\Miniconda36-x64
24+
FFTW_INSTALL_MODE: official
25+
FFTW_ROOT: C:\fftw_download
1926
- COLUMN_MAJOR_LAYOUT: ON
2027
MINICONDA: C:\Miniconda36
28+
FFTW_INSTALL_MODE: official
29+
FFTW_ROOT: C:\fftw_download
30+
# fftw from conda-forge
31+
- COLUMN_MAJOR_LAYOUT: OFF
32+
MINICONDA: C:\Miniconda36-x64
33+
FFTW_INSTALL_MODE: conda-forge
34+
FFTW_ROOT:
35+
- COLUMN_MAJOR_LAYOUT: OFF
36+
MINICONDA: C:\Miniconda36
37+
FFTW_INSTALL_MODE: conda-forge
38+
FFTW_ROOT:
39+
- COLUMN_MAJOR_LAYOUT: ON
40+
MINICONDA: C:\Miniconda36-x64
41+
FFTW_INSTALL_MODE: conda-forge
42+
FFTW_ROOT:
43+
- COLUMN_MAJOR_LAYOUT: ON
44+
MINICONDA: C:\Miniconda36
45+
FFTW_INSTALL_MODE: conda-forge
46+
FFTW_ROOT:
47+
48+
# TODO: conda-forge build doen, CMakeLists aanpassen zodat FFTW_LONGDOUBLE niet required is bij CMAKE_CXX_COMPILER_ID == MSVC
49+
# sowieso is libs requiren beetje raar als je alleen installeert;
50+
# mss beter om als ze niet gevonden zijn de test/bench builds uit te zetten
51+
# TODO: goed idee (?): een MSVC_FFTW_LONGDOUBLE_LINKING_WORKAROUND option toevoegen die manually een long double lib downloadt zodat de tests iig linken, maar met een melding dat die dus niet goed draaien
2152

2253
matrix:
2354
exclude:
@@ -39,22 +70,54 @@ install:
3970
- conda update -q conda
4071
- conda info -a
4172
- conda install xtensor
42-
- mkdir C:\fftw_download
43-
- ps: if($env:Platform -eq "x86"){$source = "ftp://ftp.fftw.org/pub/fftw/fftw-3.3.5-dll32.zip"; $destination = "C:\fftw-3.3.5.zip"; Invoke-WebRequest $source -OutFile $destination; echo "x86 fftw download complete"}
44-
- ps: if($env:Platform -eq "x64"){$source = "ftp://ftp.fftw.org/pub/fftw/fftw-3.3.5-dll64.zip"; $destination = "C:\fftw-3.3.5.zip"; Invoke-WebRequest $source -OutFile $destination; echo "x64 fftw download complete"}
45-
- 7z e C:\fftw-3.3.5.zip -oC:\fftw_download
46-
- cd C:\fftw_download
47-
- ps: if($env:Platform -eq "x86"){lib.exe /def:libfftw3-3.def; lib.exe /def:libfftw3f-3.def; lib.exe /def:libfftw3l-3.def}
48-
- ps: if($env:Platform -eq "x64"){lib.exe /machine:x64 /def:libfftw3-3.def; lib.exe /machine:x64 /def:libfftw3f-3.def; lib.exe /machine:x64 /def:libfftw3l-3.def}
49-
# - set PATH="C:\fftw_download";%PATH%
73+
- ps: >-
74+
switch ($env:FFTW_INSTALL_MODE) {
75+
76+
"official" {
77+
mkdir $env:FFTW_ROOT
78+
if ($env:Platform -eq "x86") {
79+
$source = "ftp://ftp.fftw.org/pub/fftw/fftw-3.3.5-dll32.zip"
80+
$destination = "C:\fftw-3.3.5.zip"
81+
Invoke-WebRequest $source -OutFile $destination
82+
echo "x86 fftw download complete"
83+
}
84+
if ($env:Platform -eq "x64") {
85+
$source = "ftp://ftp.fftw.org/pub/fftw/fftw-3.3.5-dll64.zip"
86+
$destination = "C:\fftw-3.3.5.zip"
87+
Invoke-WebRequest $source -OutFile $destination
88+
echo "x64 fftw download complete"
89+
}
90+
91+
7z e C:\fftw-3.3.5.zip -o$env:FFTW_ROOT
92+
cd $env:FFTW_ROOT
93+
94+
if ($env:Platform -eq "x86") {
95+
lib.exe /def:libfftw3-3.def
96+
lib.exe /def:libfftw3f-3.def
97+
lib.exe /def:libfftw3l-3.def
98+
}
99+
if ($env:Platform -eq "x64") {
100+
lib.exe /machine:x64 /def:libfftw3-3.def
101+
lib.exe /machine:x64 /def:libfftw3f-3.def
102+
lib.exe /machine:x64 /def:libfftw3l-3.def
103+
}
104+
105+
$env:PATH="${env:FFTW_ROOT};${env:PATH}"
106+
}
107+
108+
"conda-forge" {
109+
conda install fftw
110+
}
111+
112+
}
50113
- cd %APPVEYOR_BUILD_FOLDER%
51114
- mkdir build
52115
- cd build
53-
- cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DFFTW_ROOT="C:\fftw_download" -DCMAKE_INSTALL_PREFIX=%MINICONDA%\\Library -DBUILD_TESTS=ON -DDEFAULT_COLUMN_MAJOR=%COLUMN_MAJOR_LAYOUT% -DDOWNLOAD_GTEST=ON ..
116+
- cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DFFTW_ROOT="${env:FFTW_ROOT}" -DCMAKE_INSTALL_PREFIX=%MINICONDA%\\Library -DBUILD_TESTS=ON -DDEFAULT_COLUMN_MAJOR=%COLUMN_MAJOR_LAYOUT% -DDOWNLOAD_GTEST=ON ..
54117
- nmake test_xtensor-fftw
55118

56119
before_build:
57-
- copy C:\fftw_download\*.* test
120+
# - copy C:\fftw_download\*.* test
58121
- cd test
59122

60123
build_script:

0 commit comments

Comments
 (0)