@@ -22,17 +22,19 @@ jobs:
2222 - name : ' Windows static - C++'
2323 os : windows-latest
2424 python_bindings : OFF
25- additional_cmake_options : -DLibXml2_DIR="C:\libxml2\libxml2-2.9.10\CMake" -DZLIB_DIR="C:\zlib\lib\cmake\ZLIB-1.2.12"
25+ additional_cmake_options : -DLibXml2_DIR="C:\libxml2\libxml2-2.9.10\CMake" -DSymEngine_DIR="C:\symengine\CMake" - DZLIB_DIR="C:\zlib\lib\cmake\ZLIB-1.2.12"
2626 - name : ' Windows shared - C++/Python'
2727 os : windows-latest
2828 python_bindings : ON
29- additional_cmake_options : -DLibXml2_DIR="C:\libxml2\libxml2-2.9.10\CMake" -DZLIB_DIR="C:\zlib\lib\cmake\ZLIB-1.2.12"
29+ additional_cmake_options : -DLibXml2_DIR="C:\libxml2\libxml2-2.9.10\CMake" -DSymEngine_DIR="C:\symengine\CMake" - DZLIB_DIR="C:\zlib\lib\cmake\ZLIB-1.2.12"
3030 - name : ' Linux static - C++'
3131 os : ubuntu-latest
3232 python_bindings : OFF
33+ additional_cmake_options : -DCMAKE_PREFIX_PATH="$HOME"
3334 - name : ' Linux shared - C++/Python'
3435 os : ubuntu-latest
3536 python_bindings : ON
37+ additional_cmake_options : -DCMAKE_PREFIX_PATH="$HOME"
3638 - name : ' macOS static - C++ (Intel)'
3739 os : macos-15-intel
3840 python_bindings : OFF
@@ -62,12 +64,44 @@ jobs:
6264 - name : Configure MSVC (Windows only)
6365 if : ${{ runner.os == 'Windows' }}
6466 uses : ilammy/msvc-dev-cmd@v1
67+ - name : Install GMP (Windows only)
68+ if : ${{ runner.os == 'Windows' }}
69+ run : |
70+ cd C:\
71+ curl -L https://github.com/cellml/gha/releases/download/gha/gmp-Windows.tar.gz -o gmp.tar.gz -s
72+ tar -xzf gmp.tar.gz
73+ - name : Install GMP (Linux only)
74+ if : ${{ runner.os == 'Linux' }}
75+ run : |
76+ cd $HOME
77+ wget https://github.com/cellml/gha/releases/download/gha/gmp-Linux.tar.gz -O - | tar -xz
78+ - name : Install GMP (macOS only)
79+ if : ${{ runner.os == 'macOS' }}
80+ run : |
81+ cd $HOME
82+ wget https://github.com/cellml/gha/releases/download/gha/gmp-macOS.tar.gz -O - | tar -xz
6583 - name : Install libxml2 (Windows only)
6684 if : ${{ runner.os == 'Windows' }}
6785 run : |
6886 cd C:\
6987 curl -L https://github.com/cellml/gha/releases/download/gha/libxml2-Windows.tar.gz -o libxml2.tar.gz -s
7088 tar -xzf libxml2.tar.gz
89+ - name : Install SymEngine (Windows only)
90+ if : ${{ runner.os == 'Windows' }}
91+ run : |
92+ cd C:\
93+ curl -L https://github.com/cellml/gha/releases/download/gha/symengine-Windows.tar.gz -o symengine.tar.gz -s
94+ tar -xzf symengine.tar.gz
95+ - name : Install SymEngine (Linux only)
96+ if : ${{ runner.os == 'Linux' }}
97+ run : |
98+ cd $HOME
99+ wget https://github.com/cellml/gha/releases/download/gha/symengine-Linux.tar.gz -O - | tar -xz
100+ - name : Install SymEngine (macOS only)
101+ if : ${{ runner.os == 'macOS' }}
102+ run : |
103+ brew update
104+ brew install symengine
71105 - name : Install zlib (Windows only)
72106 if : ${{ runner.os == 'Windows' }}
73107 run : |
@@ -97,17 +131,25 @@ jobs:
97131 uses : cscouto/buildcache-action@v1
98132 - name : Install Emscripten
99133 run : brew install --overwrite emscripten
134+ - name : Install GMP
135+ run : |
136+ cd $HOME
137+ wget https://github.com/cellml/gha/releases/download/gha/gmp-WASM.tar.gz -O - | tar -xz
100138 - name : Install libxml2
101139 run : |
102140 cd $HOME
103141 wget https://github.com/cellml/gha/releases/download/gha/libxml2-WASM.tar.gz -O - | tar -xz
142+ - name : Install SymEngine
143+ run : |
144+ cd $HOME
145+ wget https://github.com/cellml/gha/releases/download/gha/symengine-WASM.tar.gz -O - | tar -xz
104146 - name : Install zlib
105147 run : |
106148 cd $HOME
107149 wget https://github.com/cellml/gha/releases/download/gha/zlib-WASM.tar.gz -O - | tar -xz
108150 - name : Configure libCellML
109151 run : |
110- emcmake cmake -G Ninja -S . -B build-wasm -DBUILD_TYPE=Release -DLIBXML2_INCLUDE_DIR =$HOME/libxml2/include/libxml2 -DLIBXML2_LIBRARY =$HOME/libxml2 /lib/libxml2.a -DZLIB_INCLUDE_DIR =$HOME/zlib/include -DZLIB_LIBRARY=$HOME/zlib/ lib/libz.a
152+ emcmake cmake -G Ninja -S . -B build-wasm -DBUILD_TYPE=Release -DLIBXML2_DIR =$HOME/libxml2/lib/cmake -DSymEngine_DIR =$HOME/symengine /lib/cmake -DZLIB_DIR =$HOME/zlib/lib/cmake
111153 - name : Build libCellML
112154 run : cmake --build build-wasm
113155 - name : Unit testing
@@ -126,15 +168,18 @@ jobs:
126168 sudo apt install clang-format
127169 - name : Install CMake and Ninja
128170 uses : lukka/get-cmake@latest
129- - name : Configure libCellML
171+ - name : Install GMP
130172 run : |
131- mkdir build
132- cd build
133- cmake -G Ninja ..
134- - name : Code formatting
173+ cd $HOME
174+ wget https://github.com/cellml/gha/releases/download/gha/gmp-Linux.tar.gz -O - | tar -xz
175+ - name : Install SymEngine
135176 run : |
136- cd build
137- ninja test_clang_format
177+ cd $HOME
178+ wget https://github.com/cellml/gha/releases/download/gha/symengine-Linux.tar.gz -O - | tar -xz
179+ - name : Configure libCellML
180+ run : cmake -G Ninja -S . -B build -DCMAKE_PREFIX_PATH="$HOME"
181+ - name : Code formatting
182+ run : cmake --build build --target test_clang_format
138183 coverage :
139184 name : Code coverage
140185 runs-on : macos-latest
@@ -151,16 +196,16 @@ jobs:
151196 run : |
152197 brew install --overwrite llvm
153198 echo 'export PATH="/opt/homebrew/opt/llvm/bin:$PATH"' >> ~/.bash_profile
154- - name : Configure libCellML
199+ - name : Install SymEngine
155200 run : |
156- mkdir build
157- cd build
158- cmake -G Ninja -DBINDINGS_PYTHON=OFF ..
201+ brew update
202+ brew install symengine
203+ - name : Configure libCellML
204+ run : cmake -G Ninja -S . -B build -DBINDINGS_PYTHON=OFF
159205 - name : Code coverage
160206 run : |
161- cd build
162- ninja llvm_coverage
163- if [ `ninja llvm_coverage | grep TOTAL | sed 's/ /\n/g' | grep "100.00%" | wc -l | sed 's/ //g'` -eq 4 ]; then exit 0; else exit 1; fi
207+ cmake --build build --target llvm_coverage
208+ if [ `cmake --build build --target llvm_coverage | grep TOTAL | sed 's/ /\n/g' | grep "100.00%" | wc -l | sed 's/ //g'` -eq 4 ]; then exit 0; else exit 1; fi
164209 memory_leaks :
165210 name : Memory leaks
166211 runs-on : ubuntu-latest
@@ -177,15 +222,18 @@ jobs:
177222 run : |
178223 sudo apt update
179224 sudo apt install valgrind
180- - name : Configure libCellML
225+ - name : Install GMP
181226 run : |
182- mkdir build
183- cd build
184- cmake -G Ninja -DBINDINGS_PYTHON=OFF ..
185- - name : Memory leaks
227+ cd $HOME
228+ wget https://github.com/cellml/gha/releases/download/gha/gmp-Linux.tar.gz -O - | tar -xz
229+ - name : Install SymEngine
186230 run : |
187- cd build
188- ninja memcheck
231+ cd $HOME
232+ wget https://github.com/cellml/gha/releases/download/gha/symengine-Linux.tar.gz -O - | tar -xz
233+ - name : Configure libCellML
234+ run : cmake -G Ninja -S . -B build -DBINDINGS_PYTHON=OFF -DCMAKE_PREFIX_PATH="$HOME"
235+ - name : Memory leaks
236+ run : cmake --build build --target memcheck
189237 documentation :
190238 name : Documentation
191239 runs-on : ubuntu-latest
@@ -205,12 +253,15 @@ jobs:
205253 - name : Install Sphinx
206254 run : |
207255 pip3 install sphinx
208- - name : Configure libCellML
256+ - name : Install GMP
209257 run : |
210- mkdir build
211- cd build
212- cmake -G Ninja -DBINDINGS_PYTHON=OFF ..
213- - name : Documentation
258+ cd $HOME
259+ wget https://github.com/cellml/gha/releases/download/gha/gmp-Linux.tar.gz -O - | tar -xz
260+ - name : Install SymEngine
214261 run : |
215- cd build
216- ninja docs
262+ cd $HOME
263+ wget https://github.com/cellml/gha/releases/download/gha/symengine-Linux.tar.gz -O - | tar -xz
264+ - name : Configure libCellML
265+ run : cmake -G Ninja -S . -B build -DBINDINGS_PYTHON=OFF -DCMAKE_PREFIX_PATH="$HOME"
266+ - name : Documentation
267+ run : cmake --build build --target docs
0 commit comments