Skip to content
This repository has been archived by the owner on Oct 7, 2023. It is now read-only.

Commit

Permalink
Merge pull request Qucs#621 from Qucs/release-0.0.19
Browse files Browse the repository at this point in the history
Merge release branch into master
  • Loading branch information
guitorri committed Jan 22, 2017
2 parents 9d924ca + 2515339 commit 373d737
Show file tree
Hide file tree
Showing 315 changed files with 12,253 additions and 9,799 deletions.
79 changes: 50 additions & 29 deletions .appveyor.yml
@@ -1,28 +1,36 @@
environment:
matrix:
- MSYSTEM : MINGW64
MBITS: 64
MARCH: x86_64
- MSYSTEM : MINGW32
MBITS: 32
MARCH: i686

platform:
- x64

cache:
- C:\msys64\var\cache\pacman\pkg\mingw-w64-x86_64-qt4* -> .appveyor.yml
#cache:
# - C:\msys64\var\cache\pacman\pkg\mingw-w64-x86_64-qt4* -> .appveyor.yml

install:

# Take a look at the environment
- set

- set "PATH=C:\msys64\usr\bin;C:\msys64\mingw64\bin;%PATH%"
- set "PATH=C:\msys64\usr\bin;C:\msys64\mingw%MBITS%\bin;%PATH%"

- C:\msys64\usr\bin\bash -lc ""
- C:\msys64\usr\bin\bash -lc "pacman --version"
- C:\msys64\usr\bin\bash -lc "pacman -Q"
- bash -lc ""
- bash -lc "pacman --version"
- bash -lc "pacman -Q"
# Switch from SF to msys2.org (default, much faster)
- C:\msys64\usr\bin\bash -lc "pacman --noconfirm --sync pacman-mirrors"
- C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S autoconf automake bison flex"
- C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S mingw-w64-x86_64-qt4"

- bash -lc "pacman --noconfirm --sync pacman-mirrors"
- bash -lc "pacman --noconfirm -S autoconf automake bison flex"
- bash -lc "pacman --noconfirm -S mingw-w64-%MARCH%-qt4"
# Set compiler (64bit)
- set "CC=/c/msys64/mingw64/bin/gcc.exe"
- set "CXX=/c/msys64/mingw64/bin/g++.exe"
- set "CC=/c/msys64/mingw%MBITS%/bin/gcc.exe"
- set "CXX=/c/msys64/mingw%MBITS%/bin/g++.exe"


build_script:
Expand All @@ -31,31 +39,27 @@ build_script:

## Other dependencies
# Download, build and install ADMS
- bash -lc "exec 0</dev/null && wget.exe http://sourceforge.net/projects/mot-adms/files/adms-source/2.3/adms-2.3.4.tar.gz"
- bash -lc "exec 0</dev/null && tar xvfz adms-2.3.4.tar.gz"
- bash -lc "exec 0</dev/null && cd adms-2.3.4/ && ./configure --build=x86_64-w64-mingw32 && make install && cd -"
- bash -lc "exec 0</dev/null && wget.exe http://sourceforge.net/projects/mot-adms/files/adms-source/2.3/adms-2.3.6.tar.gz"
- bash -lc "exec 0</dev/null && tar xvfz adms-2.3.6.tar.gz"
- bash -lc "exec 0</dev/null && cd adms-2.3.6/ && ./configure && make install && cd -"
- bash -lc "exec 0</dev/null && admsXml -h"

## Build Qucs-GUI applications
## Build Qucs-GUI applications and install
- bash -lc "exec 0</dev/null && cd $APPVEYOR_BUILD_FOLDER/qucs && ./bootstrap"
- bash -lc "exec 0</dev/null && cd $APPVEYOR_BUILD_FOLDER/qucs && export QTDIR=/c/msys64/mingw64/ && ./configure"
- bash -lc "exec 0</dev/null && cd $APPVEYOR_BUILD_FOLDER/qucs && make install"
- bash -lc "exec 0</dev/null && qucs -v"
- bash -lc "exec 0</dev/null && cd $APPVEYOR_BUILD_FOLDER/qucs && export QTDIR=/c/msys64/mingw%MBITS% && ./configure --prefix=/c/qucs-win%MBITS% --disable-dependency-tracking"
- bash -lc "exec 0</dev/null && cd $APPVEYOR_BUILD_FOLDER/qucs && make -j2 install"
- bash -lc "exec 0</dev/null && cd /c/qucs-win%MBITS%/bin && ./qucs -v"

## Build Qucs-core
## Build Qucs-core and install
- bash -lc "exec 0</dev/null && cd $APPVEYOR_BUILD_FOLDER/qucs-core && ./bootstrap"
- bash -lc "exec 0</dev/null && cd $APPVEYOR_BUILD_FOLDER/qucs-core && ./configure --disable-dependency-tracking --with-mkadms=`which admsXml`"
- bash -lc "exec 0</dev/null && cd $APPVEYOR_BUILD_FOLDER/qucs-core && make install"
- bash -lc "exec 0</dev/null && qucsator -v"
- bash -lc "exec 0</dev/null && cd $APPVEYOR_BUILD_FOLDER/qucs-core && ./configure --prefix=/c/qucs-win%MBITS% --with-mkadms=`which admsXml` --disable-dependency-tracking"
- bash -lc "exec 0</dev/null && cd $APPVEYOR_BUILD_FOLDER/qucs-core && make -j2 install"
- bash -lc "exec 0</dev/null && cd /c/qucs-win%MBITS%/bin && ./qucsator -v"

## Prepare simple redistributable package (no qucs-doc)
# Install to a destination
- bash -lc "exec 0</dev/null && cd $APPVEYOR_BUILD_FOLDER/qucs && make install DESTDIR=/c/qucs-win64"
- bash -lc "exec 0</dev/null && cd $APPVEYOR_BUILD_FOLDER/qucs-core && make install DESTDIR=/c/qucs-win64"

# Copy required libraries, make binaries usable from command line, Windows Explorer
- set QTDIR=c:\msys64\mingw64\
- set QUCSDIR=c:\qucs-win64\usr\local\
- set QTDIR=c:\msys64\mingw%MBITS%\
- set QUCSDIR=c:\qucs-win%MBITS%\
- cp %QTDIR%\bin\Qt3Support4.dll %QUCSDIR%\bin
- cp %QTDIR%\bin\QtCore4.dll %QUCSDIR%\bin
- cp %QTDIR%\bin\QtGui4.dll %QUCSDIR%\bin
Expand All @@ -68,7 +72,10 @@ build_script:
- cp %QTDIR%\bin\libstdc++-6.dll %QUCSDIR%\bin
- cp %QTDIR%\bin\libwinpthread-1.dll %QUCSDIR%\bin
- cp %QTDIR%\bin\libpng16-16.dll %QUCSDIR%\bin
- cp %QTDIR%\bin\zlib1.dll %QUCSDIR%\bin

- if "%MSYSTEM%" == "MINGW32" (cp %QTDIR%\bin\libgcc_s_dw2-1.dll %QUCSDIR%\bin) else (cp %QTDIR%\bin\libgcc_s_seh-1.dll %QUCSDIR%\bin)

# Run from windows cmd
- cd %QUCSDIR%\bin
- qucs.exe -v
Expand All @@ -78,3 +85,17 @@ build_script:
# * one could zip the %QUCSDIR% and use it for testing
# * perhaps it is best we finish the top level 'make dist',
# doing so it is easier to create tarballs, build the binaries from it and distribute both.

after_build:
# artifacts path is always relative to build folder, so put the zip there
- 7z a %APPVEYOR_BUILD_FOLDER%\qucs-win%MBITS%.zip %QUCSDIR%

artifacts:
# variables here must use the PowerShell syntax
- path: qucs-win$(MBITS).zip
name: qucs-win$(MBITS).zip

#on_failure:
# - bash -lc "exec 0</dev/null && cat $APPVEYOR_BUILD_FOLDER/qucs/config.log"
# - ps: Get-ChildItem .\*.log -Recurse | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }

54 changes: 30 additions & 24 deletions .gitignore
@@ -1,12 +1,14 @@
<<<<<<< HEAD
# Qucs Specific #
######################
#################
*/src/qucsator
*/src/converter/qucsconv
*/src/gperfappgen
qucs_typedefs.h
*/src/components/verilog/discipline.vams

# Verilog-A generated files
qucs-core/src/components/verilog/*.cpp

# Following files generated by lex and yacc

# qucsator generated files (in qucs-core/src)
Expand Down Expand Up @@ -88,7 +90,6 @@ Makefile.in
Makefile
stamp-h1
missing
configure
config.guess
config.h
config.sub
Expand All @@ -102,7 +103,6 @@ depcomp
install-sh
libtool
autom4te.cache/
aclocal.m4
auxconf/
libltdl/
libtool.m4
Expand All @@ -112,7 +112,6 @@ ltversion.m4
lt~obsolete.m4
ltmain.sh


# Unknown #
###########
*.output
Expand All @@ -128,6 +127,9 @@ ltmain.sh
*.mex*
*.pyc
moc_*.cpp
moc_*.cxx
qrc_*.cpp
qrc_*.cxx
.libs

# Packages #
Expand Down Expand Up @@ -174,35 +176,39 @@ qucs/contrib/doxygen/html/
# created by Qt Creator
CMakeLists.txt.user

# emacs #
#########
# dot hash files (write locks)
.\#*

=======
*.o
*.cpp~
*.h~
qucsactivefilter
*.pro.user
Makefile
moc_*.cpp
# Qucs user files #
###################
# ignore schematics, data display and data
*.sch
*.sch~
*.dat
*.dpl
qrc_*.cpp
moc_*.cxx
qrc_*.cxx
CMakeFiles
CMakeCache.txt
*.cmake
*.depends
*.dat
# except in the examples/ directory
!examples/*.sch
!examples/*.dpl

# Xcode
# Xcode #
#########
DerivedData
*.build
Debug
*.xcodeproj

#Others
# Others #
##########
CMakeScripts
*.cxx_parameters
shadow

########
qucsactivefilter
*.pro.user

CMakeFiles
CMakeCache.txt
*.cmake
*.depends
45 changes: 36 additions & 9 deletions .travis.yml
Expand Up @@ -29,11 +29,19 @@ python:
virtualenv:
system_site_packages: true

# Force OSX 10.10 as Qt 4.8.7 installer does not work with OSX 10.11
osx_image: xcode6.4

matrix:
exclude:
- os: osx
compiler: gcc

addons:
apt:
packages:
- octave

# Set secure environment with encrypted string containing GIT_NAME, GIT_EMAIL and GH_TOKEN
env:
global:
Expand All @@ -49,6 +57,10 @@ before_install:

- if [[ $TRAVIS_BRANCH == master ]] ; then MASTER=true; fi

- which $CC
# workaround clang not system wide, fail on sudo make install for adms
- export CC=`which $CC`

# Set xvfb for headless qucs GUI test
- "export DISPLAY=:99.0"
- if [[ $LINUX ]]; then sh -e /etc/init.d/xvfb start; fi
Expand All @@ -67,6 +79,7 @@ install:
sudo apt-get install build-essential;
sudo apt-get install libqt4-dev libqt4-qt3support;
sudo apt-get install automake libtool gperf flex bison;
sudo apt-get install latex2html;
fi

# We want to compile with g++ 4.8 when rather than the default g++
Expand All @@ -82,9 +95,9 @@ install:
sudo pip install cpp-coveralls ;
fi

# Set up for Doxygen
# Set up for Doxygen and qucs-doc PDF build
- if [[ $LINUX && $CLANG ]]; then
sudo apt-get install -qq doxygen texlive graphviz ;
sudo apt-get install -qq doxygen texlive texlive-math-extra texlive-science transfig gnuplot texlive-publishers graphviz ;
fi

# Qucs-Test uses Numpy to compare results
Expand All @@ -99,6 +112,7 @@ install:
brew link --force flex;
brew install bison;
brew link --force bison;
brew install python;
pip install matplotlib;
fi

Expand Down Expand Up @@ -140,21 +154,34 @@ script:


# Build ADMS from release (avoid need of Perl and its modules)
# Workaround sourceforge shortage, use personal Dropbox.
# wget http://sourceforge.net/projects/mot-adms/files/adms-source/2.3/adms-2.3.4.tar.gz -O /tmp/adms-2.3.4.tar.gz;
- if [[ $LINUX ]]; then
wget https://www.dropbox.com/s/0d0hbsopb1xdg5y/adms-2.3.4.tar.gz -O /tmp/adms-2.3.4.tar.gz;
tar -xzvf /tmp/adms-2.3.4.tar.gz;
cd adms-2.3.4 && ./configure --prefix=/usr && make && sudo make install && cd ..;
wget http://sourceforge.net/projects/mot-adms/files/adms-source/2.3/adms-2.3.6.tar.gz -O /tmp/adms-2.3.6.tar.gz;
tar -xzvf /tmp/adms-2.3.6.tar.gz;
cd adms-2.3.6 && ./configure --prefix=/usr && make && sudo make install && cd ..;
fi

# Check available tools
- which admsXml && admsXml --version

# run all checks
- ./bootstrap
- ./configure --disable-dependency-tracking --with-gtest=/tmp/gtest
- make distcheck DISTCHECK_CONFIGURE_FLAGS=--with-gtest=/tmp/gtest
- CONFIGURE_FLAGS=--disable-doc
- if [[ $LINUX && $CLANG ]]; then
CONFIGURE_FLAGS="";
fi
- DISTCHECK_CONFIGURE_FLAGS="--with-gtest=/tmp/gtest --disable-dependency-tracking --disable-doc"
- if [[ $LINUX && $CLANG ]]; then
DISTCHECK_CONFIGURE_FLAGS="--with-gtest=/tmp/gtest --enable-doc";
fi
- echo ${CONFIGURE_FLAGS}
- echo ${DISTCHECK_CONFIGURE_FLAGS}
- ./configure --disable-dependency-tracking --with-gtest=/tmp/gtest ${CONFIGURE_FLAGS}
- if [ "$OSX" = true ]; then
make;
make qucscheck;
else
make distcheck DISTCHECK_CONFIGURE_FLAGS="${DISTCHECK_CONFIGURE_FLAGS}";
fi
- echo $TRAVIS_BRANCH

# incomplete
Expand Down
7 changes: 5 additions & 2 deletions Makefile.am
Expand Up @@ -31,9 +31,9 @@ else
DOC_SUBDIR =
endif

SUBDIRS = examples qucs qucs-core $(DOC_SUBDIR)
SUBDIRS = qucs qucs-core $(DOC_SUBDIR)

EXTRA_DIST = bootstrap
EXTRA_DIST = bootstrap VERSION README.md NEWS.md CONTRIBUTING.md

# this is insane. the qucs testsuite needs to be
# - either moved into qucs
Expand All @@ -51,7 +51,10 @@ all-local:
#
MORE_PATH=$(abs_top_builddir)/qucs/qucs:$(abs_top_builddir)/qucs-core/src:$(abs_top_builddir)/qucs-core/src/converter

if QUCS_TEST
check-local: qucsatorcheck eqncheck qucscheck
endif

QUCSTEST_ENV = export PATH=$(MORE_PATH):$(PATH); \
export QUCSCONV=qucsconv; \
export QUCS_LIBDIR=$(abs_top_srcdir)/qucs/qucs-lib/library; \
Expand Down

0 comments on commit 373d737

Please sign in to comment.