install dependencies directly instead of using subprojects

pull/11/head
Falk Werner 4 years ago
parent 7d5e4be311
commit 44f809d7bd

@ -37,6 +37,7 @@ env:
before_install:
- sudo pip3 install --system meson
- ./install_deps
before_script:
- meson -Dbuildtype=$BUILD_TYPE -Db_coverage=$COVERAGE build

@ -0,0 +1,72 @@
#!/bin/bash
PACKAGES="libfuse lws jansson"
libfuse_VERSION=3.9.1
libfuse_URL=https://github.com/libfuse/libfuse/archive/fuse-${libfuse_VERSION}.tar.gz
libfuse_MD5=5f7c1062def710d8b60343524a18cc82
libfuse_DIR=libfuse-fuse-${libfuse_VERSION}
libfuse_TYPE=meson
lws_VERSION=3.2.0
lws_URL=https://github.com/warmcat/libwebsockets/archive/v${lws_VERSION}.tar.gz
lws_MD5=1d06f5602604e67e6f50cef9857c6b0c
lws_DIR=libwebsockets-${lws_VERSION}
lws_TYPE=cmake
jansson_VERSION=2.12
jansson_URL=https://github.com/akheron/jansson/archive/v${jansson_VERSION}.tar.gz
jansson_MD5=c4b106528d5ffb521178565de1ba950d
jansson_DIR=jansson-${jansson_VERSION}
jansson_TYPE=cmake
set -e
install_package() {
local PACKAGE="$1"
local PACKAGE_VERSION="${PACKAGE}_VERSION"
local PACKAGE_URL="${PACKAGE}_URL"
local PACKAGE_MD5="${PACKAGE}_MD5"
local PACKAGE_TYPE="${PACKAGE}_TYPE"
local PACKAGE_DIR="${PACKAGE}_DIR"
local FILENAME="${PACKAGE}_${!PACKAGE_VERSION}.tar.gz"
wget "${!PACKAGE_URL}" -O "${FILENAME}"
md5sum -c <(echo "${!PACKAGE_MD5}" "${FILENAME}")
tar -xf ${FILENAME}
case "${!PACKAGE_TYPE}" in
meson)
cd "${!PACKAGE_DIR}"
meson build
cd build
ninja
ninja install
cd ../..
;;
cmake)
mkdir "${!PACKAGE_DIR}/build"
cd "${!PACKAGE_DIR}/build"
cmake ..
make
make install
cd ../..
;;
*)
echo "error: unknown package type ${!PACKAGE_TYPE}"
exit 1
;;
esac
}
CURRENT_DIR=$(pwd)
WORKING_DIR=$(mktemp -d /tmp/install_deps_XXXXXX)
cd ${WORKING_DIR}
for package in ${PACKAGES} ; do
install_package $package
done
cd ${CURRENT_DIR}
#rm -rf ${WORKING_DIR}

@ -8,15 +8,10 @@ openssl_dep = dependency('openssl', version: '>=1.1.1')
libconfig_dep = dependency('libconfig', version: '>=1.5')
pam_dep = c_compiler.find_library('pam')
libwebsockets_dep = dependency('libwebsockets', version: '>=4.0.0', required: false)
if not libwebsockets_dep.found()
cmake = import('cmake')
libwebsockets = cmake.subproject('libwebsockets')
libwebsockets_dep = libwebsockets.dependency('websockets_shared')
endif
libwebsockets_dep = dependency('libwebsockets', version: '>=3.0.0')
jansson_dep = dependency('jansson', version: '>=2.11')
libfuse_dep = dependency('fuse3', version: '>=3.8.0')
jansson_dep = dependency('jansson', version: '>=2.11', fallback: ['jansson', 'jansson_dep'])
libfuse_dep = dependency('fuse3', version: '>=3.8.0', fallback: ['fuse3', 'libfuse_dep'])
webfuse_adapter_dep = dependency('webfuse', version: '>=0.5.0',
fallback: ['webfuse', 'webfuse_dep'], default_options: ['without_tests=true'])

Loading…
Cancel
Save