forked from alexandradutz/libiio-appveyor
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathappveyor.yml
114 lines (96 loc) · 6.52 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
version: 2015.1.{build}
clone_depth: 1
skip_commits:
message: /(iiod|IIOD):.*/
environment:
# Tell msys2 to add mingw64 to the path
MSYSTEM: MINGW64
# Tell msys2 to inherit the current directory when starting the shell
CHERE_INVOKING: 1
matrix:
- COMPILER: mingw
GENERATOR: Unix Makefiles
- COMPILER: msvc
GENERATOR: Visual Studio 12
configuration:
- Release
install:
- echo "Checking out sub-modules..."
- cd c:\projects
- git clone --depth 1 https://github.com/analogdevicesinc/libiio.git
- cd c:\projects\libiio
- git submodule update --init
- cd ..
- echo "Downloading deps..."
- cd c:\
- appveyor DownloadFile http://swdownloads.analog.com/cse/build/libiio-win-deps.zip
- 7z x -y "c:\libiio-win-deps.zip"
#Install Inno Setup
- choco install InnoSetup
- set PATH=%PATH%;"C:\Program Files (x86)\Inno Setup 5"
- if "%COMPILER%"=="mingw" (set OPT_PATH=C:\msys64\mingw32\bin;C:\msys64\mingw64\bin;)
- set PATH=%OPT_PATH%%PATH%
- if "%COMPILER%"=="mingw" (C:\msys64\usr\bin\bash -lc "pacman --noconfirm -Syu")
build_script:
- cd c:\projects\libiio
- set folder-path=c:\projects\libiio\build-win32
- if "%COMPILER%"=="mingw" (set folder-path=%folder-path%\%configuration%)
- echo "Running cmake for MinGW 32 bit... "
- mkdir build-win32
- cd build-win32
# MinGW 32 bit
- if "%COMPILER%"=="mingw" (mkdir "%configuration%"& cd "%configuration%")
- if "%COMPILER%"=="mingw" (C:\msys64\usr\bin\bash -lc "pacman -Rs --noconfirm mingw-w64-i686-gcc-ada mingw-w64-i686-gcc-fortran mingw-w64-i686-gcc-libgfortran mingw-w64-i686-gcc-objc")
- if "%COMPILER%"=="mingw" (C:\msys64\usr\bin\bash -lc "rm /mingw32/etc/gdbinit")
- if "%COMPILER%"=="mingw" (C:\msys64\usr\bin\bash -lc "pacman --noconfirm -Sy mingw-w64-i686-gcc mingw-w64-i686-libusb mingw-w64-i686-cmake mingw-w64-i686-libxml2 mingw-w64-i686-pkg-config mingw-w64-i686-libzip mingw-w64-i686-doxygen")
- if "%COMPILER%"=="mingw" (C:\msys64\usr\bin\bash -lc "cmake -G '%GENERATOR%' -DCMAKE_BUILD_TYPE=%configuration% -DCMAKE_INSTALL_PREFIX=/mingw32 -DCMAKE_C_COMPILER:FILEPATH=/mingw32/bin/i686-w64-mingw32-gcc.exe -DCMAKE_CXX_COMPILER:FILEPATH=/mingw32/bin/i686-w64-mingw32-g++.exe -DCSHARP_BINDINGS:BOOL=OFF -DPKG_CONFIG_EXECUTABLE:FILEPATH=/mingw32/bin/pkg-config.exe -DENABLE_IPV6:BOOL=OFF -DPYTHON_BINDINGS:BOOL=OFF -DLIBXML2_LIBRARIES=c/libs/32/libxml2.dll -DLIBSERIALPORT_LIBRARIES=c/libs/32/libserialport.dll.a /c/projects/libiio && make -j3")
#MSVC 32 bit
- if "%COMPILER%"=="msvc" (set MCS_EXECUTABLE_PATH="C:\Windows\Microsoft.NET\Framework\v4.0.30319")
- if "%COMPILER%"=="msvc" (cmake -G "%GENERATOR%" -DCMAKE_BUILD_TYPE:STRING="%configuration%" -DENABLE_IPV6:BOOL=OFF -DCMAKE_SYSTEM_PREFIX_PATH="C:" -DPYTHON_BINDINGS:BOOL=OFF -DLIBXML2_LIBRARIES="C:\\libs\\32\\libxml2.lib" -DLIBUSB_LIBRARIES="C:\\libs\\32\\libusb-1.0.lib" -DLIBSERIALPORT_LIBRARIES="C:\\libs\\32\\libserialport.dll.a" ..)
- if "%COMPILER%"=="msvc" (cmake --build . --config %configuration%)
- cd c:\projects\libiio
- echo "Running cmake for 64 bit... "
- mkdir build-win64
- cd build-win64
# MinGW 64 bit
- if "%COMPILER%"=="mingw" (mkdir "%configuration%"& cd "%configuration%")
- if "%COMPILER%"=="mingw" (C:\msys64\usr\bin\bash -lc "pacman -Rs --noconfirm mingw-w64-x86_64-gcc-ada mingw-w64-x86_64-gcc-fortran mingw-w64-x86_64-gcc-libgfortran mingw-w64-x86_64-gcc-objc")
- if "%COMPILER%"=="mingw" (C:\msys64\usr\bin\bash -lc "rm /mingw64/etc/gdbinit")
- if "%COMPILER%"=="mingw" (C:\msys64\usr\bin\bash -lc "pacman --noconfirm -Sy mingw-w64-x86_64-gcc mingw-w64-x86_64-libusb mingw-w64-x86_64-cmake mingw-w64-x86_64-libxml2 mingw-w64-x86_64-pkg-config mingw-w64-x86_64-libzip mingw-w64-x86_64-doxygen")
- if "%COMPILER%"=="mingw" (C:\msys64\usr\bin\bash -lc "cmake -G '%GENERATOR%' -DCMAKE_BUILD_TYPE=%configuration% -DCMAKE_INSTALL_PREFIX=/mingw64 -DCMAKE_C_COMPILER:FILEPATH=/mingw64/bin/x86_64-w64-mingw32-gcc.exe -DCMAKE_CXX_COMPILER:FILEPATH=/mingw64/bin/x86_64-w64-mingw32-g++.exe -DCSHARP_BINDINGS:BOOL=OFF -DPKG_CONFIG_EXECUTABLE:FILEPATH=/mingw64/bin/pkg-config.exe -DENABLE_IPV6:BOOL=OFF -DPYTHON_BINDINGS:BOOL=OFF -DLIBXML2_LIBRARIES=c/libs/64/libxml2.dll -DLIBSERIALPORT_LIBRARIES=c/libs/64/libserialport.dll.a /c/projects/libiio && make -j3")
#MSVC 64 bit
- if "%COMPILER%"=="msvc" (cmake -G "%GENERATOR% Win64" -DCMAKE_BUILD_TYPE:STRING="%configuration%" -DENABLE_IPV6:BOOL=OFF -DCMAKE_SYSTEM_PREFIX_PATH="C:" -DPYTHON_BINDINGS:BOOL=OFF -DLIBXML2_LIBRARIES="C:\\libs\\64\\libxml2.lib" -DLIBUSB_LIBRARIES="C:\\libs\\64\\libusb-1.0.lib" -DLIBSERIALPORT_LIBRARIES="C:\\libs\\64\\libserialport.dll.a" ..)
- if "%COMPILER%"=="msvc" (cmake --build . --config %configuration%)
# Move the tests folder
- cd c:\projects\libiio
- if "%COMPILER%"=="mingw" (mkdir build-win32\tests\ build-win32\tests\"%configuration%"& copy build-win32\Release\tests\*.exe build-win32\tests\"%configuration%"\)
- if "%COMPILER%"=="mingw" (mkdir build-win64\tests\ build-win64\tests\"%configuration%"& copy build-win64\Release\tests\*.exe build-win64\tests\"%configuration%"\)
- ISCC %folder-path%\libiio.iss
- appveyor PushArtifact C:\libiio-setup.exe
# Create ZIP packages
- cd c:\projects\libiio
- mkdir c:\libiio-win32
- copy iio.h c:\libiio-win32
- copy build-win32\Release\libiio.* c:\libiio-win32\
- copy build-win32\tests\Release\*.exe c:\libiio-win32\
- copy c:\libs\32\libxml2.dll c:\libiio-win32\
- copy c:\libs\32\libusb-1.0.dll c:\libiio-win32\
- copy c:\libs\32\libserialport-0.dll c:\libiio-win32\
- if "%COMPILER%"=="msvc" (copy "c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\x86\Microsoft.VC120.CRT\msvcr120.dll" c:\libiio-win32\)
- xcopy /S bindings\matlab c:\libiio-win32\matlab\
- del c:\libiio-win32\matlab\CMakeLists.txt
- 7z a "c:\libiio-win32.zip" c:\libiio-win32
- appveyor PushArtifact c:\libiio-win32.zip
- cd c:\projects\libiio
- mkdir c:\libiio-win64
- copy iio.h c:\libiio-win64\
- copy build-win64\Release\libiio.* c:\libiio-win64\
- copy build-win64\tests\Release\*.exe c:\libiio-win64\
- copy c:\libs\64\libxml2.dll c:\libiio-win64\
- copy c:\libs\64\libusb-1.0.dll c:\libiio-win64\
- copy c:\libs\64\libserialport-0.dll c:\libiio-win64\
- if "%COMPILER%"=="msvc" (copy "c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\x64\Microsoft.VC120.CRT\msvcr120.dll" c:\libiio-win64\)
- xcopy /S bindings\matlab c:\libiio-win64\matlab\
- del c:\libiio-win64\matlab\CMakeLists.txt
- 7z a "c:\libiio-win64.zip" c:\libiio-win64
- appveyor PushArtifact c:\libiio-win64.zip