#---------------------------------*- sh -*------------------------------------- # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | # \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation # \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM. # # OpenFOAM is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # OpenFOAM is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # for more details. # # You should have received a copy of the GNU General Public License # along with OpenFOAM. If not, see . # # File # etc/tools/QtFunction # # Description # Functions for helping relocate a QT installation # #------------------------------------------------------------------------------ # # Create a qt.conf file in the QT bin/ # - this can be modified easily if the qt installation is relocated # createQtConf() { echo "create:" echo " $QT_ARCH_PATH/bin/qt.conf" [ -n "$QT_ARCH_PATH" -a -d "$QT_ARCH_PATH/bin" ] || { echo "Error: QT_ARCH_PATH not correctly set" return } echo "[Paths]" > $QT_ARCH_PATH/bin/qt.conf echo "Prefix=$QT_ARCH_PATH" >> $QT_ARCH_PATH/bin/qt.conf } # # Adjust pkgconfig information # to generalize *location=, -L/... and -I/... # to use ${prefix} # adjustPkgConfig() { echo "edit pkgconfig:" echo " $QT_ARCH_PATH/lib/pkgconfig/*.pc" [ -n "$QT_ARCH_PATH" -a -d "$QT_ARCH_PATH/lib/pkgconfig" ] || { echo "Error: QT_ARCH_PATH not correctly set" return } ( cd $QT_ARCH_PATH/lib/pkgconfig || exit unset nfiles for i in *.pc do if [ -f "$i" ] then nfiles="x$nfiles" sed -i \ -e 's@\(location=\)'"$QT_ARCH_PATH/"'@\1${prefix}/@' \ -e 's@\(-[IL]\)'"$QT_ARCH_PATH/"'@\1${prefix}/@g' \ $i fi done echo " edited ${#nfiles} files" ) } # # Change prefix=... and Prefix=... to use ${prefix} # changePrefix() { echo "relocate QT installation to new prefix directory:" echo " $QT_ARCH_PATH" echo "edit:" echo " $QT_ARCH_PATH/bin/qt.conf" echo " $QT_ARCH_PATH/lib/pkgconfig/*.pc" [ -n "$QT_ARCH_PATH" -a -d "$QT_ARCH_PATH/bin" -a -d "$QT_ARCH_PATH/lib/pkgconfig" ] || { echo "Error: QT_ARCH_PATH not correctly set" return } # adjust qt.conf for i in $QT_ARCH_PATH/bin/qt.conf do if [ -f "$i" ] then nfiles="x$nfiles" sed -i \ -e 's@^\([Pp]refix=\).*$@\1'"$QT_ARCH_PATH@" \ $i echo " edited 1 file" fi done # adjust pkgconfig files ( cd $QT_ARCH_PATH/lib/pkgconfig || exit unset nfiles for i in *.pc do if [ -f "$i" ] then nfiles="x$nfiles" sed -i \ -e 's@^\([Pp]refix=\).*$@\1'"$QT_ARCH_PATH@" \ $i fi done echo " edited ${#nfiles} files" ) } # ------------------------------------------------------------------------------ # # create qt.conf and adjustPkgConfig to use ${prefix} internally # finalizeQt() { echo "Create/Edit files to ease later relocation of a QT installation" createQtConf adjustPkgConfig } # ----------------------------------------------------------------- end-of-file