diff --git a/build.sh b/build.sh index 1887403cb05c397cd3dd82eb051022db8df48a2c..2c2ec547dd617a40357beaa3c621869db02da321 100755 --- a/build.sh +++ b/build.sh @@ -10,26 +10,42 @@ scdir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" builddir="$scdir"/build fbxsdkdir="$builddir"/fbxsdk fbxpydir="$builddir"/fbxpy +reqsfile="${scdir}"/reqs.txt [ -d "$builddir" ] || mkdir "$builddir" -# Download fbxsdk and fbxsdk python bindings -while read l; do curl -L -O $l; done < "$scdir"/reqs.txt -ls -1 *.tar.gz|while read a;do tar -xvzf "$a" -C "$builddir";done -rm fbx*.tar.gz - -# install fbxsdk -[ -d "$fbxsdkdir" ] || (mkdir "$fbxsdkdir" && printf "yes\nn\n" |"$builddir"/fbx*fbxsdk_linux "$fbxsdkdir") - -# install fbxsdk python bindings -[ -d "$fbxpydir" ] || (mkdir "$fbxpydir" && printf "yes\nn\n" |"$builddir"/fbx*fbxpythonbindings_linux "$fbxpydir") - -# patch sip files and library headers so that they compile with sip5 -patch -p0 < patch - -# patch libfbxsdk.so because it is not linked against libxml2 and libz for some reason -patchelf --add-needed libz.so.1 ${fbxsdkdir}/lib/gcc/x64/release/libfbxsdk.so -patchelf --add-needed libxml2.so.2 ${fbxsdkdir}/lib/gcc/x64/release/libfbxsdk.so +# download fbxsdk +if [ ! -d "$fbxsdkdir" ] +then + mkdir "$fbxsdkdir" + url=$(grep 'fbx.*fbxsdk' $reqsfile) + file=${url##*/} + tar="${fbxsdkdir}/${f}" + curl -L -o "$tar" $url + tar -xvzf "$tar" -C "$fbxsdkdir" + printf "yes\nn\n" |"$fbxsdkdir"/fbx*fbxsdk_linux "$fbxsdkdir" + # patch libfbxsdk.so because it is not linked against libxml2 and libz for some reason + patchelf --add-needed libz.so.1 ${fbxsdkdir}/lib/gcc/x64/release/libfbxsdk.so + patchelf --add-needed libxml2.so.2 ${fbxsdkdir}/lib/gcc/x64/release/libfbxsdk.so +else + echo "Skipping installation of fbxsdk because "$fbxsdkdir" exists" +fi + +# download fbxsdk python bindings +if [ ! -d "$fbxpydir" ] +then + mkdir "$fbxpydir" + url=$(grep 'fbx.*fbxpythonbindings_linux' $reqsfile) + file=${url##*/} + tar="${fbxpydir}/${f}" + curl -L -o "$tar" $url + tar -xvzf "$tar" -C "$fbxpydir" + printf "yes\nn\n"|"$fbxpydir"/fbx*fbxpythonbindings_linux "$fbxpydir" + # patch sip files and library headers so that they compile with sip5 + patch -N -p0 < patch +else + echo "Skipping installation of fbx python bindings because "$fbxpydir" exists" +fi sip-wheel --verbose -LD_LIBRARY_PATH=$(pwd)/build/fbxsdk/lib/gcc/x64/release/:$LD_LIBRARY_PATH auditwheel -v repair $(ls -1t fbx*.whl|head -1) +LD_LIBRARY_PATH=${fbxsdkdir}/lib/gcc/x64/release/:$LD_LIBRARY_PATH auditwheel -v repair $(ls -1t fbx*.whl|head -1)