mirror of
https://develop.openfoam.com/Development/ThirdParty-common.git
synced 2025-12-08 06:57:50 +00:00
149 lines
4.0 KiB
Bash
149 lines
4.0 KiB
Bash
#---------------------------------*- 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 <http://www.gnu.org/licenses/>.
|
|
#
|
|
# 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
|