You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
if [[ "$PYTHON" == "3" ]]; then PYTHON_LIB='python'; else PYTHON_LIB=python@2; CMAKE_MACOS_PYTHON2_EXTRA_FLAGS="-DPYTHON_LIBRARY=$(python-config --prefix)/lib/libpython2.7.dylib -DPYTHON_INCLUDE_DIR=$(python-config --prefix)/include/python2.7"; fi
39
+
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
40
+
NPROC="sysctl -n hw.ncpu"
41
+
if [[ "$PYTHON" == "3" ]]; then PYTHON_LIB='python'; else PYTHON_LIB=python@2; CMAKE_PYTHON2_EXTRA_FLAGS="-DPYTHON_LIBRARY=$(python-config --prefix)/lib/libpython2.7.dylib -DPYTHON_INCLUDE_DIR=$(python-config --prefix)/include/python2.7"; fi
75
42
brew cask uninstall --force oclint
76
-
if [[ -z "$DISABLE_GTK" ]]; then GTK_PKG=gtk; else GTK_PKG=""; fi
77
43
if [[ -z "$DISABLE_CAIRO" ]]; then CAIRO_PKG=cairo; else CAIRO_PKG=""; fi
if [[ "$COMPILER" == "c++" ]]; then COMPILER_PKG=gcc-c++; else COMPILER_PKG="clang gcc-c++"; fi
100
-
if [[ -z "$DISABLE_GTK" ]]; then GTK_PKG=gtk2-devel; else GTK_PKG=""; fi
101
-
if [[ -z "$DISABLE_CAIRO" ]]; then CAIRO_PKG=cairo-devel; else CAIRO_PKG=""; fi
52
+
NPROC=nproc
53
+
if [[ "$PYTHON" == "3" ]]; then PYTHON_LIB='python3'; else PYTHON_LIB=python; CMAKE_PYTHON2_EXTRA_FLAGS="-DPYTHON_LIBRARY=$(python-config --configdir)/libpython2.7.so -DPYTHON_INCLUDE_DIR=$(python-config --prefix)/include/python2.7"; fi
54
+
if [[ -z "$DISABLE_CAIRO" ]]; then CAIRO_PKG=libcairo2-dev; else CAIRO_PKG=""; fi
- if [[ "$DOCKER" =~ fedora ]]; then PKG_INSTALL_STRING="dnf install -y make cmake pkg-config $COMPILER_PKG $PYTHON_LIB-devel $GTK_PKG $CAIRO_PKG mpfr-devel"; fi
104
-
- if [[ "$DOCKER" =~ opensuse ]]; then PKG_INSTALL_STRING="zypper install -y cmake pkg-config $COMPILER_PKG $PYTHON_LIB-devel python$PYTHON-pip $GTK_PKG $CAIRO_PKG mpfr-devel"; fi
105
-
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then $SH_PREFIX sh -c "$PKG_INSTALL_STRING"; fi
106
-
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then PIP_INSTALL_STRING="pip$PYTHON install coverage pytest"; fi
107
-
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then $SH_PREFIX sh -c "$PIP_INSTALL_STRING"; fi
- if [[ -n "$COVERAGE" ]]; then CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_BUILD_TYPE=Debug -DCOVERAGE=ON"; else CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_BUILD_TYPE=Release"; fi
113
64
- if [[ "$TRAVIS_BRANCH" == master ]]; then CMAKE_ARGS="$CMAKE_ARGS -DWERROR=ON"; fi
- if [[ -n "$COVERAGE" ]]; then $SH_PREFIX make tests; else $SH_PREFIX make; fi
117
-
- $SH_PREFIX ctest -L "primary"
118
-
- if [[ -z "$COVERAGE" ]]; then $SH_PREFIX make install; fi
119
-
- if [[ -z "$COVERAGE" ]]; then $SH_PREFIX sh -c 'cp -Rf tutorials ~/tutorials'; fi
120
-
- if [[ -z "$COVERAGE" ]]; then $SH_PREFIX sh -c 'cd ~/tutorials/hybrid_evolution && cmake . '$CMAKE_ARGS; fi
121
-
- if [[ -z "$COVERAGE" ]]; then $SH_PREFIX sh -c 'cd ~/tutorials/hybrid_evolution && make'; fi
122
-
- if [[ -z "$COVERAGE" ]]; then $SH_PREFIX sh -c 'cd ~/tutorials/hybrid_evolution && ./hybrid_evolution_tutorial -v 0 > /dev/null'; fi
123
-
- if [[ -z "$COVERAGE" ]]; then $SH_PREFIX sh -c 'cd ~/tutorials/rigorous_numerics && cmake . '$CMAKE_ARGS; fi
124
-
- if [[ -z "$COVERAGE" ]]; then $SH_PREFIX sh -c 'cd ~/tutorials/rigorous_numerics && make'; fi
125
-
- if [[ -z "$COVERAGE" ]]; then $SH_PREFIX sh -c 'cd ~/tutorials/rigorous_numerics && ./rigorous_numerics_tutorial > /dev/null'; fi
126
-
- if [[ -z "$COVERAGE" ]]; then $SH_PREFIX sh -c 'mkdir ~/tutorials/python && cp -Rf python/tutorials/* ~/tutorials/python'; fi
127
-
- if [[ -z "$COVERAGE" ]]; then $SH_PREFIX sh -c 'export LD_LIBRARY_PATH=/usr/local/lib && cd ~/tutorials/python && python'$PYTHON' tutorial.py > /dev/null'; fi
65
+
- cmake . $CMAKE_ARGS
66
+
- if [[ -n "$COVERAGE" ]]; then make tests -j $($NPROC); else make -j $($NPROC); fi
67
+
- ctest -L "primary" -j $($NPROC)
68
+
- |
69
+
if [[ -z "$COVERAGE" ]]; then
70
+
sudo make install
71
+
cp -Rf tutorials ~/tutorials
72
+
cd ~/tutorials/hybrid_evolution
73
+
cmake . $CMAKE_ARGS
74
+
make -j $($NPROC)
75
+
./hybrid_evolution_tutorial -v 0 > /dev/null
76
+
cd ~/tutorials/rigorous_numerics
77
+
cmake . $CMAKE_ARGS
78
+
make -j $($NPROC)
79
+
./rigorous_numerics_tutorial > /dev/null
80
+
mkdir ~/tutorials/python
81
+
cd $TRAVIS_BUILD_DIR
82
+
cp -Rf python/tutorials/* ~/tutorials/python
83
+
export LD_LIBRARY_PATH=/usr/local/lib
84
+
cd ~/tutorials/python
85
+
python$PYTHON tutorial.py > /dev/null
86
+
fi
128
87
129
88
after_success:
130
-
- if [[ -n "$COVERAGE" ]]; then bash <(curl -s https://codecov.io/bash); fi
Copy file name to clipboardExpand all lines: README.md
+10-4Lines changed: 10 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@
7
7
Ariadne is a tool for reachability analysis and model checking of hybrid systems. Additionally, it is a framework for rigorous computation featuring arithmetic, linear algebra, calculus, geometry, algebraic and differential equations, and optimization solvers.
8
8
9
9
* This repository contains the main development fork of the tool. For a more stable version with a less sophisticated user interface, see the *release-1.0* repository.
10
-
*The latest internal release is [v1.9.2](https://github.com/ariadne-cps/ariadne/releases/tag/v1.9.2). However, the code in the master branch should always be usable.
10
+
*For the latest internal release, see the [releases](https://github.com/ariadne-cps/ariadne/releases) page. However, the code in the master branch should always be usable.
11
11
12
12
### Installation ###
13
13
@@ -19,21 +19,27 @@ The build system is CMake. The library is tested for compilation using gcc and c
19
19
20
20
#### Dependencies
21
21
22
-
The only required library dependencies of Ariadne are GMP and MPFR. If you want to enable the graphical output you will require Cairo (to save into png files) and GTK2 (for window display). Finally, the Python bindings require the Python headers (either Python 2 or 3 are supported). In particular for Python, there is an internal Git submodule dependency on the header-only [pybind11](https://github.com/pybind/pybind11) library. Therefore in order to fetch the dependency, Git must be installed.
22
+
The only required library dependencies of Ariadne are GMP and MPFR. If you want to enable the graphical output you will require Cairo in order to save into png files. Finally, the Python bindings require the Python headers (either Python 2 or 3 are supported). In particular for Python, there is an internal Git submodule dependency on the header-only [pybind11](https://github.com/pybind/pybind11) library. Therefore in order to fetch the dependency, Git must be installed.
23
23
24
24
Finally, if you want to build the documentation, you need Doxygen and a working Latex distribution (including the Math packages).
25
25
26
26
Specific instructions for Ubuntu and macOS follow (documentation packages are excluded).
0 commit comments