mirror of
https://develop.openfoam.com/Development/ThirdParty-common.git
synced 2025-12-08 06:57:50 +00:00
ENH: add pkgconf editing into ThirdPartyFunctions
- allows reuse for other packages using pkgconf
This commit is contained in:
@ -4,7 +4,7 @@
|
|||||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
# \\ / O peration |
|
# \\ / O peration |
|
||||||
# \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
# \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
# \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd.
|
# \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd.
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# License
|
# License
|
||||||
# This file is part of OpenFOAM.
|
# This file is part of OpenFOAM.
|
||||||
@ -29,7 +29,7 @@
|
|||||||
# Change prefix when relocating QT installation
|
# Change prefix when relocating QT installation
|
||||||
#
|
#
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
qtVERSION=4.8.7
|
unset qtVERSION # No default version
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# Run from third-party directory only
|
# Run from third-party directory only
|
||||||
@ -42,13 +42,12 @@ wmakeCheckPwd "$WM_THIRD_PARTY_DIR" || {
|
|||||||
. etc/tools/ThirdPartyFunctions
|
. etc/tools/ThirdPartyFunctions
|
||||||
. etc/tools/QtFunctions
|
. etc/tools/QtFunctions
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
exec 1>&2
|
exec 1>&2
|
||||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||||
cat<<USAGE
|
cat<<USAGE
|
||||||
|
|
||||||
usage: ${0##*/} [OPTION] [VERSION]
|
usage: ${0##*/} [OPTION] [qt-VERSION]
|
||||||
options:
|
options:
|
||||||
-force Create qt.conf and edit pkgconfig to use \${prefix}
|
-force Create qt.conf and edit pkgconfig to use \${prefix}
|
||||||
-help
|
-help
|
||||||
@ -62,9 +61,9 @@ USAGE
|
|||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
unset forceOpt
|
unset forceOpt
|
||||||
# parse options
|
|
||||||
|
# Parse options
|
||||||
while [ "$#" -gt 0 ]
|
while [ "$#" -gt 0 ]
|
||||||
do
|
do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
@ -89,11 +88,14 @@ done
|
|||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
QT_ARCH_PATH=$installBASE/qt-$qtVERSION
|
QT_ARCH_PATH=$installBASE/qt-$qtVERSION
|
||||||
|
|
||||||
|
[ -n "$qtVERSION" ] || die "No QT version specified"
|
||||||
|
[ -d "$QT_ARCH_PATH" ] || die "No QT installation"
|
||||||
|
|
||||||
if [ "${forceOpt:-false}" = true ]
|
if [ "${forceOpt:-false}" = true ]
|
||||||
then
|
then
|
||||||
|
# Create qt.conf and adjust locations to use '${prefix}' internally
|
||||||
finalizeQt
|
finalizeQt
|
||||||
fi
|
fi
|
||||||
changePrefix
|
pkgconfigSetPrefix $QT_ARCH_PATH
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
# ----------------------------------------------------------------- end-of-file
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
# \\ / O peration |
|
# \\ / O peration |
|
||||||
# \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
# \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
# \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd.
|
# \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd.
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# License
|
# License
|
||||||
# This file is part of OpenFOAM.
|
# This file is part of OpenFOAM.
|
||||||
@ -26,6 +26,7 @@
|
|||||||
#
|
#
|
||||||
# Description
|
# Description
|
||||||
# Functions for helping relocate a QT installation
|
# Functions for helping relocate a QT installation
|
||||||
|
# To be loaded *after* etc/tools/ThirdPartyFunctions
|
||||||
#
|
#
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -35,114 +36,33 @@
|
|||||||
#
|
#
|
||||||
createQtConf()
|
createQtConf()
|
||||||
{
|
{
|
||||||
echo "create:"
|
local confFile="$QT_ARCH_PATH/bin/qt.conf"
|
||||||
echo " $QT_ARCH_PATH/bin/qt.conf"
|
|
||||||
|
|
||||||
[ -n "$QT_ARCH_PATH" -a -d "$QT_ARCH_PATH/bin" ] || {
|
if [ -n "$QT_ARCH_PATH" -a -d "$QT_ARCH_PATH/bin" ]
|
||||||
|
then
|
||||||
|
/bin/cat << QT_CONF > $confFile
|
||||||
|
[Paths]
|
||||||
|
Prefix=$QT_ARCH_PATH
|
||||||
|
QT_CONF
|
||||||
|
echo " created qt.conf"
|
||||||
|
|
||||||
|
else
|
||||||
echo "Error: QT_ARCH_PATH not correctly set"
|
echo "Error: QT_ARCH_PATH not correctly set"
|
||||||
return
|
fi
|
||||||
}
|
|
||||||
|
|
||||||
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
|
# create qt.conf and adjust locations to use ${prefix} internally
|
||||||
#
|
#
|
||||||
finalizeQt()
|
finalizeQt()
|
||||||
{
|
{
|
||||||
echo "Create/Edit files to ease later relocation of a QT installation"
|
echo "Create/Edit files to ease later relocation of a QT installation"
|
||||||
createQtConf
|
createQtConf
|
||||||
adjustPkgConfig
|
pkgconfigAdjust $QT_ARCH_PATH
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------- end-of-file
|
# -----------------------------------------------------------------------------
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
# \\ / O peration |
|
# \\ / O peration |
|
||||||
# \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
# \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||||
# \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd.
|
# \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd.
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# License
|
# License
|
||||||
# This file is part of OpenFOAM.
|
# This file is part of OpenFOAM.
|
||||||
@ -229,6 +229,79 @@ NOT_FOUND
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Change prefix=... and Prefix=... in pkgconfig
|
||||||
|
#
|
||||||
|
pkgconfigSetPrefix()
|
||||||
|
{
|
||||||
|
local dir="$1"
|
||||||
|
local nfiles
|
||||||
|
|
||||||
|
if [ -n "$dir" -a -d "$dir/lib/pkgconfig" ]
|
||||||
|
then
|
||||||
|
(
|
||||||
|
cd $dir/lib/pkgconfig || exit
|
||||||
|
|
||||||
|
echo "Set pkgconfig prefix : $dir"
|
||||||
|
echo " files ... lib/pkgconfig/*.pc"
|
||||||
|
|
||||||
|
for i in *.pc
|
||||||
|
do
|
||||||
|
if [ -f "$i" ]
|
||||||
|
then
|
||||||
|
nfiles="x$nfiles"
|
||||||
|
sed -i \
|
||||||
|
-e 's@^\([Pp]refix=\).*$@\1'"$dir@" \
|
||||||
|
$i
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo " edited ${#nfiles} files"
|
||||||
|
)
|
||||||
|
else
|
||||||
|
echo "Error: incorrect prefix value: $dir" 1>&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Adjust pkgconfig information
|
||||||
|
# to generalize *location=, -I/... and -L/...
|
||||||
|
# to use ${prefix}
|
||||||
|
#
|
||||||
|
pkgconfigAdjust()
|
||||||
|
{
|
||||||
|
local dir="$1"
|
||||||
|
local nfiles
|
||||||
|
|
||||||
|
if [ -n "$dir" -a -d "$dir/lib/pkgconfig" ]
|
||||||
|
then
|
||||||
|
(
|
||||||
|
cd $dir/lib/pkgconfig || exit
|
||||||
|
|
||||||
|
echo "Adjust pkgconfig locations : $dir"
|
||||||
|
echo " files ... lib/pkgconfig/*.pc"
|
||||||
|
|
||||||
|
for i in *.pc
|
||||||
|
do
|
||||||
|
if [ -f "$i" ]
|
||||||
|
then
|
||||||
|
nfiles="x$nfiles"
|
||||||
|
sed -i \
|
||||||
|
-e 's@\(location=\)'"$dir/"'@\1${prefix}/@' \
|
||||||
|
-e 's@\(-[IL]\)'"$dir/"'@\1${prefix}/@g' \
|
||||||
|
$i
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo " edited ${#nfiles} files"
|
||||||
|
)
|
||||||
|
else
|
||||||
|
echo "Error: incorrect prefix value: $dir" 1>&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Download file $1 from url $2 into download/ directory
|
# Download file $1 from url $2 into download/ directory
|
||||||
#
|
#
|
||||||
|
|||||||
@ -132,7 +132,7 @@ For finer control, the build stages can be selected or deselected individually:
|
|||||||
To make a different paraview version, simply specify on the command-line.
|
To make a different paraview version, simply specify on the command-line.
|
||||||
For example,
|
For example,
|
||||||
|
|
||||||
./makeParaview 4.4.0
|
./makeParaview 5.0.1
|
||||||
|
|
||||||
Or change the \$WM_PROJECT_DIR/etc/config.sh/paraview settings.
|
Or change the \$WM_PROJECT_DIR/etc/config.sh/paraview settings.
|
||||||
|
|
||||||
|
|||||||
8
makeQt
8
makeQt
@ -4,7 +4,7 @@
|
|||||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
# \\ / O peration |
|
# \\ / O peration |
|
||||||
# \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
# \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
# \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd.
|
# \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd.
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# License
|
# License
|
||||||
# This file is part of OpenFOAM.
|
# This file is part of OpenFOAM.
|
||||||
@ -29,7 +29,7 @@
|
|||||||
# Build script for QT (the qt-everywhere-opensource-src package)
|
# Build script for QT (the qt-everywhere-opensource-src package)
|
||||||
#
|
#
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
qtVERSION=4.8.7
|
unset qtVERSION # No default version
|
||||||
qtTYPE=qt-everywhere-opensource-src
|
qtTYPE=qt-everywhere-opensource-src
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
@ -48,7 +48,7 @@ usage() {
|
|||||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||||
cat<<USAGE
|
cat<<USAGE
|
||||||
|
|
||||||
usage: ${0##*/} [OPTION] [VERSION]
|
usage: ${0##*/} [OPTION] [qt-VERSION]
|
||||||
options:
|
options:
|
||||||
-gcc Force gcc/g++ instead of the values from \$WM_CC, \$WM_CXX
|
-gcc Force gcc/g++ instead of the values from \$WM_CC, \$WM_CXX
|
||||||
-help
|
-help
|
||||||
@ -174,4 +174,4 @@ else
|
|||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ----------------------------------------------------------------- end-of-file
|
# -----------------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user