Skip to content

Update to use newer cmake and for Wine/MSYS2 #1067

Update to use newer cmake and for Wine/MSYS2

Update to use newer cmake and for Wine/MSYS2 #1067

Workflow file for this run

name: build
on: [push]
jobs:
build-linux:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v1
- name: prerequisites
run: |
sudo apt update --allow-unauthenticated --allow-insecure-repositories &&
sudo apt install libsword-common libsword-dev git cmake build-essential libreadline-dev libboost-dev libboost-filesystem-dev\
sqlite3 python3 python3-pexpect \
texlive-latex-recommended texlive-latex-extra texlive-science texlive-lang-european texlive-lang-german \
r-base-core pdf2svg highlight
- name: prerequisites2
run: |
wget http://http.us.debian.org/debian/pool/main/s/sm/r-cran-sm_2.2-5.6-1+b2_amd64.deb &&
sudo dpkg -i r-cran-sm_2.2-5.6-1+b2_amd64.deb
- name: make-native
run: |
mkdir build
cd build
cmake ..
make
make install || true
- name: prerequisites-qt
run: |
sudo apt install qt6-base-dev qt6-tools-dev qt6-tools-dev-tools qt6-l10n-tools linguist-qt6 libgl1-mesa-dev freeglut3-dev
- name: make-qt
run: |
mkdir build-qt
cd build-qt
cmake ../qt
make
- name: install-emscripten
run: |
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
./emsdk install 2.0.22
./emsdk activate 2.0.22
- name: make-sword-wasm
run: |
. emsdk/emsdk_env.sh
git clone https://github.com/kovzol/crosswire-sword-mirror
cd crosswire-sword-mirror
mkdir build
cd build
emcmake cmake ..
emmake make sword_static
- name: make-wasm
run: |
. emsdk/emsdk_env.sh
yes | emmake make
- name: db-full
run: cd docs/common && make && make svgs && make statements.brst.html
- name: doc-hu
run: cd docs/hu && make || true # LaTeX seems to be broken on Ubuntu 22.04...
build-windows:
runs-on: windows-2019
defaults:
run:
shell: msys2 {0}
steps:
- name: Sparse checkout
shell: bash
run: |
REPO="https://${GITHUB_ACTOR}:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git"
BRANCH="${GITHUB_REF/#refs\/heads\//}"
echo "Syncing repository: $GITHUB_REPOSITORY"
echo "Working directory is '$(pwd)' GITHUB_WORKSPACE=$GITHUB_WORKSPACE BRANCH=$BRANCH"
git version
git init $GITHUB_WORKSPACE
git remote add origin https://github.com/$GITHUB_REPOSITORY
git config --local gc.auto 0
git config core.protectNTFS false
git -c protocol.version=2 fetch --no-tags --prune --progress --depth=10 origin +${GITHUB_SHA}:refs/remotes/origin/${BRANCH}
git sparse-checkout set --no-cone '/*' '!examples' '!docs'
git checkout --progress --force -B $BRANCH refs/remotes/origin/$BRANCH
- name: Install Prerequisites
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: true
install: >-
base-devel
mingw-w64-x86_64-gcc
mingw-w64-x86_64-make
mingw-w64-x86_64-cmake
mingw-w64-x86_64-pkgconf
mingw-w64-x86_64-boost
mingw-w64-x86_64-clang
mingw-w64-x86_64-qt6-base
mingw-w64-x86_64-qt6-tools
mingw-w64-x86_64-qt6-translations
mingw-w64-x86_64-readline
mingw-w64-x86_64-zlib
- name: Build SWORD
run: |
wget https://www.crosswire.org/ftpmirror/pub/sword/source/v1.9/sword-1.9.0.tar.gz
mkdir orig
cd orig
tar xzf ../sword-1.9.0.tar.gz || true
patch -i ../sword-patch-mingw64.diff -p1
cp ../FindRegex.cmake sword-1.9.0/cmake # avoid use /usr/include on Wine/MSYS2
sed -i 's/2.6.0/3.5.0/' CMakeLists.txt # eliminate some warnings and force newer cmake settings
cd sword-1.9.0
mkdir build
cd build
# Install SWORD in /mingw64 (which is usually C:/msys64/mingw64 on normal installations):
CC=clang CXX=clang++ cmake -DCMAKE_INSTALL_PREFIX=/mingw64 -DSWORD_LINK_LIBRARIES="-lcurl" -G "MinGW Makefiles" ..
mingw32-make install
- name: Build bibref-qt
run: |
cd qt
mkdir build
cd build
CC=clang CXX=clang++ cmake -G "MinGW Makefiles" ..
mingw32-make