From 81cbca989a3a01be73fd0d850e4583154d3d20e3 Mon Sep 17 00:00:00 2001 From: Guilherme Brondani Torri Date: Wed, 1 Jul 2015 15:30:04 +0200 Subject: [PATCH 1/2] Initial Appveyor support. Appveyor is a continuous integration service for Windows. It is currenlty set to use CMake as build system and MinGW as compiler. The script was renamed to .appveyor.yml on the project settings. --- .appveyor.yml | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 .appveyor.yml diff --git a/.appveyor.yml b/.appveyor.yml new file mode 100644 index 0000000000..de552cd346 --- /dev/null +++ b/.appveyor.yml @@ -0,0 +1,125 @@ + +platform: + - x64 + +install: + # Keep track of base directory + - cd + - set topDIR=%CD% + + # Take a look at the environment + - path + + # CMake fails to generate "MinGW Makefiles" if sh.exe is on the path. + - del "%ProgramFiles(x86)%\Git\bin\sh.exe" + + # Get tools from Chocolatey + - choco install -y curl 7zip.commandline + + # Download and install Qt. + # Qt 4 series not available in Appveyor. + - cd %topDIR% + - mkdir Qt + - cd Qt + - curl -kLO http://download.qt.io/official_releases/qt/4.8/4.8.7/qt-opensource-windows-x86-mingw482-4.8.7.exe + - 7z x qt-opensource-windows-x86-mingw482-4.8.7.exe > nul + - dir + # payload in $OUTDIR\bin\bin\qmake.exe + - move $OUTDIR Qt-4.8.7 + - set QTDIR=%CD%\Qt-4.8.7\bin\bin + # Configure Qt prefix + - echo [Paths] > %QTDIR%\qt.conf + - echo Prefix=.. >> %QTDIR%\qt.conf + - type %QTDIR%\qt.conf + # Puth Qt in the path + - path %QTDIR%;%PATH% + - qmake --version + + # Appveyour has Mingw 4.8.3 at the moment which is incompatible with Qt 4.8.7 + # Get the matching compiler for Qt 4.8.7 + - cd %topDIR% + # try to use my dropbox, as SF seems to be unreachable... + #curl -kLO http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.8.2/threads-posix/dwarf/i686-4.8.2-release-posix-dwarf-rt_v3-rev3.7z + - curl -kLO https://www.dropbox.com/s/ww0jetzg6gkpdis/i686-4.8.2-release-posix-dwarf-rt_v3-rev3.7z + - dir + - 7z x i686-4.8.2-release-posix-dwarf-rt_v3-rev3.7z > nul + - dir + # Mingw 4.8.2 should be fist in the path (inserted after Strawberry Perl install , which puts yet another compiler on the path) + #- path %topDir%\mingw32\bin;%PATH% + #- g++ --version + + # Flex and bison are provided with Git + - flex --version + - bison --version + + # Build ADMS + # * amds-2.3.4 depends on Bison 2.6 + # * adms-master depends on Bison 2.4, using master till next ADMS release + # Get Strawberry Perl to bootstrap ADMS (XML:LibXML is already included) + # need to keep c\bin because libxml is in there, but there is a gcc 4.8.3 in there + # mingw 4.8.2 should come first in the path + - choco install -y strawberryperl + - path C:\Strawberry\perl\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\c\bin;%PATH% + - g++ --version + + # Put Mingw 4.8.2 first in the path + - path %topDir%\mingw32\bin;%PATH% + - g++ --version + + # Install ADMS from tarball + #- curl -kLO http://sourceforge.net/projects/mot-adms/files/adms-source/2.3/adms-2.3.4.tar.gz + #- 7z x adms-2.3.4.tar.gz > nul + #- 7z x adms-2.3.4.tar + #- cd adms-2.3.4 + #- mkdir cmake_build + #- cd cmake_build + #- cmake .. -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX="C:\projects\test-appveyor\local\adms" + #- mingw32-make install + # + # Install ADMS from repository (this works with Bison 2.4, switch back to tarball after next ADMS release) + - cd %topDIR% + - git clone --depth=1 --branch=master https://github.com/Qucs/ADMS.git adms-master + - cd adms-master + - mkdir cmake_build + - cd cmake_build + - cmake .. -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX="C:\projects\test-appveyor\local\adms" -DUSE_MAINTAINER_MODE=ON + - mingw32-make install + + # Add ADMS in the path + - path C:\projects\test-appveyor\local\adms\bin;%PATH% + - admsXml --version + + # Get geperf, download, extract add to path + - cd %topDIR% + - curl -kLO http://sourceforge.net/projects/gnuwin32/files/gperf/3.0.1/gperf-3.0.1-bin.zip + - 7z x gperf-3.0.1-bin.zip -ogperf + - path %topDIR%\gperf\bin;%PATH% + - gperf --version + + +build_script: + + # Check if we have everything we need on the path. + - g++ --version + - qmake --version + - admsXml --version + - gperf --version + - flex --version + - bison --version + - cmake --version + + # Build Qucs-GUI + - cd %topDIR% + - cd qucs + - mkdir cmake_build + - cd cmake_build + - cmake .. -G "MinGW Makefiles" + - mingw32-make + + # Build Qucs-core + - cd %topDIR% + - cd qucs-core + - mkdir cmake_build + - cd cmake_build + - cmake .. -G "MinGW Makefiles" + - mingw32-make From 37c45b454e947ea63af3fa756b0c60414247580e Mon Sep 17 00:00:00 2001 From: Guilherme Brondani Torri Date: Sat, 4 Jul 2015 21:39:06 +0200 Subject: [PATCH 2/2] Add Appveyor badge to README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1b8c69445f..744ec9b7ae 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ [![Build Status](https://travis-ci.org/Qucs/qucs.svg?branch=master)](https://travis-ci.org/Qucs/qucs) +[![Build status](https://ci.appveyor.com/api/projects/status/6wm4mmnk59h7soh1/branch/master?svg=true)](https://ci.appveyor.com/project/qucs/qucs/branch/master) [![Coverage Status](https://img.shields.io/coveralls/Qucs/qucs.svg)](https://coveralls.io/r/Qucs/qucs?branch=master) ## QUCS - Quite Universal Circuit Simulator