Merge branch 'develop' into 'master'

Final content for 1712 release

Closes #20 and #18

See merge request Development/ThirdParty-plus!5
This commit is contained in:
Mark Olesen
2018-01-03 11:32:29 +00:00
47 changed files with 1015 additions and 1043 deletions

View File

@ -7,26 +7,14 @@
# \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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/>.
# #
# Script # Script
# Allclean # Allclean
# #
# Description # Description
# Clean script for ThirdParty applications and libraries # Clean script for ThirdParty applications/libraries
# #
# ---------------------------------------------- # ----------------------------------------------
# NO USER-CONFIGURABLE SETTINGS WITHIN THIS FILE # NO USER-CONFIGURABLE SETTINGS WITHIN THIS FILE
@ -94,6 +82,19 @@ do
done done
# Clean various packages via 'wclean'
for i in libccmio*/Make kahip*/lib/Make
do
[ -d "$i" ] && (
echo
echo "${i%/Make}"
echo " wclean"
echo
cd ${i%/Make} && wclean
)
done
# Clean out-of-source build directories # Clean out-of-source build directories
if [ -d build ] if [ -d build ]
then then

104
Allwmake
View File

@ -7,26 +7,14 @@
# \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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/>.
# #
# Script # Script
# Allwmake # Allwmake
# #
# Description # Description
# Build script for ThirdParty # Build script for ThirdParty applications/libraries
# #
# ---------------------------------------------- # ----------------------------------------------
# NO USER-CONFIGURABLE SETTINGS WITHIN THIS FILE # NO USER-CONFIGURABLE SETTINGS WITHIN THIS FILE
@ -65,8 +53,7 @@ warnBuildIssues()
warnNotFound() warnNotFound()
{ {
echo " Optional component ($1) was not found" echo "Optional component ($1) was not found"
echo
} }
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
@ -101,20 +88,20 @@ fi
echo echo
echo ======================================== echo ========================================
echo "Build Scotch decomposition library $SCOTCH_VERSION" echo "Scotch decomposition ($SCOTCH_VERSION)"
echo " $SCOTCH_ARCH_PATH" echo " $SCOTCH_ARCH_PATH"
SCOTCH_SOURCE_DIR=$sourceBASE/$SCOTCH_VERSION SCOTCH_SOURCE_DIR=$sourceBASE/$SCOTCH_VERSION
# Needs generalizing, but works fairly well # Needs generalizing, but works fairly well
scotchMakefile=../../etc/wmakeFiles/scotch/Makefile.inc.i686_pc_linux2.shlib-OpenFOAM scotchMakefile=../../etc/makeFiles/scotch/Makefile.inc.i686_pc_linux2.shlib-OpenFOAM
if [ -f $SCOTCH_ARCH_PATH/include/scotch.h \ if [ -f $SCOTCH_ARCH_PATH/include/scotch.h \
-a -r $FOAM_EXT_LIBBIN/libscotch.so \ -a -r $FOAM_EXT_LIBBIN/libscotch.so \
-a -r $FOAM_EXT_LIBBIN/libscotcherrexit.so ] -a -r $FOAM_EXT_LIBBIN/libscotcherrexit.so ]
then then
echo " scotch header in $SCOTCH_ARCH_PATH/include" echo " scotch include: $SCOTCH_ARCH_PATH/include"
echo " scotch libs in $FOAM_EXT_LIBBIN" echo " scotch library: $FOAM_EXT_LIBBIN"
elif [ -d "$SCOTCH_SOURCE_DIR" ] elif [ -d "$SCOTCH_SOURCE_DIR" ]
then then
( (
@ -145,6 +132,9 @@ then
export CCS="${CC:-$WM_CC}" # CCS (serial compiler) default=$(CC) export CCS="${CC:-$WM_CC}" # CCS (serial compiler) default=$(CC)
export CCP=$(whichMpicc) # CCP (parallel compiler) default=mpicc export CCP=$(whichMpicc) # CCP (parallel compiler) default=mpicc
# Consistency for Intel-MPI and non-icc compilers
[ -n "$I_MPI_CC" ] || export I_MPI_CC="${CC:-$WM_CC}"
make realclean 2>/dev/null # Extra safety make realclean 2>/dev/null # Extra safety
make -j $WM_NCOMPPROCS scotch \ make -j $WM_NCOMPPROCS scotch \
&& make \ && make \
@ -173,15 +163,15 @@ if [ "${FOAM_MPI:-dummy}" != dummy ] && \
then then
echo echo
echo ======================================== echo ========================================
echo "Build pt-scotch decomposition library $SCOTCH_VERSION (with $FOAM_MPI)" echo "pt-scotch decomposition ($SCOTCH_VERSION with $FOAM_MPI)"
echo " $SCOTCH_ARCH_PATH" echo " $SCOTCH_ARCH_PATH"
if [ -f $SCOTCH_ARCH_PATH/include/$FOAM_MPI/ptscotch.h \ if [ -f $SCOTCH_ARCH_PATH/include/$FOAM_MPI/ptscotch.h \
-a -r $FOAM_EXT_LIBBIN/$FOAM_MPI/libptscotch.so \ -a -r $FOAM_EXT_LIBBIN/$FOAM_MPI/libptscotch.so \
-a -r $FOAM_EXT_LIBBIN/$FOAM_MPI/libptscotcherrexit.so ] -a -r $FOAM_EXT_LIBBIN/$FOAM_MPI/libptscotcherrexit.so ]
then then
echo " ptscotch header in $SCOTCH_ARCH_PATH/include/$FOAM_MPI" echo " ptscotch include: $SCOTCH_ARCH_PATH/include/$FOAM_MPI"
echo " ptscotch libs in $FOAM_EXT_LIBBIN/$FOAM_MPI" echo " ptscotch library: $FOAM_EXT_LIBBIN/$FOAM_MPI"
else else
( (
cd $SCOTCH_SOURCE_DIR/src || exit 1 cd $SCOTCH_SOURCE_DIR/src || exit 1
@ -209,6 +199,9 @@ then
export CCS="${CC:-$WM_CC}" # CCS (serial compiler) default=$(CC) export CCS="${CC:-$WM_CC}" # CCS (serial compiler) default=$(CC)
export CCP=$(whichMpicc) # CCP (parallel compiler) default=mpicc export CCP=$(whichMpicc) # CCP (parallel compiler) default=mpicc
# Consistency for Intel-MPI and non-icc compilers
[ -n "$I_MPI_CC" ] || export I_MPI_CC="${CC:-$WM_CC}"
make realclean 2>/dev/null # Extra safety make realclean 2>/dev/null # Extra safety
make -j $WM_NCOMPPROCS ptscotch \ make -j $WM_NCOMPPROCS ptscotch \
&& make \ && make \
@ -233,55 +226,46 @@ fi
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# Metis is optional
echo echo
echo ======================================== echo ========================================
echo Build Metis decomposition # Get KAHIP_ARCH_PATH
if settings=$($WM_PROJECT_DIR/bin/foamEtcFile config.sh/kahip)
# Get METIS_VERSION, METIS_ARCH_PATH
if settings=$($WM_PROJECT_DIR/bin/foamEtcFile config.sh/metis)
then then
. $settings . $settings
fi fi
if [ -n "$KAHIP_ARCH_PATH" ]
METIS_SOURCE_DIR=$sourceBASE/$METIS_VERSION
if [ -f $METIS_ARCH_PATH/include/metis.h \
-a -r $FOAM_EXT_LIBBIN/libmetis.so ]
then then
echo " metis header in $METIS_ARCH_PATH/include" echo KaHIP decomposition
echo " metis libs in $FOAM_EXT_LIBBIN" ./makeKAHIP -test "$KAHIP_ARCH_PATH" || \
elif [ -d "$METIS_SOURCE_DIR" ] ./makeKAHIP || warnBuildIssues KAHIP
then
(
cd $METIS_SOURCE_DIR || exit 1
export GIT_DIR=$PWD/.git # Mask seeing our own git-repo
rm -rf $METIS_ARCH_PATH
# Adjust metis integer size to match OpenFOAM label-size
sed -i -e 's=\(#define IDXTYPEWIDTH\).*=\1 '$WM_LABEL_SIZE'=' \
include/metis.h
# No config option for the library location.
# - build normally and use mv to relocate it
make config shared=1 prefix=$METIS_ARCH_PATH \
&& make -j $WM_NCOMPPROCS install \
&& mv $METIS_ARCH_PATH/lib/libmetis.so $FOAM_EXT_LIBBIN
rmdir $METIS_ARCH_PATH/lib 2>/dev/null || true # Failed rmdir is uncritical
) || warnBuildIssues METIS
else else
warnNotFound METIS warnNotFound KAHIP # METIS is optional
fi
#------------------------------------------------------------------------------
echo
echo ========================================
# Get METIS_ARCH_PATH
if settings=$($WM_PROJECT_DIR/bin/foamEtcFile config.sh/metis)
then
. $settings
fi
if [ -n "$METIS_ARCH_PATH" ]
then
echo Metis decomposition
./makeMETIS -test "$METIS_ARCH_PATH" || \
./makeMETIS || warnBuildIssues METIS
else
warnNotFound METIS # METIS is optional
fi fi
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
echo echo
echo ======================================== echo ========================================
echo Build CGAL
if [ -n "$CGAL_ARCH_PATH" ] if [ -n "$CGAL_ARCH_PATH" ]
then then
echo "CGAL/boost"
./makeCGAL -test "$CGAL_ARCH_PATH" "$BOOST_ARCH_PATH" || \ ./makeCGAL -test "$CGAL_ARCH_PATH" "$BOOST_ARCH_PATH" || \
./makeCGAL || warnBuildIssues CGAL ./makeCGAL || warnBuildIssues CGAL
else else
@ -290,9 +274,9 @@ fi
echo echo
echo ======================================== echo ========================================
echo Build FFTW
if [ -n "$FFTW_ARCH_PATH" ] if [ -n "$FFTW_ARCH_PATH" ]
then then
echo FFTW
./makeFFTW -test "$FFTW_ARCH_PATH" || \ ./makeFFTW -test "$FFTW_ARCH_PATH" || \
./makeFFTW || warnBuildIssues FFTW ./makeFFTW || warnBuildIssues FFTW
else else

133
BUILD.md
View File

@ -109,7 +109,7 @@ ThirdParty components prior to building OpenFOAM itself.
- This will be automatically invoked by the top-level OpenFOAM `Allwmake`, but - This will be automatically invoked by the top-level OpenFOAM `Allwmake`, but
can also be invoked directly to find possible build errors. can also be invoked directly to find possible build errors.
- Builds an mpi library (openmpi or mpich), scotch decomposition, boost, CGAL, FFTW. - Builds an mpi library (openmpi or mpich), scotch decomposition, boost, CGAL, FFTW.
- If the optional metis directory is found, it will also be compiled. - If the optional kahip or metis directories are found, they will also be compiled.
4. `makeParaView` *(optional but highly recommended)* 4. `makeParaView` *(optional but highly recommended)*
- This is optional, but extremely useful for visualization and for - This is optional, but extremely useful for visualization and for
run-time post-processing function objects. run-time post-processing function objects.
@ -122,16 +122,26 @@ ThirdParty components prior to building OpenFOAM itself.
#### Optional Components #### Optional Components
`makeADIOS` `makeADIOS`
- Only required for ADIOS support, - Only required for [ADIOS](#parallel) support,
which is currently staged in the [add-ons repository][link AddOns]. which is currently staged in the [add-ons repository][link AddOns].
`makeCGAL` `makeCGAL`
- Builds third-party boost and CGAL. - Builds [boost](#general-packages) and [CGAL](#general-packages).
Automatically invoked from the ThirdParty `Allwmake`, Automatically invoked from the ThirdParty `Allwmake`,
but can be invoked directly to resolve possible build errors. but can be invoked directly to resolve possible build errors.
`makeFFTW` `makeFFTW`
- Builds third-party FFTW. - Builds [FFTW](#general-packages).
Automatically invoked from the ThirdParty `Allwmake`,
but can be invoked directly to resolve possible build errors.
`makeKAHIP`
- Builds [KaHIP](#parallel) decomposition library.
Automatically invoked from the ThirdParty `Allwmake`,
but can be invoked directly to resolve possible build errors.
`makeMETIS`
- Builds [METIS](#parallel) decomposition library.
Automatically invoked from the ThirdParty `Allwmake`, Automatically invoked from the ThirdParty `Allwmake`,
but can be invoked directly to resolve possible build errors. but can be invoked directly to resolve possible build errors.
@ -147,11 +157,11 @@ ThirdParty components prior to building OpenFOAM itself.
`makeMesa`, `makeVTK` `makeMesa`, `makeVTK`
- Additional support for building offscreen rendering components. - Additional support for building offscreen rendering components.
Useful if you want to render on computer servers without graphics cards. Useful if you want to render on computer servers without graphics cards.
The `makeParaView.example` and `makeVTK.example` files provide some useful The `makeParaView.example` and `makeVTK.example` files offer some
suggestions about compiling such a configuration. suggestions about compiling such a configuration.
`makeQt` `makeQt`
- Script to build a [third-party installation of Qt](#makeQt), including qmake. - Script to build a [Qt](#makeQt), including qmake.
- Possibly needed for `makeParaView`. - Possibly needed for `makeParaView`.
- The associated `etc/relocateQt` may be of independent use. - The associated `etc/relocateQt` may be of independent use.
Read the file for more details. Read the file for more details.
@ -188,13 +198,13 @@ and save some disk space.
sources that are bundled with ParaView. sources that are bundled with ParaView.
For example, by using a symbolic link: For example, by using a symbolic link:
ln -s ParaView-v5.4.0/VTK VTK-8.1.0 ln -s ParaView-v5.4.1/VTK VTK-8.1.0
The appropriate VTK version number can be found from the contents of The appropriate VTK version number can be found from the contents of
the `vtkVersion.cmake` file. the `vtkVersion.cmake` file.
For example, For example,
$ cat ParaView-v5.4.0/VTK/CMake/vtkVersion.cmake $ cat ParaView-v5.4.1/VTK/CMake/vtkVersion.cmake
# VTK version number components. # VTK version number components.
set(VTK_MAJOR_VERSION 8) set(VTK_MAJOR_VERSION 8)
@ -207,27 +217,12 @@ and save some disk space.
required. required.
See additional notes below about [making Qt](#makeQt) if necessary. See additional notes below about [making Qt](#makeQt) if necessary.
#### 5.4.0 #### 5.4.x
- Compiles without patching. - Compiles without patching.
No known issues with the native OpenFOAM reader. No known issues with the native OpenFOAM reader.
#### 5.3.0 #### 5.3.0 and older are neither recommended nor supported
- Compiles without patching. - Various compilation issues and known bugs.
The native OpenFOAM reader has a bug reading tetrahedrals.
#### 5.2.0
- Compiles without patching, but the native OpenFOAM reader is
broken in this version.
#### 4.4.0/5.0.0/5.0.1/5.1.2
- When using `makeParaView`, the following patches will be automatically
applied (see the `etc/patches` directory):
- Bugfix for STL reader - affects 4.4.0 only.
- Broken installation (ui_pqExportStateWizard.h) - affects 4.4.0/5.0.0/5.0.1/5.1.x
- Building with gcc-6.1.0 - affects 4.4.0/5.0.0/5.0.1 (patch applied for 5.0.1)
- The SciberQuestToolKit plugin fails to compile with gcc-6.1.0 and causes
the compilation of ParaView to halt. The easiest solution is to delete
the ParaView-5.0.1/Plugins/SciberQuestToolKit directory.
### ADIOS ### ADIOS
- The github release currently requires GNU autoconf tools (eg, - The github release currently requires GNU autoconf tools (eg,
@ -250,7 +245,7 @@ and save some disk space.
3. Build ParaView using this third-party QT. For example, 3. Build ParaView using this third-party QT. For example,
./makeParaView -qt-4.8.7 5.0.1 ./makeParaView -qt-4.8.7 5.4.1
- ParaView versions prior to 5.3.0 do not properly support QT5. - ParaView versions prior to 5.3.0 do not properly support QT5.
@ -302,23 +297,19 @@ install the 32-bit development libraries by default.
The minimum version of clang required is 3.3. The minimum version of clang required is 3.3.
*Attention*: If you are building a newer version of clang, you may need to *Attention*: If you are building a newer version of clang, you may need to
update your CMake beforehand. update your CMake beforehand since GNU *configure* can only be used prior
GNU *configure* can only be used prior to clang version 3.9. to clang version 3.9.
If your system gcc is particularly old
(see [minimum gcc requirements for clang](#min-gcc))
you may have additional hurdles to using the newest versions of clang.
| Name | Location | Name | Location
|-----------------------|------------------------ |-----------------------|------------------------
| [clang][page clang] | [download][link clang] | [clang][page clang] | [download][link clang] or [newer][newer clang]
| [llvm][page llvm] | [download][link llvm] | [llvm][page llvm] | [download][link llvm] or [newer][newer llvm]
| [openmp][page omp] | [download][link omp] or [newer][newer omp]
### Parallel Processing <a name="parallel"></a>
| Name | Location
|-----------------------|------------------------
| [adios][page adios] | [repo][repo adios] or [github download][link adios] or [alt download][altlink adios]
| [scotch, ptscotch][page scotch] | [download][link scotch]
| [openmpi][page openmpi] | [download][link openmpi]. The newer [openmpi][newer openmpi] make exhibit stability issues.
### General <a name="general-packages"></a> ### General <a name="general-packages"></a>
@ -334,13 +325,24 @@ GNU *configure* can only be used prior to clang version 3.9.
| gperftools | [repo][repo gperftools] or [download][link gperftools] | gperftools | [repo][repo gperftools] or [download][link gperftools]
### Parallel Processing <a name="parallel"></a>
| Name | Location
|-----------------------|------------------------
| [openmpi][page openmpi] | [download][link openmpi]. The newer [openmpi][newer openmpi] make exhibit stability issues.
| [adios][page adios] | [repo][repo adios] or [github download][link adios] or [alt download][altlink adios]
| [scotch, ptscotch][page scotch] | [download][link scotch]
| [kahip][page kahip] | [download][link kahip]
| [metis][page metis] | [download][link metis]
### Visualization <a name="viz-version"></a> ### Visualization <a name="viz-version"></a>
| Name | Location | Name | Location
|-----------------------|------------------------ |-----------------------|------------------------
| [MESA][page mesa] | [download][link mesa] or [older 13][older13 mesa], [older 11][older11 mesa] | [MESA][page mesa] | [download][link mesa] or [older 13][older13 mesa], [older 11][older11 mesa]
| [ParaView][page ParaView] | [download][link ParaView] | [ParaView][page ParaView] | [download][link ParaView]
| [Qt][page Qt] | [repo][repo Qt] or [download][link Qt]. The newer [Qt5][newer Qt5] only works with ParaView-5.3.0 and later. | [Qt][page Qt] | Either the [older QT4][link Qt4] or the [newer QT5][link Qt5], which only works with ParaView-5.3.0 and later.
### CMake Minimum Requirements <a name="min-cmake"></a> ### CMake Minimum Requirements <a name="min-cmake"></a>
@ -348,18 +350,14 @@ GNU *configure* can only be used prior to clang version 3.9.
The minimum CMake requirements for building various components. The minimum CMake requirements for building various components.
2.8 llvm-3.4.2 2.8 llvm-3.4.2
2.8.8 ParaView-5.0.1
2.8.11 CGAL-4.9 2.8.11 CGAL-4.9
2.8.11 CGAL-4.11
2.8.12.2 llvm-3.7.0 2.8.12.2 llvm-3.7.0
2.8.12.2 llvm-3.8.0 2.8.12.2 llvm-3.8.0
2.8.4 cmake-3.6.0 2.8.4 cmake-3.6.0
3.3 ParaView-5.1.2 3.3 ParaView-5.4.1
3.3 ParaView-5.2.0
3.3 ParaView-5.3.0
3.3 ParaView-5.4.0
3.4.3 llvm-3.9.1 3.4.3 llvm-3.9.1
3.4.3 llvm-4.0.0 3.4.3 llvm-4.0.0
3.5 ParaView-5.1.0
### GCC Minimum Requirements <a name="min-gcc"></a> ### GCC Minimum Requirements <a name="min-gcc"></a>
@ -371,6 +369,10 @@ The minimum gcc/g++ requirements for building various components.
4.7 llvm-3.5.2 4.7 llvm-3.5.2
4.4 llvm-3.4.2 4.4 llvm-3.4.2
If your system gcc/g++ is too old to build the desired llvm/clang
version, you may need to build a lower llvm/clang version and then use
that clang compiler for building the newer llvm/clang version.
<!-- gcc-related --> <!-- gcc-related -->
[page gcc]: http://gcc.gnu.org/releases.html [page gcc]: http://gcc.gnu.org/releases.html
@ -385,26 +387,35 @@ The minimum gcc/g++ requirements for building various components.
<!-- clang-related --> <!-- clang-related -->
[page clang]: http://llvm.org/
[page llvm]: http://llvm.org/ [page llvm]: http://llvm.org/
[page clang]: http://clang.llvm.org/
[page omp]: http://openmp.llvm.org/
[link clang]: http://llvm.org/releases/3.7.1/cfe-3.7.1.src.tar.xz [link clang]: http://llvm.org/releases/3.7.1/cfe-3.7.1.src.tar.xz
[link llvm]: http://llvm.org/releases/3.7.1/llvm-3.7.1.src.tar.xz [link llvm]: http://llvm.org/releases/3.7.1/llvm-3.7.1.src.tar.xz
[link omp]: http://llvm.org/releases/3.7.1/openmp-3.7.1.src.tar.xz
[newer clang]: http://llvm.org/releases/4.0.0/cfe-4.0.0.src.tar.xz [newer clang]: http://llvm.org/releases/4.0.1/cfe-4.0.1.src.tar.xz
[newer llvm]: http://llvm.org/releases/4.0.0/llvm-4.0.0.src.tar.xz [newer llvm]: http://llvm.org/releases/4.0.1/llvm-4.0.1.src.tar.xz
[newer omp]: http://llvm.org/releases/4.0.1/openmp-4.0.1.src.tar.xz
<!-- parallel --> <!-- parallel -->
[page adios]: https://www.olcf.ornl.gov/center-projects/adios/ [page adios]: https://www.olcf.ornl.gov/center-projects/adios/
[repo adios]: https://github.com/ornladios/ADIOS [repo adios]: https://github.com/ornladios/ADIOS
[link adios]: https://github.com/ornladios/ADIOS/archive/v1.11.1.tar.gz [link adios]: https://github.com/ornladios/ADIOS/archive/v1.13.0.tar.gz
[altlink adios]: http://users.nccs.gov/%7Epnorbert/adios-1.11.1.tar.gz [altlink adios]: http://users.nccs.gov/%7Epnorbert/adios-1.13.0.tar.gz
[page zfp]: http://computation.llnl.gov/projects/floating-point-compression/zfp-versions [page zfp]: http://computation.llnl.gov/projects/floating-point-compression/zfp-versions
[page scotch]: https://www.labri.fr/perso/pelegrin/scotch/ [page scotch]: https://www.labri.fr/perso/pelegrin/scotch/
[link scotch]: https://gforge.inria.fr/frs/download.php/file/34099/scotch_6.0.3.tar.gz [link scotch]: https://gforge.inria.fr/frs/download.php/file/34099/scotch_6.0.3.tar.gz
[page kahip]: http://algo2.iti.kit.edu/documents/kahip/
[link kahip]: http://algo2.iti.kit.edu/schulz/software_releases/KaHIP_2.00.tar.gz
[page metis]: http://glaros.dtc.umn.edu/gkhome/metis/metis/overview
[link metis]: http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-5.1.0.tar.gz
[page openmpi]: http://www.open-mpi.org/ [page openmpi]: http://www.open-mpi.org/
[link openmpi]: https://www.open-mpi.org/software/ompi/v1.10/downloads/openmpi-1.10.4.tar.bz2 [link openmpi]: https://www.open-mpi.org/software/ompi/v1.10/downloads/openmpi-1.10.4.tar.bz2
[newer openmpi]: https://www.open-mpi.org/software/ompi/v2.1/downloads/openmpi-2.1.1.tar.bz2 [newer openmpi]: https://www.open-mpi.org/software/ompi/v2.1/downloads/openmpi-2.1.1.tar.bz2
@ -421,7 +432,7 @@ The minimum gcc/g++ requirements for building various components.
[link CGAL]: https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-4.9.1/CGAL-4.9.1.tar.xz [link CGAL]: https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-4.9.1/CGAL-4.9.1.tar.xz
[page FFTW]: http://www.fftw.org/ [page FFTW]: http://www.fftw.org/
[link FFTW]: http://www.fftw.org/fftw-3.3.6-pl1.tar.gz [link FFTW]: http://www.fftw.org/fftw-3.3.7.tar.gz
[page cgns]: http://cgns.github.io/ [page cgns]: http://cgns.github.io/
[link ccmio]: http://portal.nersc.gov/project/visit/third_party/libccmio-2.6.1.tar.gz (check usage conditions) [link ccmio]: http://portal.nersc.gov/project/visit/third_party/libccmio-2.6.1.tar.gz (check usage conditions)
@ -437,7 +448,7 @@ The minimum gcc/g++ requirements for building various components.
<!-- Visualization --> <!-- Visualization -->
[page ParaView]: http://www.paraview.org/ [page ParaView]: http://www.paraview.org/
[link ParaView]: http://www.paraview.org/files/v5.4/ParaView-v5.4.0.tar.gz [link ParaView]: http://www.paraview.org/files/v5.4/ParaView-v5.4.1.tar.gz
[page mesa]: http://mesa3d.org/ [page mesa]: http://mesa3d.org/
[link mesa]: ftp://ftp.freedesktop.org/pub/mesa/mesa-17.1.1.tar.xz [link mesa]: ftp://ftp.freedesktop.org/pub/mesa/mesa-17.1.1.tar.xz
@ -446,25 +457,27 @@ The minimum gcc/g++ requirements for building various components.
[page Qt]: https://www.qt.io/download-open-source/ [page Qt]: https://www.qt.io/download-open-source/
[repo Qt]: http://code.qt.io/cgit/qt-creator/qt-creator.git [repo Qt]: http://code.qt.io/cgit/qt-creator/qt-creator.git
[link Qt]: http://download.qt.io/official_releases/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.tar.gz [link Qt4]: http://download.qt.io/official_releases/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.tar.gz
[newer Qt5]: http://download.qt.io/official_releases/qt/5.9/5.9.0/single/qt-everywhere-opensource-src-5.9.0.tar.xz [link Qt5]: http://download.qt.io/official_releases/qt/5.9/5.9.3/single/qt-everywhere-opensource-src-5.9.3.tar.xz
<!-- OpenFOAM --> <!-- OpenFOAM -->
[link AddOns]: https://develop.openfoam.com/Community/OpenFOAM-addOns [link AddOns]: https://develop.openfoam.com/Community/OpenFOAM-addOns
[link community-projects]: http://www.openfoam.com/services/community-projects.php [link community-projects]: http://www.openfoam.com/community/projects.php
---
<!-- Standard Footer --> <!-- Standard Footer -->
## Additional OpenFOAM Links ## Additional OpenFOAM Links
- [Community AddOns][link AddOns] repository - [Community AddOns][link AddOns] repository
- [Collaborative and Community-based Developments][link community-projects] - [Collaborative and Community-based Developments][link community-projects]
- [Download](http://www.openfoam.com/releases) and - [Download](http://www.openfoam.com/download) and
[installation instructions](http://www.openfoam.com/download/installation.php) [installation instructions](http://www.openfoam.com/code/build-guide.php)
- [Documentation](http://www.openfoam.com/documentation) - [Documentation](http://www.openfoam.com/documentation)
- [Reporting bugs/issues](http://www.openfoam.com/code/bug-reporting.php) (including bugs/suggestions/feature requests) in OpenFOAM+ - [Reporting bugs/issues](http://www.openfoam.com/code/bug-reporting.php) (including bugs/suggestions/feature requests) in OpenFOAM
- [Contacting OpenCFD](http://www.openfoam.com/contact) - [Contacting OpenCFD](http://www.openfoam.com/contact)
--- ---
Copyright 2016-2017 OpenCFD Ltd Copyright 2016-2017 OpenCFD Ltd

View 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) 2016 OpenCFD Ltd. | | \\ / A nd | Copyright (C) 2016-2017 OpenCFD Ltd. |
| \\/ M anipulation | | | \\/ M anipulation | |
|--------------------------------------------------------------------------| |--------------------------------------------------------------------------|
--> -->
@ -65,19 +65,26 @@ ThirdParty components prior to building OpenFOAM itself.
### Build Details ### Build Details
More details can be found the ThirdParty ./BUILD.md information. More details can be found the ThirdParty BUILD.md information.
<!-- OpenFOAM -->
[link AddOns]: https://develop.openfoam.com/Community/OpenFOAM-addOns
[link community-projects]: http://www.openfoam.com/community/projects.php
---
<!-- Standard Footer --> <!-- Standard Footer -->
## Additional OpenFOAM Links ## Additional OpenFOAM Links
- [Download](http://www.openfoam.com/releases) and - [Community AddOns][link AddOns] repository
[installation instructions](http://www.openfoam.com/download/installation.php) - [Collaborative and Community-based Developments][link community-projects]
- [Download](http://www.openfoam.com/download) and
[installation instructions](http://www.openfoam.com/code/build-guide.php)
- [Documentation](http://www.openfoam.com/documentation) - [Documentation](http://www.openfoam.com/documentation)
- [Reporting bugs/issues (including bugs/suggestions/feature requests) in OpenFOAM+](http://www.openfoam.com/code/bug-reporting.php) - [Reporting bugs/issues](http://www.openfoam.com/code/bug-reporting.php) (including bugs/suggestions/feature requests) in OpenFOAM
- [Collaborative and Community-based Developments](http://www.openfoam.com/services/community-projects.php)
- [Contacting OpenCFD](http://www.openfoam.com/contact) - [Contacting OpenCFD](http://www.openfoam.com/contact)
--- ---
Copyright 2016 OpenCFD Ltd Copyright 2016-2017 OpenCFD Ltd

69
SOURCES.txt Normal file
View File

@ -0,0 +1,69 @@
Short summary of third-party software versions for recent OpenFOAM versions.
OpenFOAM-1712
---------------
CGAL-4.9.1
ParaView-5.4.1 *minor*
boost_1_64_0
fftw-3.3.7 *minor*
openmpi-1.10.4
scotch_6.0.3
kahip-2.00d *new*
OpenFOAM-1706
---------------
CGAL-4.9.1 *minor*
ParaView-5.4.0 *update*
boost_1_64_0 *update*
fftw-3.3.6-pl1 *minor*
openmpi-1.10.4
scotch_6.0.3
OpenFOAM-1612
---------------
CGAL-4.9 *update*
ParaView-5.0.1 *update*
boost_1_62_0 *update*
fftw-3.3.5 *minor*
openmpi-1.10.4 *minor*
scotch_6.0.3
OpenFOAM-1606
---------------
CGAL-4.8 *update*
ParaView-5.0.1 *update*
boost_1_61_0 *new*
fftw-3.3.4 *new*
openmpi-1.10.2 *minor*
scotch_6.0.3
OpenFOAM-v3.0+
---------------
CGAL-4.7 *update*
ParaView-4.4.0 *update*
openmpi-1.10.0 *update*
scotch_6.0.3
OpenFOAM-v2.4
---------------
CGAL-4.6 *update*
ParaView-4.1.0
openmpi-1.8.5 *update*
scotch_6.0.3 *update*
---------------
OpenFOAM-v2.3
---------------
CGAL-4.3
ParaView-4.1.0
openmpi-1.6.5
scotch_6.0.0
---------------

70
etc/makeFiles/kahip/files Normal file
View File

@ -0,0 +1,70 @@
/* NOTE: make any changes to this file in etc/wmakeFiles/ */
interface/kaHIP_interface.cpp
/* List obtained from SConscript, libkaffpa_files = [ ... ] entry */
data_structure/graph_hierarchy.cpp
algorithms/strongly_connected_components.cpp
algorithms/topological_sort.cpp
algorithms/push_relabel.cpp
io/graph_io.cpp
tools/quality_metrics.cpp
tools/random_functions.cpp
tools/graph_extractor.cpp
tools/misc.cpp
tools/partition_snapshooter.cpp
partition/graph_partitioner.cpp
partition/w_cycles/wcycle_partitioner.cpp
partition/coarsening/coarsening.cpp
partition/coarsening/contraction.cpp
partition/coarsening/edge_rating/edge_ratings.cpp
partition/coarsening/matching/matching.cpp
partition/coarsening/matching/random_matching.cpp
partition/coarsening/matching/gpa/path.cpp
partition/coarsening/matching/gpa/gpa_matching.cpp
partition/coarsening/matching/gpa/path_set.cpp
partition/coarsening/clustering/node_ordering.cpp
partition/coarsening/clustering/size_constraint_label_propagation.cpp
partition/initial_partitioning/initial_partitioning.cpp
partition/initial_partitioning/initial_partitioner.cpp
partition/initial_partitioning/initial_partition_bipartition.cpp
partition/initial_partitioning/initial_refinement/initial_refinement.cpp
partition/initial_partitioning/bipartition.cpp
partition/initial_partitioning/initial_node_separator.cpp
partition/uncoarsening/uncoarsening.cpp
partition/uncoarsening/separator/area_bfs.cpp
partition/uncoarsening/separator/vertex_separator_algorithm.cpp
partition/uncoarsening/separator/vertex_separator_flow_solver.cpp
partition/uncoarsening/refinement/cycle_improvements/greedy_neg_cycle.cpp
partition/uncoarsening/refinement/cycle_improvements/problem_factory.cpp
partition/uncoarsening/refinement/cycle_improvements/augmented_Qgraph.cpp
partition/uncoarsening/refinement/mixed_refinement.cpp
partition/uncoarsening/refinement/label_propagation_refinement/label_propagation_refinement.cpp
partition/uncoarsening/refinement/refinement.cpp
partition/uncoarsening/refinement/quotient_graph_refinement/2way_fm_refinement/two_way_fm.cpp
partition/uncoarsening/refinement/quotient_graph_refinement/flow_refinement/two_way_flow_refinement.cpp
partition/uncoarsening/refinement/quotient_graph_refinement/flow_refinement/boundary_bfs.cpp
partition/uncoarsening/refinement/quotient_graph_refinement/flow_refinement/flow_solving_kernel/cut_flow_problem_solver.cpp
partition/uncoarsening/refinement/quotient_graph_refinement/flow_refinement/most_balanced_minimum_cuts/most_balanced_minimum_cuts.cpp
partition/uncoarsening/refinement/quotient_graph_refinement/quotient_graph_refinement.cpp
partition/uncoarsening/refinement/quotient_graph_refinement/complete_boundary.cpp
partition/uncoarsening/refinement/quotient_graph_refinement/partial_boundary.cpp
partition/uncoarsening/refinement/quotient_graph_refinement/quotient_graph_scheduling/quotient_graph_scheduling.cpp
partition/uncoarsening/refinement/quotient_graph_refinement/quotient_graph_scheduling/simple_quotient_graph_scheduler.cpp
partition/uncoarsening/refinement/quotient_graph_refinement/quotient_graph_scheduling/active_block_quotient_graph_scheduler.cpp
partition/uncoarsening/refinement/kway_graph_refinement/kway_graph_refinement.cpp
partition/uncoarsening/refinement/kway_graph_refinement/kway_graph_refinement_core.cpp
partition/uncoarsening/refinement/kway_graph_refinement/kway_graph_refinement_commons.cpp
partition/uncoarsening/refinement/cycle_improvements/augmented_Qgraph_fabric.cpp
partition/uncoarsening/refinement/cycle_improvements/advanced_models.cpp
partition/uncoarsening/refinement/kway_graph_refinement/multitry_kway_fm.cpp
partition/uncoarsening/refinement/node_separators/greedy_ns_local_search.cpp
partition/uncoarsening/refinement/node_separators/fm_ns_local_search.cpp
partition/uncoarsening/refinement/node_separators/localized_fm_ns_local_search.cpp
algorithms/cycle_search.cpp
partition/uncoarsening/refinement/cycle_improvements/cycle_refinement.cpp
partition/uncoarsening/refinement/tabu_search/tabu_search.cpp
LIB = $(FOAM_EXT_LIBBIN)/libkahip

View File

@ -0,0 +1,15 @@
/*
* NOTE: make any changes to this file in etc/wmakeFiles/
* Must use -DNDEBUG to disable kahip debug mode.
* Using -DMODE_NODESEP is not strictly required for building the library.
*/
EXE_INC = \
${c++LESSWARN} \
${COMP_OPENMP} \
-DNDEBUG -DMODE_NODESEP \
-I$(KAHIP_LIB_SRC) \
-I$(KAHIP_LIB_SRC)/partition \
-I$(KAHIP_LIB_SRC)/partition/uncoarsening/refinement/quotient_graph_refinement/flow_refinement
LIB_LIBS =

View File

@ -1,4 +1,4 @@
/* NOTE: make any changes to this file in etc/wmakeFiles/ */ /* NOTE: make any changes to this file in etc/makeFiles/ */
libadf/ADF_interface.c libadf/ADF_interface.c
libadf/ADF_internals.c libadf/ADF_internals.c

View File

@ -0,0 +1,3 @@
/* NOTE: make any changes to this file in etc/makeFiles/ */
/* EXE_INC = */

View File

@ -20,6 +20,7 @@ CCD = $(CCP)
CFLAGS = $(WM_CFLAGS) -O3 \ CFLAGS = $(WM_CFLAGS) -O3 \
-DCOMMON_FILE_COMPRESS_GZ \ -DCOMMON_FILE_COMPRESS_GZ \
-DCOMMON_RANDOM_FIXED_SEED \ -DCOMMON_RANDOM_FIXED_SEED \
-DSCOTCH_DETERMINISTIC \
-DSCOTCH_RENAME \ -DSCOTCH_RENAME \
-Drestrict=__restrict -Drestrict=__restrict

View File

@ -1,12 +0,0 @@
--- ADIOS-1.11.0/src/core/adios_transform_methods.c.orig 2016-11-17 19:46:11.000000000 +0100
+++ ADIOS-1.11.0/src/core/adios_transform_methods.c 2016-12-14 15:19:39.870832445 +0100
@@ -7,6 +7,9 @@
ADIOS_AVAILABLE_TRANSFORM_METHODS * adios_available_transform_methods()
{
+ /* Ensure the transforms are initialized before accessing */
+ adios_transform_read_init();
+
int i, n;
n = 0;
for (i = (int)adios_transform_none; i < num_adios_transform_types; i++) {

View File

@ -1 +0,0 @@
ADIOS-1.11.0

View File

@ -1,27 +0,0 @@
#!/bin/sh
# simple script to generate patches
paraview=ParaView-5.0.1
if [ "$#" -gt 0 ]
then
paraview="${1%%/}"
fi
[ -d "$paraview" ] || {
echo "No directory '$paraview'" 1>&2
exit 2
}
for i in \
$paraview/VTK/CMake/vtkCompilerExtras.cmake \
$paraview/VTK/CMake/GenerateExportHeader.cmake \
$paraview/Qt/Components/CMakeLists.txt \
$paraview/CMake/generate_qhp.cmake \
$paraview/CMake/ParaViewMacros.cmake \
$paraview/CMake/generate_proxydocumentation.cmake \
;
do
diff -uw $i.orig $i
done
# -----------------------------------------------------------------------------

View File

@ -1,44 +0,0 @@
--- ParaView-4.4.0/VTK/IO/Geometry/vtkSTLReader.cxx.orig 2015-09-11 19:59:24.000000000 +0200
+++ ParaView-4.4.0/VTK/IO/Geometry/vtkSTLReader.cxx 2016-06-19 12:59:50.769770143 +0200
@@ -448,7 +448,7 @@
done = done || (fscanf(fp,"%s", line)==EOF);
}
}
- if (!done)
+ else if (!done)
{
done = (fgets(line, 255, fp) == 0);
lineCount++;
--- ParaView-5.0.1/VTK/CMake/vtkCompilerExtras.cmake.orig 2016-03-28 17:07:10.000000000 +0200
+++ ParaView-5.0.1/VTK/CMake/vtkCompilerExtras.cmake 2016-06-11 15:10:14.820958942 +0200
@@ -32,7 +32,7 @@
OUTPUT_VARIABLE _gcc_version_info
ERROR_VARIABLE _gcc_version_info)
- string (REGEX MATCH "[345]\\.[0-9]\\.[0-9]*"
+ string (REGEX MATCH "[3-9]\\.[0-9]\\.[0-9]*"
_gcc_version "${_gcc_version_info}")
if(NOT _gcc_version)
string (REGEX REPLACE ".*\\(GCC\\).*([34]\\.[0-9]).*" "\\1.0"
--- ParaView-5.0.1/VTK/CMake/GenerateExportHeader.cmake.orig 2016-03-28 17:07:10.000000000 +0200
+++ ParaView-5.0.1/VTK/CMake/GenerateExportHeader.cmake 2016-06-11 15:12:16.344357746 +0200
@@ -166,7 +166,7 @@
execute_process(COMMAND ${CMAKE_C_COMPILER} ARGS --version
OUTPUT_VARIABLE _gcc_version_info
ERROR_VARIABLE _gcc_version_info)
- string(REGEX MATCH "[345]\\.[0-9]\\.[0-9]*"
+ string(REGEX MATCH "[3-9]\\.[0-9]\\.[0-9]*"
_gcc_version "${_gcc_version_info}")
# gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the
# patch level, handle this here:
--- ParaView-5.0.1/Qt/Components/CMakeLists.txt.orig 2016-06-13 09:27:27.827849525 +0200
+++ ParaView-5.0.1/Qt/Components/CMakeLists.txt 2016-06-13 09:29:28.599318445 +0200
@@ -640,7 +640,7 @@
#the pqSGExportStateWizard has subclasses that directly access
#the UI file, and currently we don't have a clean way to break this hard
#dependency, so for no we install this ui file.
-if(PARAVIEW_INSTALL_DEVELOPMENT_FILES)
+if(PARAVIEW_INSTALL_DEVELOPMENT_FILES AND PARAVIEW_ENABLE_PYTHON)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ui_pqExportStateWizard.h"
DESTINATION "${VTK_INSTALL_INCLUDE_DIR}")
endif()

View File

@ -1 +0,0 @@
paraview-5.0.1

View File

@ -1,221 +0,0 @@
--- ParaView-5.0.1/VTK/CMake/vtkCompilerExtras.cmake.orig 2016-03-28 17:07:10.000000000 +0200
+++ ParaView-5.0.1/VTK/CMake/vtkCompilerExtras.cmake 2016-12-13 17:21:25.382720945 +0100
@@ -32,7 +32,7 @@
OUTPUT_VARIABLE _gcc_version_info
ERROR_VARIABLE _gcc_version_info)
- string (REGEX MATCH "[345]\\.[0-9]\\.[0-9]*"
+ string (REGEX MATCH "[3-9]\\.[0-9]\\.[0-9]*"
_gcc_version "${_gcc_version_info}")
if(NOT _gcc_version)
string (REGEX REPLACE ".*\\(GCC\\).*([34]\\.[0-9]).*" "\\1.0"
--- ParaView-5.0.1/VTK/CMake/GenerateExportHeader.cmake.orig 2016-03-28 17:07:10.000000000 +0200
+++ ParaView-5.0.1/VTK/CMake/GenerateExportHeader.cmake 2016-12-13 17:21:25.382720945 +0100
@@ -166,7 +166,7 @@
execute_process(COMMAND ${CMAKE_C_COMPILER} ARGS --version
OUTPUT_VARIABLE _gcc_version_info
ERROR_VARIABLE _gcc_version_info)
- string(REGEX MATCH "[345]\\.[0-9]\\.[0-9]*"
+ string(REGEX MATCH "[3-9]\\.[0-9]\\.[0-9]*"
_gcc_version "${_gcc_version_info}")
# gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the
# patch level, handle this here:
--- ParaView-5.0.1/Qt/Components/CMakeLists.txt.orig 2016-03-28 17:07:03.000000000 +0200
+++ ParaView-5.0.1/Qt/Components/CMakeLists.txt 2016-12-13 17:38:42.713553032 +0100
@@ -656,7 +656,7 @@
#the pqSGExportStateWizard has subclasses that directly access
#the UI file, and currently we don't have a clean way to break this hard
#dependency, so for no we install this ui file.
-if(PARAVIEW_INSTALL_DEVELOPMENT_FILES)
+if(PARAVIEW_INSTALL_DEVELOPMENT_FILES AND PARAVIEW_ENABLE_PYTHON)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ui_pqExportStateWizard.h"
DESTINATION "${VTK_INSTALL_INCLUDE_DIR}")
endif()
--- ParaView-5.0.1/CMake/generate_qhp.cmake.orig 2016-03-28 17:06:22.000000000 +0200
+++ ParaView-5.0.1/CMake/generate_qhp.cmake 2016-12-13 17:21:25.382720945 +0100
@@ -44,7 +48,9 @@
message(FATAL_ERROR "Missing one of the required arguments!!")
endif ()
-string (REPLACE "+" ";" file_patterns "${file_patterns}")
+# Recover original ';' separated list.
+string(REPLACE "_s" ";" file_patterns "${file_patterns}")
+string(REPLACE "_u" "_" file_patterns "${file_patterns}")
get_filename_component(working_dir "${output_file}" PATH)
--- ParaView-5.0.1/CMake/ParaViewMacros.cmake.orig 2016-03-28 17:07:03.000000000 +0200
+++ ParaView-5.0.1/CMake/ParaViewMacros.cmake 2016-12-13 17:21:25.382720945 +0100
@@ -219,15 +226,21 @@
set (xmls_string "")
foreach (xml ${xmls})
get_filename_component(xml "${xml}" ABSOLUTE)
- set (xmls_string "${xmls_string}${xml}+")
+ set (xmls_string "${xmls_string}${xml};")
endforeach()
set (gui_xmls_string "")
foreach (gui_xml ${gui_xmls})
get_filename_component(gui_xml "${gui_xml}" ABSOLUTE)
- set (gui_xmls_string "${gui_xmls_string}${gui_xml}+")
+ set (gui_xmls_string "${gui_xmls_string}${gui_xml};")
endforeach()
+ # Escape ';' in lists
+ string(REPLACE "_" "_u" xmls_string "${xmls_string}")
+ string(REPLACE ";" "_s" xmls_string "${xmls_string}")
+ string(REPLACE "_" "_u" gui_xmls_string "${gui_xmls_string}")
+ string(REPLACE ";" "_s" gui_xmls_string "${gui_xmls_string}")
+
set (all_xmls ${xmls} ${gui_xmls})
list (GET all_xmls 0 first_xml)
if (NOT first_xml)
--- ParaView-5.0.1/CMake/generate_proxydocumentation.cmake.orig 2016-03-28 17:06:22.000000000 +0200
+++ ParaView-5.0.1/CMake/generate_proxydocumentation.cmake 2016-12-13 17:21:25.382720945 +0100
@@ -21,8 +21,10 @@
endif()
# input_xmls is a pseudo-list. Convert it to a real CMake list.
-string(REPLACE "+" ";" input_xmls "${input_xmls}")
-string(REPLACE "+" ";" input_gui_xmls "${input_gui_xmls}")
+string(REPLACE "_s" ";" input_xmls "${input_xmls}")
+string(REPLACE "_u" "_" input_xmls "${input_xmls}")
+string(REPLACE "_s" ";" input_gui_xmls "${input_gui_xmls}")
+string(REPLACE "_u" "_" input_gui_xmls "${input_gui_xmls}")
set (xslt_xml)
--- ParaView-5.0.1/VTK/CMake/vtkOpenGL.cmake.orig 2016-03-28 17:07:10.000000000 +0200
+++ ParaView-5.0.1/VTK/CMake/vtkOpenGL.cmake 2017-01-19 10:23:19.170743269 +0100
@@ -19,9 +19,11 @@
# OSMesa logic for offscreen mesa rendering.
option(VTK_OPENGL_HAS_OSMESA
"The OpenGL library being used supports off screen Mesa calls" OFF)
+
# EGL offscreen rendering
option(VTK_USE_OFFSCREEN_EGL
"Use EGL for OpenGL client API for offscreen rendering." OFF)
+
set(VTK_EGL_DEVICE_INDEX 0 CACHE STRING
"Index of the EGL device (graphics card) to use.")
@@ -33,21 +35,26 @@
endif()
option(VTK_USE_OFFSCREEN "Use off screen calls by default" OFF)
+
unset(VTK_CAN_DO_OFFSCREEN)
+unset(VTK_CAN_DO_ONSCREEN)
+
if(VTK_OPENGL_HAS_OSMESA OR WIN32 OR VTK_USE_OFFSCREEN_EGL)
set(VTK_CAN_DO_OFFSCREEN 1)
endif()
+
if(VTK_USE_X OR VTK_USE_COCOA OR WIN32 OR ANDROID OR APPLE_IOS)
- set(VTK_USE_OSMESA FALSE)
+ set(VTK_USE_OSMESA ${VTK_OPENGL_HAS_OSMESA})
if (VTK_USE_OFFSCREEN_EGL)
message(FATAL_ERROR "VTK_USE_OFFSCREEN_EGL set together with one of ("
"VTK_USE_X, VTK_USE_COCOA, WIN32, ANDROID OR APPLE_IOS). "
"You cannot use both offscreen and one of the listed windowing systems.")
endif()
+ set(VTK_CAN_DO_ONSCREEN 1)
elseif(VTK_USE_OFFSCREEN_EGL)
set(VTK_USE_OSMESA FALSE)
else()
- set(VTK_USE_OSMESA TRUE)
+ set(VTK_USE_OSMESA ${VTK_OPENGL_HAS_OSMESA})
endif()
mark_as_advanced(VTK_USE_X VTK_OPENGL_HAS_OSMESA VTK_USE_OFFSCREEN_EGL
@@ -56,10 +63,17 @@
if(VTK_USE_OSMESA)
find_package(OSMesa REQUIRED)
include_directories(SYSTEM ${OSMESA_INCLUDE_DIR})
-elseif(VTK_USE_OFFSCREEN_EGL)
+endif()
+
+if(VTK_USE_OFFSCREEN_EGL)
find_package(EGL REQUIRED)
include_directories(SYSTEM ${EGL_INCLUDE_DIR})
-else()
+endif()
+
+if(VTK_CAN_DO_ONSCREEN)
+ # OpenGL libraries are explicity needed if windowing system-based API is being
+ # used. Otherwise, if only doing OFFSCREEN, the GL API is provided by the
+ # offscreen library be it EGL or OSMESA.
find_package(OpenGL REQUIRED)
include_directories(SYSTEM ${OPENGL_INCLUDE_DIR})
if(APPLE)
@@ -83,9 +97,11 @@
function(vtk_opengl_link target)
if(VTK_USE_OSMESA)
vtk_module_link_libraries(${target} LINK_PRIVATE ${OSMESA_LIBRARY})
- elseif(VTK_USE_OFFSCREEN_EGL)
+ endif()
+ if(VTK_USE_OFFSCREEN_EGL)
vtk_module_link_libraries(${target} LINK_PRIVATE ${EGL_LIBRARIES})
- else()
+ endif()
+ if(VTK_CAN_DO_ONSCREEN)
vtk_module_link_libraries(${target} LINK_PRIVATE ${OPENGL_LIBRARIES})
endif()
endfunction()
--- ParaView-5.0.1/VTK/Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx.orig 2016-03-28 17:07:10.000000000 +0200
+++ ParaView-5.0.1/VTK/Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx 2017-01-19 15:24:21.783214877 +0100
@@ -30,10 +30,25 @@
typedef ptrdiff_t GLsizeiptr;
#include "GL/glx.h"
+
+#ifndef GLAPI
+#define GLAPI extern
+#endif
+
+#ifndef GLAPIENTRY
+#define GLAPIENTRY
+#endif
+
+#ifndef APIENTRY
+#define APIENTRY GLAPIENTRY
+#endif
+
#include "vtkToolkits.h"
#ifdef VTK_USE_OSMESA
#include <GL/osmesa.h>
+
+typedef OSMesaContext GLAPIENTRY (*OSMesaCreateContextAttribs_func)( const int *attribList, OSMesaContext sharelist );
#endif
#include "vtkCommand.h"
@@ -757,6 +772,28 @@
this->Size[1] = height;
this->OwnWindow = 1;
}
+
+#if (OSMESA_MAJOR_VERSION * 100 + OSMESA_MINOR_VERSION >= 1102) && defined(OSMESA_CONTEXT_MAJOR_VERSION)
+ static const int attribs[] = {
+ OSMESA_FORMAT, OSMESA_RGBA,
+ OSMESA_DEPTH_BITS, 32,
+ OSMESA_STENCIL_BITS, 0,
+ OSMESA_ACCUM_BITS, 0,
+ OSMESA_PROFILE, OSMESA_CORE_PROFILE,
+ OSMESA_CONTEXT_MAJOR_VERSION, 3,
+ OSMESA_CONTEXT_MINOR_VERSION, 2,
+ 0 };
+
+ OSMesaCreateContextAttribs_func OSMesaCreateContextAttribs =
+ (OSMesaCreateContextAttribs_func)
+ OSMesaGetProcAddress("OSMesaCreateContextAttribs");
+
+ if (OSMesaCreateContextAttribs != NULL)
+ {
+ this->Internal->OffScreenContextId = OSMesaCreateContextAttribs(attribs, NULL);
+ }
+#endif
+ // if we still have no context fall back to the generic signature
if (!this->Internal->OffScreenContextId)
{
this->Internal->OffScreenContextId = OSMesaCreateContext(GL_RGBA, NULL);

View File

@ -1 +0,0 @@
paraview-5.1.2

View File

@ -1,65 +0,0 @@
--- ParaView-5.1.2/Qt/Components/CMakeLists.txt.orig 2016-07-26 21:52:16.000000000 +0200
+++ ParaView-5.1.2/Qt/Components/CMakeLists.txt 2016-12-13 17:38:42.713553032 +0100
@@ -591,7 +591,7 @@
#the pqSGExportStateWizard has subclasses that directly access
#the UI file, and currently we don't have a clean way to break this hard
#dependency, so for no we install this ui file.
-if(PARAVIEW_INSTALL_DEVELOPMENT_FILES)
+if(PARAVIEW_INSTALL_DEVELOPMENT_FILES AND PARAVIEW_ENABLE_PYTHON)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ui_pqExportStateWizard.h"
DESTINATION "${VTK_INSTALL_INCLUDE_DIR}")
endif()
--- ParaView-5.1.2/CMake/generate_qhp.cmake.orig 2016-03-28 17:06:22.000000000 +0200
+++ ParaView-5.1.2/CMake/generate_qhp.cmake 2016-12-13 17:21:25.382720945 +0100
@@ -44,7 +48,9 @@
message(FATAL_ERROR "Missing one of the required arguments!!")
endif ()
-string (REPLACE "+" ";" file_patterns "${file_patterns}")
+# Recover original ';' separated list.
+string(REPLACE "_s" ";" file_patterns "${file_patterns}")
+string(REPLACE "_u" "_" file_patterns "${file_patterns}")
get_filename_component(working_dir "${output_file}" PATH)
--- ParaView-5.1.2/CMake/ParaViewMacros.cmake.orig 2016-03-28 17:07:03.000000000 +0200
+++ ParaView-5.1.2/CMake/ParaViewMacros.cmake 2016-12-13 17:21:25.382720945 +0100
@@ -219,15 +226,21 @@
set (xmls_string "")
foreach (xml ${xmls})
get_filename_component(xml "${xml}" ABSOLUTE)
- set (xmls_string "${xmls_string}${xml}+")
+ set (xmls_string "${xmls_string}${xml};")
endforeach()
set (gui_xmls_string "")
foreach (gui_xml ${gui_xmls})
get_filename_component(gui_xml "${gui_xml}" ABSOLUTE)
- set (gui_xmls_string "${gui_xmls_string}${gui_xml}+")
+ set (gui_xmls_string "${gui_xmls_string}${gui_xml};")
endforeach()
+ # Escape ';' in lists
+ string(REPLACE "_" "_u" xmls_string "${xmls_string}")
+ string(REPLACE ";" "_s" xmls_string "${xmls_string}")
+ string(REPLACE "_" "_u" gui_xmls_string "${gui_xmls_string}")
+ string(REPLACE ";" "_s" gui_xmls_string "${gui_xmls_string}")
+
set (all_xmls ${xmls} ${gui_xmls})
list (GET all_xmls 0 first_xml)
if (NOT first_xml)
--- ParaView-5.1.2/CMake/generate_proxydocumentation.cmake.orig 2016-03-28 17:06:22.000000000 +0200
+++ ParaView-5.1.2/CMake/generate_proxydocumentation.cmake 2016-12-13 17:21:25.382720945 +0100
@@ -21,8 +21,10 @@
endif()
# input_xmls is a pseudo-list. Convert it to a real CMake list.
-string(REPLACE "+" ";" input_xmls "${input_xmls}")
-string(REPLACE "+" ";" input_gui_xmls "${input_gui_xmls}")
+string(REPLACE "_s" ";" input_xmls "${input_xmls}")
+string(REPLACE "_u" "_" input_xmls "${input_xmls}")
+string(REPLACE "_s" ";" input_gui_xmls "${input_gui_xmls}")
+string(REPLACE "_u" "_" input_gui_xmls "${input_gui_xmls}")
set (xslt_xml)

View File

@ -7,20 +7,8 @@
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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/>.
# #
# Script # Script
# etc/pkgconfigAdjust # etc/pkgconfigAdjust

View File

@ -7,20 +7,8 @@
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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/>.
# #
# Script # Script
# etc/pkgconfigPrefix # etc/pkgconfigPrefix

View File

@ -7,20 +7,8 @@
# \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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/>.
# #
# Script # Script
# etc/relocateQt # etc/relocateQt

View File

@ -6,20 +6,8 @@
# \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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 # File
# etc/tools/ParaViewFunctions # etc/tools/ParaViewFunctions
@ -27,6 +15,18 @@
# Description # Description
# ParaView make/install helper functions # ParaView make/install helper functions
# #
# Note
# Obtaining paths via 'python-config' is possible, but may not always
# resolve properly:
#
# python-config --includes
# >>
# -I/usr/include/python2.7 -I/usr/include/python2.7
#
# python-config --libs
# >>
# -lpython2.7 -lpthread -ldl -lutil -lm
#
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# Variables referenced by the functions. Initialization at the end of the file. # Variables referenced by the functions. Initialization at the end of the file.
@ -116,10 +116,10 @@ setParaViewVersion()
# #
addCMakeVariable() addCMakeVariable()
{ {
while [ -n "$1" ] local i
for i
do do
CMAKE_VARIABLES="$CMAKE_VARIABLES -D$1" [ -n "$i" ] && CMAKE_VARIABLES="$CMAKE_VARIABLES -D$i"
shift
done done
} }
@ -146,7 +146,7 @@ addMpiSupport()
return return
fi fi
addCMakeVariable "PARAVIEW_USE_MPI=ON VTK_USE_MPI=ON" addCMakeVariable "PARAVIEW_USE_MPI=ON" "VTK_USE_MPI=ON"
if [ "${MPI_MAX_PROCS:=0}" -gt 1 ] if [ "${MPI_MAX_PROCS:=0}" -gt 1 ]
then then
addCMakeVariable "VTK_MPI_MAX_NUMPROCS=$MPI_MAX_PROCS" addCMakeVariable "VTK_MPI_MAX_NUMPROCS=$MPI_MAX_PROCS"
@ -159,68 +159,91 @@ addMpiSupport()
# #
addPythonSupport() addPythonSupport()
{ {
if [ "${withPYTHON:=false}" != true ] if [ "${withPYTHON:-false}" != true ]
then then
return return
fi fi
if pythonBin=$(which python 2>/dev/null) local pythonBin pythonConfig pythonMajor
then
if [ -n "$PYTHON_LIBRARY" ]
then
# Check $PYTHON_LIBRARY if it has been set
if [ ! -e "$PYTHON_LIBRARY" ]
then
echo "*** Error: libpython not found at location specified " \
"by -pythnon-lib input: PYTHON_LIBRARY=$PYTHON_LIBRARY"
fi
else
# Try to get $PYTHON_LIBRARY from dynamically linked binary
PYTHON_LIBRARY=$(ldd $pythonBin | \
sed -ne '/libpython/s/.* => \(.*\) (.*/\1/p')
[ -e "$PYTHON_LIBRARY" ] || { pythonBin=$(which python 2>/dev/null) || {
echo "*** Error: Unable to determine path to python library."
}
fi
[ -e "$PYTHON_LIBRARY" ] || {
echo " Please set the full path to the python library "
echo " (including libpython) using the -python-lib option, "
echo " or deactivate python support by not using the -python "
echo " option"
exit 1
}
pythonMajor=$(echo $PYTHON_LIBRARY | sed 's/.*libpython\(.*\)\.so.*/\1/')
pythonInclude=/usr/include/python$pythonMajor
# Note - we could also allow for a PYTHON_INCLUDE variable ...
[ -d "$pythonInclude" -a -f "$pythonInclude/Python.h" ] || {
echo " No python headers found in $pythonInclude/"
echo " Please install python headers or deactivate "
echo " python support by not using the -python option"
exit 1
}
addCMakeVariable "PARAVIEW_ENABLE_PYTHON=ON"
addCMakeVariable "PYTHON_INCLUDE_DIRS=$pythonInclude"
addCMakeVariable "PYTHON_LIBRARY=$PYTHON_LIBRARY"
echo "----"
echo "Python information:"
echo " executable : $pythonBin"
echo " version : $pythonMajor"
echo " include path : $pythonInclude"
echo " library : $PYTHON_LIBRARY"
unset pythonBin pythonInclude pythonMajor
else
echo "*** Error: python not found" echo "*** Error: python not found"
echo "*** Deactivate python support by not using the -python " echo "*** Deactivate python support by not using the -python "
echo "*** option" echo "*** option"
exit 1 exit 1
}
if [ -n "$PYTHON_LIBRARY" ]
then
# PYTHON_LIBRARY set:
[ -e "$PYTHON_LIBRARY" ] || \
echo "*** Error: libpython not found at location specified " \
"by -python-lib : PYTHON_LIBRARY=$PYTHON_LIBRARY"
else
# Fallback: get PYTHON_LIBRARY from dynamically linked binary
PYTHON_LIBRARY=$(ldd $pythonBin | \
sed -ne '/libpython/s/^.* => \(.*\) (.*/\1/p')
[ -e "$PYTHON_LIBRARY" ] || {
echo "*** Error: Unable to determine path to python library."
}
fi fi
[ -e "$PYTHON_LIBRARY" ] || {
echo " Please set the full path to the python library "
echo " (including libpython) using the -python-lib option, "
echo " or deactivate python support by not using the -python "
echo " option"
exit 1
}
# Guess major from library
pythonMajor=$(echo $PYTHON_LIBRARY | sed 's/.*libpython\(.*\)\.so.*/\1/')
if [ -n "$PYTHON_INCLUDE" ]
then
# PYTHON_INCLUDE set:
[ -d "$PYTHON_INCLUDE" -a -f "$PYTHON_INCLUDE/Python.h" ] || \
echo "*** Error: Python.h not found at location specified " \
"by -python-include : PYTHON_INCLUDE=$PYTHON_INCLUDE"
elif pythonConfig=$(which python-config 2>/dev/null)
then
# Guess from python-config
# parse '-I/usr/include/python2.7 -I/usr/include/python2.7'
# -> '/usr/include/python2.7'
PYTHON_INCLUDE=$(python-config --includes | sed -ne 's/^-I\([^ ][^ ]*\).*$/\1/p')
else
# Fallback to system headers
PYTHON_INCLUDE=/usr/include/python$pythonMajor
fi
[ -d "$PYTHON_INCLUDE" -a -f "$PYTHON_INCLUDE/Python.h" ] || {
echo " No python headers found in $PYTHON_INCLUDE/"
echo " Please install python headers or deactivate "
echo " python support by not using the -python option"
exit 1
}
addCMakeVariable "PARAVIEW_ENABLE_PYTHON=ON"
addCMakeVariable "PYTHON_INCLUDE_DIRS=$PYTHON_INCLUDE"
addCMakeVariable "PYTHON_LIBRARY=$PYTHON_LIBRARY"
echo "----"
echo "Python information:"
echo " executable : $pythonBin"
echo " version : $pythonMajor"
echo " include path : $PYTHON_INCLUDE"
echo " library : $PYTHON_LIBRARY"
} }

View File

@ -6,20 +6,8 @@
# \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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 # File
# etc/tools/QtFunction # etc/tools/QtFunction

View File

@ -6,26 +6,14 @@
# \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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 # File
# etc/tools/ThirdPartyFunctions # etc/tools/ThirdPartyFunctions
# #
# Description # Description
# Functions for managing the third-party packages # Various functions used in building ThirdParty packages
# #
# Define the standard buildBASE and installBASE for the platform # Define the standard buildBASE and installBASE for the platform
# Define WM_NCOMPPROCS always. # Define WM_NCOMPPROCS always.
@ -58,16 +46,21 @@ useGccFlag()
done done
} }
# Return mpiicc (for INTELMPI) or mpicc etc. # Return <mpicc> by default or <mpiicc> if possible for INTELMPI.
# Cray doesn't have <mpicc>, but its <cc> manages mpi paths directly.
# NOTE: could further refine based on $CC or $WM_CC, but not yet needed
whichMpicc() whichMpicc()
{ {
local mpicc local mpicc=$(command -v mpicc)
case "$WM_MPLIB" in case "$WM_MPLIB" in
(INTELMPI) (INTELMPI)
mpicc=$(command -v mpiicc) # Try using intel 'mpiicc' mpicc=$(command -v mpiicc) # Intel <mpiicc> available?
;;
(CRAY-MPI*)
: ${mpicc:=cc} # Cray <cc> if there is no <mpicc>
;; ;;
esac esac
echo "${mpicc:-mpicc}" # mpiicc | mpicc echo "${mpicc:-mpicc}"
} }
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
@ -117,7 +110,6 @@ else
WM_NCOMPPROCS=1 WM_NCOMPPROCS=1
fi fi
export WM_NCOMPPROCS export WM_NCOMPPROCS
# echo "Building on $WM_NCOMPPROCS cores"
# #
@ -417,7 +409,7 @@ downloadFile()
# #
# Copy Make/{files,options} from etc/wmakeFiles/PACKAGE # Copy Make/{files,options} from etc/makeFiles/PACKAGE
# #
# $1 = PACKAGE # $1 = PACKAGE
# $2 = TARGET DIRECTORY (optional) # $2 = TARGET DIRECTORY (optional)
@ -432,7 +424,7 @@ cpMakeFiles()
local dst="${2:-.}" local dst="${2:-.}"
echo "cpMakeFiles" $pkg $dst echo "cpMakeFiles" $pkg $dst
wmakeFiles=$WM_THIRD_PARTY_DIR/etc/wmakeFiles/$pkg wmakeFiles=$WM_THIRD_PARTY_DIR/etc/makeFiles/$pkg
for i in $(cd $wmakeFiles && find . -type f) for i in $(cd $wmakeFiles && find . -type f)
do do

View File

@ -6,20 +6,8 @@
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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 # File
# etc/tools/vtkFunctions # etc/tools/vtkFunctions
@ -169,11 +157,12 @@ makeVTK()
cd $VTK_BUILD_DIR || exit 1 # Change to build folder cd $VTK_BUILD_DIR || exit 1 # Change to build folder
echo " Starting make" echo " Starting make"
time make -j $WM_NCOMPPROCS time make -j $WM_NCOMPPROCS
echo " Done make"
# Remove lib if it is a link # Remove lib if it is a link
# (how this was previously handled before 'make install' worked) # (how this was previously handled before 'make install' worked)
[ -L lib ] && rm -f lib 2>/dev/null [ -L lib ] && rm -f lib 2>/dev/null
echo " Done make" # Last statement for clean return code
} }

View File

@ -1,3 +0,0 @@
/* NOTE: make any changes to this file in etc/wmakeFiles/ */
/* EXE_INC = */

View File

@ -7,20 +7,8 @@
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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/>.
# #
# Script # Script
# makeADIOS # makeADIOS
@ -51,7 +39,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] [adios-VERSION] usage: ${0##*/} [OPTION] [adios-VERSION] [-- configure-options]
options: options:
-cmake PATH With cmake from the path given -cmake PATH With cmake from the path given
-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
@ -75,6 +63,7 @@ while [ "$#" -gt 0 ]
do do
case "$1" in case "$1" in
'') ;; # Ignore empty '') ;; # Ignore empty
--) break;; # Extra configure options (leave on $@ for later detection)
-h | -help) usage ;; -h | -help) usage ;;
-gcc) useGcc ;; -gcc) useGcc ;;
@ -86,6 +75,7 @@ do
ADIOS-[1-9]* | adios-[1-9]* | ADIOS-git* | adios-git*) ADIOS-[1-9]* | adios-[1-9]* | ADIOS-git* | adios-git*)
adiosPACKAGE="${1%%/}" adiosPACKAGE="${1%%/}"
;; ;;
*) *)
die "unknown option/argument: '$1'" die "unknown option/argument: '$1'"
;; ;;
@ -95,7 +85,7 @@ done
[ -n "$adiosPACKAGE" ] || die "The adios-VERSION was not specified" [ -n "$adiosPACKAGE" ] || die "The adios-VERSION was not specified"
# nothing to build # Nothing to build
if _foamIsNone "$adiosPACKAGE" if _foamIsNone "$adiosPACKAGE"
then then
echo "Using adios-none (skip ThirdParty build of ADIOS)" echo "Using adios-none (skip ThirdParty build of ADIOS)"
@ -246,7 +236,7 @@ then
echo "Starting build: $adiosPACKAGE (using configure)" echo "Starting build: $adiosPACKAGE (using configure)"
echo echo
( (
# configuration options: # Configuration options:
unset configOpt unset configOpt
# Add InfiniBand support # Add InfiniBand support
@ -257,22 +247,29 @@ then
fi fi
# Transport layers # Transport layers
if [ -f "/usr/include/bzlib.h" ] if [ -f /usr/include/bzlib.h ]
then then
configOpt="$configOpt --with-bzip2" configOpt="$configOpt --with-bzip2"
fi fi
if [ -f "/usr/include/zlib.h" ] if [ -f /usr/include/zlib.h ]
then then
configOpt="$configOpt --with-zlib" configOpt="$configOpt --with-zlib"
fi fi
# Other types of support # Other types of support
## $configOpt="$configOpt --with-hdf5=..." ## configOpt="$configOpt --with-hdf5=..."
## $configOpt="$configOpt --with-lustre=..." ## configOpt="$configOpt --with-lustre=..."
## configOpt="$configOpt --enable-research-transports" ## configOpt="$configOpt --enable-research-transports"
# end of configuration options # Additional configure options
if [ "$1" = "--" ]
then
shift
configOpt="$configOpt $@"
fi
# End of configuration options
# ---------------------------- # ----------------------------
buildDIR=$buildBASE/$adiosPACKAGE buildDIR=$buildBASE/$adiosPACKAGE

View File

@ -7,20 +7,8 @@
# \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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/>.
# #
# Script # Script
# makeCCMIO # makeCCMIO
@ -111,29 +99,48 @@ CCMIO_ARCH_PATH=$installBASE/$ccmioPACKAGE
# Sources must be available # Sources must be available
[ -d "$CCMIO_SOURCE_DIR" ] || die "Missing sources: '$ccmioPACKAGE'" [ -d "$CCMIO_SOURCE_DIR" ] || die "Missing sources: '$ccmioPACKAGE'"
#
# Manual installation
#
install()
{
# Ensure a clean build next time
wclean
local incdir=$CCMIO_ARCH_PATH/include/libccmio
# Make headers available:
mkdir -m 0755 -p $incdir
/bin/cp -pv libccmio/ccmio*.h $incdir
}
echo "Starting build: $ccmioPACKAGE ($targetType)"
echo
( (
cd $CCMIO_SOURCE_DIR || exit 1 cd $CCMIO_SOURCE_DIR || exit 1
export GIT_DIR=$PWD/.git # Mask seeing our own git-repo export GIT_DIR=$PWD/.git # Mask seeing our own git-repo
incDIR=$CCMIO_ARCH_PATH/include/libccmio rm -rf $CCMIO_ARCH_PATH
libDIR=$CCMIO_ARCH_PATH/lib rm -f $FOAM_EXT_LIBBIN/libccmio.so
mkdir -p $incDIR 2>/dev/null libdir=$CCMIO_ARCH_PATH/lib
mkdir -p $libDIR 2>/dev/null
cpMakeFiles libccmio 2>/dev/null cpMakeFiles libccmio 2>/dev/null
# Place static libraries in sub-directory: # Place static libraries in sub-directory:
if [ "$targetType" = lib ] if [ "$targetType" = lib ]
then then
export FOAM_EXT_LIBBIN=$libDIR mkdir -m 0755 -p $libdir 2>/dev/null
export FOAM_EXT_LIBBIN=$libdir
fi fi
if wmake $targetType wmake -j $WM_NCOMPPROCS -s $targetType \
then && echo "Built: ccmio" \
# Make headers available: && install
/bin/cp -pv libccmio/ccmio*.h $incDIR ) || {
fi echo "Error building: ccmio"
) exit 1
}
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------

View File

@ -7,20 +7,8 @@
# \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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/>.
# #
# Script # Script
# makeCGAL # makeCGAL
@ -44,8 +32,8 @@ then
dir="$2" # <- CGAL_ARCH_PATH dir="$2" # <- CGAL_ARCH_PATH
if [ -d "$dir/include" -a -r "$dir/lib$WM_COMPILER_LIB_ARCH/libCGAL.so" ] if [ -d "$dir/include" -a -r "$dir/lib$WM_COMPILER_LIB_ARCH/libCGAL.so" ]
then then
echo " CGAL headers in $dir/include" echo " CGAL include: $dir/include"
echo " CGAL libs in $dir/lib$WM_COMPILER_LIB_ARCH" echo " CGAL library: $dir/lib$WM_COMPILER_LIB_ARCH"
# Additional information about boost # Additional information about boost
dir="$3" # <- BOOST_ARCH_PATH dir="$3" # <- BOOST_ARCH_PATH
for root in "$dir" /usr for root in "$dir" /usr
@ -53,8 +41,8 @@ then
if [ -d "$root/include/boost" \ if [ -d "$root/include/boost" \
-a -r "$root/lib$WM_COMPILER_LIB_ARCH/libboost_system.so" ] -a -r "$root/lib$WM_COMPILER_LIB_ARCH/libboost_system.so" ]
then then
echo " BOOST headers in $root/include" echo " boost include: $root/include"
echo " BOOST libs in $root/lib$WM_COMPILER_LIB_ARCH" echo " boost library: $root/lib$WM_COMPILER_LIB_ARCH"
break break
fi fi
done done

View File

@ -7,20 +7,8 @@
# \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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/>.
# #
# Script # Script
# makeCmake # makeCmake

View File

@ -7,20 +7,8 @@
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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/>.
# #
# Script # Script
# makeFFTW # makeFFTW
@ -38,8 +26,8 @@ then
dir="$2" # <- FFTW_ARCH_PATH dir="$2" # <- FFTW_ARCH_PATH
if [ -d "$dir/include" -a -r "$dir/lib$WM_COMPILER_LIB_ARCH/libfftw3.so" ] if [ -d "$dir/include" -a -r "$dir/lib$WM_COMPILER_LIB_ARCH/libfftw3.so" ]
then then
echo " FFTW headers in $dir/include" echo " fftw include: $dir/include"
echo " FFTW libs in $dir/lib$WM_COMPILER_LIB_ARCH" echo " fftw library: $dir/lib$WM_COMPILER_LIB_ARCH"
exit 0 exit 0
else else
exit 2 exit 2

16
makeGcc
View File

@ -7,20 +7,8 @@
# \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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/>.
# #
# Script # Script
# makeGcc # makeGcc

View File

@ -7,20 +7,8 @@
# \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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/>.
# #
# Script # Script
# makeGperftools # makeGperftools

193
makeKAHIP Executable file
View File

@ -0,0 +1,193 @@
#!/bin/sh
#------------------------------------------------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 2017 OpenCFD Ltd.
# \\/ M anipulation |
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM, licensed under GNU General Public License
# <http://www.gnu.org/licenses/>.
#
# Script
# makeKAHIP
#
# Description
# Build the KaHIP library (int32 only).
#
# ----------------------------------------------
# NO USER-CONFIGURABLE SETTINGS WITHIN THIS FILE
#------------------------------------------------------------------------------
# Short-circuit test for an installation
if [ "$1" = "-test" ]
then
[ "$#" -eq 2 ] || { echo "${0##*/} -test : needs 1 argument"; exit 1; }
dir="$2" # <- KAHIP_ARCH_PATH
if [ -d "$dir/include" ]
then
for lib in \
$FOAM_EXT_LIBBIN/libkahip.so \
$dir/lib/libkahip.a \
$dir/lib/libkahip.so \
$dir/lib$WM_COMPILER_LIB_ARCH/libkahip.a \
$dir/lib$WM_COMPILER_LIB_ARCH/libkahip.so \
;
do
if [ -r "$lib" ]
then
echo " kahip include: $dir/include"
echo " kahip library: ${lib%/*}"
exit 0
fi
done
fi
exit 2
fi
#------------------------------------------------------------------------------
# Run from third-party directory only
cd ${0%/*} && wmakeCheckPwd "$WM_THIRD_PARTY_DIR" 2>/dev/null || {
echo "Error (${0##*/}) : not located in \$WM_THIRD_PARTY_DIR"
echo " Check your OpenFOAM environment and installation"
exit 1
}
[ -n "$FOAM_EXT_LIBBIN" ] || {
echo "Error (${0##*/}) : \$FOAM_EXT_LIBBIN not set"
echo " Check your OpenFOAM environment and installation"
exit 1
}
. etc/tools/ThirdPartyFunctions
#------------------------------------------------------------------------------
_foamEtc config.sh/kahip
kahipPACKAGE=${KAHIP_VERSION:-kahip-system}
targetType=libso
#------------------------------------------------------------------------------
usage()
{
exec 1>&2
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
/bin/cat<<USAGE
Usage: ${0##*/} [OPTION] [lib|libso] [kahip-VERSION]
options:
-gcc Force gcc/g++ instead of the values from \$WM_CC, \$WM_CXX
-help
* Compile KaHIP
$kahipPACKAGE
USAGE
exit 1
}
#------------------------------------------------------------------------------
# Parse options
while [ "$#" -gt 0 ]
do
case "$1" in
'') ;; # Ignore empty
-h | -help) usage ;;
-gcc) useGcc ;;
lib|libso)
targetType="$1"
;;
kahip-[1-9]* | kahip-git)
kahipPACKAGE="${1%%/}"
unset KAHIP_ARCH_PATH # Avoid inconsistency
;;
*)
die "unknown option/argument: '$1'"
;;
esac
shift
done
[ -n "$kahipPACKAGE" ] || die "The kahip-VERSION was not specified"
# Nothing to build
if _foamIsNone $kahipPACKAGE
then
echo "Using kahip-none (skip ThirdParty build of KAHIP)"
exit 0
elif _foamIsSystem $kahipPACKAGE
then
echo "Using kahip-system"
exit 0
fi
#------------------------------------------------------------------------------
#
# Build KaHIP
#
# KAHIP_ARCH_PATH : installation directory
# KAHIP_SOURCE_DIR : location of the original sources
KAHIP_SOURCE_DIR=$sourceBASE/$kahipPACKAGE
KAHIP_ARCH_PATH=$installBASE/$kahipPACKAGE
[ -d "$KAHIP_SOURCE_DIR" ] || {
echo "Missing sources: '$kahipPACKAGE'"
exit 1
}
#
# Manual installation
#
install()
{
# Ensure a clean build next time
wclean
local bindir=$KAHIP_ARCH_PATH/bin
local incdir=$KAHIP_ARCH_PATH/include
local libdir=$KAHIP_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH
mkdir -m 0755 -p $incdir
/bin/cp -pv \
$KAHIP_SOURCE_DIR/interface/kaHIP_interface.h \
$incdir
}
echo "Starting build: $kahipPACKAGE ($targetType)"
echo
(
cd $KAHIP_SOURCE_DIR/lib || exit 1
export GIT_DIR=$KAHIP_SOURCE_DIR/.git # Mask seeing our own git-repo
rm -rf $KAHIP_ARCH_PATH
rm -f $FOAM_EXT_LIBBIN/libkahip.so
libdir=$KAHIP_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH
cpMakeFiles kahip 2>/dev/null
if [ -e ../interface -a ! -e interface ]
then
ln -s ../interface interface
fi
# Place static libraries in sub-directory:
if [ "$targetType" = lib ]
then
mkdir -m 0755 -p $libdir 2>/dev/null
export FOAM_EXT_LIBBIN=$libdir
fi
# Location of lib sources for wmake
export KAHIP_LIB_SRC=$PWD
wmake -j $WM_NCOMPPROCS -s $targetType \
&& echo "Built: kahip" \
&& install
) || {
echo "Error building: kahip"
exit 1
}
#------------------------------------------------------------------------------

View File

@ -7,20 +7,8 @@
# \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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/>.
# #
# Script # Script
# makeLLVM # makeLLVM
@ -35,12 +23,16 @@
# For example, when building from tar files (version 4.0.0) # For example, when building from tar files (version 4.0.0)
# #
# 1) Unpack LLVM: # 1) Unpack LLVM:
# tar -xJf llvm-4.0.0.src.tar.xz # tar -xJf llvm-4.0.1.src.tar.xz
# mv llvm-4.0.0.src llvm-4.0.0 # mv llvm-4.0.1.src llvm-4.0.1
# #
# 2) Unpack Clang (also know as cfe): # 2) Unpack Clang (also know as cfe):
# tar -xJf cfe-4.0.0.src.tar.xz # tar -xJf cfe-4.0.1.src.tar.xz
# mv cfe-4.0.0.src llvm-4.0.0/tools/clang # mv cfe-4.0.1.src llvm-4.0.1/tools/clang
#
# 3) Unpack openmp (optional):
# tar -xJf openmp-4.0.1.src.tar.xz
# mv openmp-4.0.1.src llvm-4.0.1/tools/openmp
# #
# ---------------------------------------------- # ----------------------------------------------
# NO USER-CONFIGURABLE SETTINGS WITHIN THIS FILE # NO USER-CONFIGURABLE SETTINGS WITHIN THIS FILE

189
makeMETIS Executable file
View File

@ -0,0 +1,189 @@
#!/bin/sh
#------------------------------------------------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 2017 OpenCFD Ltd.
# \\/ M anipulation |
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM, licensed under GNU General Public License
# <http://www.gnu.org/licenses/>.
#
# Script
# makeMETIS
#
# Description
# Build script for METIS
#
# ----------------------------------------------
# NO USER-CONFIGURABLE SETTINGS WITHIN THIS FILE
#------------------------------------------------------------------------------
# Short-circuit test for an installation
if [ "$1" = "-test" ]
then
[ "$#" -eq 2 ] || { echo "${0##*/} -test : needs 1 argument"; exit 1; }
dir="$2" # <- METIS_ARCH_PATH
if [ -d "$dir/include" ]
then
for lib in \
$FOAM_EXT_LIBBIN/libmetis.so \
$dir/lib/libmetis.a \
$dir/lib/libmetis.so \
$dir/lib$WM_COMPILER_LIB_ARCH/libmetis.a \
$dir/lib$WM_COMPILER_LIB_ARCH/libmetis.so \
;
do
if [ -r "$lib" ]
then
echo " metis include: $dir/include"
echo " metis library: ${lib%/*}"
exit 0
fi
done
fi
exit 2
fi
#------------------------------------------------------------------------------
# Run from third-party directory only
cd ${0%/*} && wmakeCheckPwd "$WM_THIRD_PARTY_DIR" 2>/dev/null || {
echo "Error (${0##*/}) : not located in \$WM_THIRD_PARTY_DIR"
echo " Check your OpenFOAM environment and installation"
exit 1
}
[ -n "$FOAM_EXT_LIBBIN" ] || {
echo "Error (${0##*/}) : \$FOAM_EXT_LIBBIN not set"
echo " Check your OpenFOAM environment and installation"
exit 1
}
. etc/tools/ThirdPartyFunctions
#------------------------------------------------------------------------------
_foamEtc config.sh/metis
metisPACKAGE=${METIS_VERSION:-metis-system}
targetType=libso
#------------------------------------------------------------------------------
usage() {
exec 1>&2
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
cat<<USAGE
usage: ${0##*/} [OPTION] [lib|libso] [METIS-VERSION]
options:
-gcc Force gcc/g++ instead of the values from \$WM_CC, \$WM_CXX
-help
* build METIS with
${metisPACKAGE:-'unspecified metis version'}
USAGE
exit 1
}
#------------------------------------------------------------------------------
# Compiler settings for CMake/configure
[ -n "$WM_CC" ] && export CC="$WM_CC"
[ -n "$WM_CXX" ] && export CXX="$WM_CXX"
# Parse options
while [ "$#" -gt 0 ]
do
case "$1" in
'') ;; # Ignore empty
-h | -help) usage ;;
-gcc) useGcc ;;
lib|libso)
targetType="$1"
;;
metis-[0-9]*)
metisPACKAGE="${1%%/}"
unset METIS_ARCH_PATH # Avoid inconsistency
;;
*)
die "unknown option/argument: '$1'"
;;
esac
shift
done
[ -n "$metisPACKAGE" ] || die "The metis-VERSION was not specified"
# Nothing to build
if _foamIsNone $metisPACKAGE
then
echo "Using metis-none (skip ThirdParty build of METIS)"
exit 0
elif _foamIsSystem $metisPACKAGE
then
echo "Using metis-system"
exit 0
fi
#------------------------------------------------------------------------------
#
# Build METIS
#
# METIS_ARCH_PATH : installation directory
# METIS_SOURCE_DIR : location of the original sources
METIS_SOURCE_DIR=$sourceBASE/$metisPACKAGE
: ${METIS_ARCH_PATH:=$installBASE$WM_PRECISION_OPTION$WM_LABEL_OPTION/$metisPACKAGE}
[ -d "$METIS_SOURCE_DIR" ] || {
echo "Missing sources: '$metisPACKAGE'"
exit 1
}
#
# Manual installation (of library)
#
install()
{
local libdir=$METIS_ARCH_PATH/lib
if [ "$targetType" = libso ]
then
\mv $libdir/libmetis.so $FOAM_EXT_LIBBIN
rmdir $libdir 2>/dev/null # Failed rmdir is uncritical
echo "Installing: $FOAM_EXT_LIBBIN/libmetis.so"
fi
return 0
}
echo "Starting build: $metisPACKAGE ($targetType)"
echo
(
# Configuration options:
unset configOpt
if [ "$targetType" = libso ]
then
configOpt="shared=1"
fi
cd $METIS_SOURCE_DIR || exit 1
export GIT_DIR=$PWD/.git # Mask seeing our own git-repo
rm -rf $METIS_ARCH_PATH
rm -f $FOAM_EXT_LIBBIN/libmetis.so
# Adjust metis integer size to match OpenFOAM label-size
sed -i -e 's=\(#define IDXTYPEWIDTH\).*=\1 '$WM_LABEL_SIZE'=' \
include/metis.h
# No config option for the library location.
# - build normally and use mv to relocate it
make config $configOpt prefix=$METIS_ARCH_PATH \
&& make -j $WM_NCOMPPROCS install \
&& echo "Built: metis" \
&& install
) || {
echo "Error building: metis"
exit 1
}
#------------------------------------------------------------------------------

View File

@ -7,20 +7,8 @@
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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/>.
# #
# Script # Script
# makeMGridGen # makeMGridGen
@ -91,7 +79,7 @@ done
[ -n "$mgridgenPACKAGE" ] || die "The mgridgen-VERSION was not specified" [ -n "$mgridgenPACKAGE" ] || die "The mgridgen-VERSION was not specified"
# nothing to build # Nothing to build
if _foamIsNone "$mgridgenPACKAGE" if _foamIsNone "$mgridgenPACKAGE"
then then
echo "Using mgridgen-none (skip ThirdParty build of MGridGen)" echo "Using mgridgen-none (skip ThirdParty build of MGridGen)"
@ -124,23 +112,23 @@ echo
# #
install() install()
{ {
echo "Install into $MGRIDGEN_ARCH_PATH" echo "Install into $MGRIDGEN_ARCH_PATH"
local bindir=$MGRIDGEN_ARCH_PATH/bin local bindir=$MGRIDGEN_ARCH_PATH/bin
local incdir=$MGRIDGEN_ARCH_PATH/include local incdir=$MGRIDGEN_ARCH_PATH/include
local libdir=$MGRIDGEN_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH local libdir=$MGRIDGEN_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH
for dir in $MGRIDGEN_ARCH_PATH $bindir $incdir $libdir for dir in $MGRIDGEN_ARCH_PATH $bindir $incdir $libdir
do do
mkdir -m 0755 -p $dir mkdir -m 0755 -p $dir
done done
cp -vf mgridgen.h $incdir cp -vf mgridgen.h $incdir
cp -vf libmgrid.a $libdir cp -vf libmgrid.a $libdir
cp -vf mgridgen $bindir cp -vf mgridgen $bindir
chmod -R 0644 $incdir/* $libdir/* chmod -R 0644 $incdir/* $libdir/*
chmod -R 0755 $bindir/* chmod -R 0755 $bindir/*
} }

View File

@ -7,20 +7,8 @@
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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/>.
# #
# Script # Script
# makeMPICH # makeMPICH
@ -77,7 +65,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] [mpich-VERSION] usage: ${0##*/} [OPTION] [mpich-VERSION] [-- configure-options]
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
@ -98,12 +86,14 @@ while [ "$#" -gt 0 ]
do do
case "$1" in case "$1" in
'') ;; # Ignore empty '') ;; # Ignore empty
--) break;; # Extra configure options (leave on $@ for later detection)
-h | -help) usage ;; -h | -help) usage ;;
-gcc) useGcc ;; -gcc) useGcc ;;
mpich*) mpich*)
mpiPACKAGE="${1%%/}" mpiPACKAGE="${1%%/}"
;; ;;
*) *)
die "unknown option/argument: '$1'" die "unknown option/argument: '$1'"
;; ;;
@ -145,9 +135,17 @@ else
echo echo
( (
# configuration options: # Configuration options:
unset configOpt unset configOpt
# end of configuration options
# Additional configure options
if [ "$1" = "--" ]
then
shift
configOpt="$configOpt $@"
fi
# End of configuration options
# ---------------------------- # ----------------------------
cd $MPI_SOURCE_DIR || exit 1 cd $MPI_SOURCE_DIR || exit 1

View File

@ -7,20 +7,8 @@
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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/>.
# #
# Script # Script
# makeMesa # makeMesa
@ -59,7 +47,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] mesa-VERSION usage: ${0##*/} [OPTION] mesa-VERSION [-- configure-options]
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
@ -90,6 +78,7 @@ while [ "$#" -gt 0 ]
do do
case "$1" in case "$1" in
'') ;; # Ignore empty '') ;; # Ignore empty
--) break;; # Extra configure options (leave on $@ for later detection)
-h | -help) usage ;; -h | -help) usage ;;
-gcc) -gcc)
useGcc useGcc
@ -98,6 +87,7 @@ do
mesa-*) mesa-*)
mesaPACKAGE="${1%%/}" mesaPACKAGE="${1%%/}"
;; ;;
*) *)
die "unknown option/argument: '$1'" die "unknown option/argument: '$1'"
;; ;;
@ -127,7 +117,7 @@ then
exit 2 exit 2
} }
# root installation directory # Root installation directory
thirdPartyClang=${thirdPartyClang%/bin/clang} thirdPartyClang=${thirdPartyClang%/bin/clang}
[ -d "$thirdPartyClang" ] || { [ -d "$thirdPartyClang" ] || {
@ -160,7 +150,7 @@ adjustMESA()
} }
( (
# configuration options: # Configuration options:
unset configOpt unset configOpt
if [ -d "$thirdPartyClang" ] if [ -d "$thirdPartyClang" ]
@ -168,14 +158,21 @@ adjustMESA()
configOpt="$configOpt --with-llvm-prefix=$thirdPartyClang" configOpt="$configOpt --with-llvm-prefix=$thirdPartyClang"
fi fi
# end of configuration options # Additional configure options
if [ "$1" = "--" ]
then
shift
configOpt="$configOpt $@"
fi
# End of configuration options
# ---------------------------- # ----------------------------
buildDIR=$buildBASE/$mesaPACKAGE buildDIR=$buildBASE/$mesaPACKAGE
cd $MESA_SOURCE_DIR || exit 1 cd $MESA_SOURCE_DIR || exit 1
export GIT_DIR=$PWD/.git # Mask seeing our own git-repo export GIT_DIR=$PWD/.git # Mask seeing our own git-repo
# remove any existing build # Remove any existing build
rm -rf $MESA_ARCH_PATH rm -rf $MESA_ARCH_PATH
rm -rf $buildDIR rm -rf $buildDIR
mkdir -p $buildDIR mkdir -p $buildDIR
@ -191,7 +188,7 @@ adjustMESA()
fi fi
echo "----" echo "----"
# possibly for older mesa versions (see paraview wiki) # Possibly for older mesa versions (see paraview wiki)
# CXXFLAGS="-O2 -DDEFAULT_SOFTWARE_DEPTH_BITS=31" \ # CXXFLAGS="-O2 -DDEFAULT_SOFTWARE_DEPTH_BITS=31" \
# CFLAGS="-O2 -DDEFAULT_SOFTWARE_DEPTH_BITS=31" \ # CFLAGS="-O2 -DDEFAULT_SOFTWARE_DEPTH_BITS=31" \

View File

@ -7,20 +7,8 @@
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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/>.
# #
# Script # Script
# makeOPENMPI # makeOPENMPI
@ -77,9 +65,12 @@ usage() {
while [ "$#" -ge 1 ]; do echo "$1"; shift; done while [ "$#" -ge 1 ]; do echo "$1"; shift; done
cat<<USAGE cat<<USAGE
usage: ${0##*/} [OPTION] [openmpi-VERSION] usage: ${0##*/} [OPTION] [openmpi-VERSION] [-- configure-options]
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
-memcheck Configure with --enable-memcheck (requires valgrind.h)
-threaded Configure with --enable-mpi-thread-multiple
-no-threaded Configure with --disable-mpi-thread-multiple
-help -help
* build openmpi with * build openmpi with
@ -93,17 +84,24 @@ USAGE
[ -n "$WM_CC" ] && export CC="$WM_CC" [ -n "$WM_CC" ] && export CC="$WM_CC"
[ -n "$WM_CXX" ] && export CXX="$WM_CXX" [ -n "$WM_CXX" ] && export CXX="$WM_CXX"
unset optMemchecker optThreaded
# Parse options # Parse options
while [ "$#" -gt 0 ] while [ "$#" -gt 0 ]
do do
case "$1" in case "$1" in
'') ;; # Ignore empty '') ;; # Ignore empty
--) break;; # Extra configure options (leave on $@ for later detection)
-h | -help) usage ;; -h | -help) usage ;;
-gcc) useGcc ;; -gcc) useGcc ;;
-memcheck*) optMemchecker=true ;;
-thread*) optThreaded=enable ;;
-no-thread*) optThreaded=disable ;;
openmpi-[0-9]* | openmpi_[0-9]* | openmpi-system ) openmpi-[0-9]* | openmpi_[0-9]* | openmpi-system )
mpiPACKAGE="${1%%/}" mpiPACKAGE="${1%%/}"
;; ;;
*) *)
die "unknown option/argument: '$1'" die "unknown option/argument: '$1'"
;; ;;
@ -136,31 +134,38 @@ MPI_ARCH_PATH=$installBASE/$mpiPACKAGE
if [ -r "$MPI_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/libmpi.so" ] if [ -r "$MPI_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/libmpi.so" ]
then then
echo "Already has shared library" echo "Already has shared library: $MPI_ARCH_PATH"
elif [ -r "$MPI_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/libmpi.a" ] elif [ -r "$MPI_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/libmpi.a" ]
then then
echo "Already has static library" echo "Already has static library: $MPI_ARCH_PATH"
else else
echo "Starting build: $WM_MPLIB ($mpiPACKAGE)" echo "Starting build: $WM_MPLIB ($mpiPACKAGE)"
echo echo
( (
# configuration options: # Configuration options:
# Start with GridEngine support - builds without external libraries # Start with GridEngine support - builds without external libraries
configOpt="--with-sge" configOpt="--with-sge"
# Add InfiniBand support if [ -n "$optMemchecker" ]
ibDir=/usr/local/ofed then
for libdir in lib$WM_COMPILER_LIB_ARCH lib configOpt="$configOpt --enable-memchecker --with-valgrind"
do fi
if [ -d "$ibDir/$libdir" ]
then
configOpt="$configOpt --with-verbs=$ibDir --with-verbs-lib=$ibDir/$libdir"
break
fi
done
# end of configuration options # --enable-mpi-thread-multiple / --disable-mpi-thread-multiple
if [ -n "$optThreaded" ]
then
configOpt="$configOpt --${optThreaded}-mpi-thread-multiple"
fi
# Additional configure options
if [ "$1" = "--" ]
then
shift
configOpt="$configOpt $@"
fi
# End of configuration options
# ---------------------------- # ----------------------------
buildDIR=$buildBASE/$mpiPACKAGE buildDIR=$buildBASE/$mpiPACKAGE
@ -181,7 +186,6 @@ else
--disable-orterun-prefix-by-default \ --disable-orterun-prefix-by-default \
--enable-shared --disable-static \ --enable-shared --disable-static \
--enable-mpi-fortran=none \ --enable-mpi-fortran=none \
--disable-mpi-profile \
$configOpt \ $configOpt \
&& set +x \ && set +x \
&& make -j $WM_NCOMPPROCS \ && make -j $WM_NCOMPPROCS \

14
makeOPENMPI.example Executable file
View File

@ -0,0 +1,14 @@
#!/bin/sh
# An example for building OPENMPI with particular settings
openmpi=openmpi-1.10.6
# InfiniBand support
verbs="--with-verbs=/usr/local/ofed --with-verbs-lib=/usr/local/ofed/lib64"
# unset verbs
./makeOPENMPI $openmpi -- \
$verbs \
"$@"
#------------------------------------------------------------------------------

View File

@ -7,26 +7,14 @@
# \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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/>.
# #
# Script # Script
# makeParaView # makeParaView
# #
# Description # Description
# Make and install ParaView 4 or 5. # Make and install ParaView.
# The ParaView sources should be located under one of these locations: # The ParaView sources should be located under one of these locations:
# - $WM_THIRD_PARTY_DIR/ParaView-VERSION # - $WM_THIRD_PARTY_DIR/ParaView-VERSION
# - $WM_THIRD_PARTY_DIR/ParaView-vVERSION # - $WM_THIRD_PARTY_DIR/ParaView-vVERSION
@ -78,6 +66,8 @@ options:
-mpi with mpi -mpi with mpi
-mpi=N with max 'N' mpi processes. N=0 for no upper-limit. -mpi=N with max 'N' mpi processes. N=0 for no upper-limit.
-python with python -python with python
-python-include DIR
location of python headers (current: ${PYTHON_INCLUDE:-none})
-python-lib PATH path to python library (current: ${PYTHON_LIBRARY:-none}) -python-lib PATH path to python library (current: ${PYTHON_LIBRARY:-none})
-cmake PATH with cmake from the path given -cmake PATH with cmake from the path given
-qmake PATH with the Qt version corresponding to the qmake path given -qmake PATH with the Qt version corresponding to the qmake path given
@ -113,7 +103,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 5.0.1 ./makeParaview 5.4.1
Or change the \$WM_PROJECT_DIR/etc/config.sh/paraview settings. Or change the \$WM_PROJECT_DIR/etc/config.sh/paraview settings.
@ -233,6 +223,12 @@ do
-no-python) -no-python)
withPYTHON=false withPYTHON=false
;; ;;
-python-include)
[ "$#" -ge 2 ] || die "'$1' option requires an argument"
withPYTHON=true
PYTHON_INCLUDE="${2%%/}"
shift
;;
-python-lib) -python-lib)
[ "$#" -ge 2 ] || die "'$1' option requires an argument" [ "$#" -ge 2 ] || die "'$1' option requires an argument"
withPYTHON=true withPYTHON=true
@ -291,7 +287,7 @@ done
[ -n "$ParaView_VERSION" ] || die "The paraview-VERSION was not specified" [ -n "$ParaView_VERSION" ] || die "The paraview-VERSION was not specified"
# nothing to build # Nothing to build
if _foamIsNone "$ParaView_VERSION" if _foamIsNone "$ParaView_VERSION"
then then
echo "Using paraview-none (skip ThirdParty build of ParaView)" echo "Using paraview-none (skip ThirdParty build of ParaView)"

31
makeQt
View File

@ -7,20 +7,8 @@
# \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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/>.
# #
# Script # Script
# makeQt # makeQt
@ -45,7 +33,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] [qt-VERSION] usage: ${0##*/} [OPTION] [qt-VERSION] [-- configure-options]
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
@ -67,6 +55,7 @@ while [ "$#" -gt 0 ]
do do
case "$1" in case "$1" in
'') ;; # Ignore empty '') ;; # Ignore empty
--) break;; # Extra configure options (leave on $@ for later detection)
-h | -help) usage ;; -h | -help) usage ;;
-gcc) useGcc ;; -gcc) useGcc ;;
@ -75,6 +64,7 @@ do
qtVERSION="${1%%/}"; qtVERSION="${1%%/}";
qtVERSION="${qtVERSION##*-}" qtVERSION="${qtVERSION##*-}"
;; ;;
*) *)
die "unknown option/argument: '$1'" die "unknown option/argument: '$1'"
;; ;;
@ -83,7 +73,7 @@ do
done done
qtPACKAGE=$qtTYPE-$qtVERSION qtPACKAGE=$qtTYPE-$qtVERSION
# nothing to build # Nothing to build
if _foamIsNone "$qtPACKAGE" if _foamIsNone "$qtPACKAGE"
then then
echo "Using qt-none (skip ThirdParty build of QT)" echo "Using qt-none (skip ThirdParty build of QT)"
@ -134,7 +124,14 @@ else
;; ;;
esac esac
# end of configuration options # Additional configure options
if [ "$1" = "--" ]
then
shift
configOpt="$configOpt $@"
fi
# End of configuration options
# ---------------------------- # ----------------------------
buildDIR=$buildBASE/$qtPACKAGE buildDIR=$buildBASE/$qtPACKAGE

View File

@ -7,20 +7,8 @@
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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/>.
# #
# Script # Script
# makeTecio # makeTecio

18
makeVTK
View File

@ -7,20 +7,8 @@
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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/>.
# #
# Script # Script
# makeVTK # makeVTK
@ -54,7 +42,7 @@ unset vtk_version mesa_version # Purge current values
# vtk version from OpenFOAM etc/config.sh file: # vtk version from OpenFOAM etc/config.sh file:
_foamEtc config.sh/vtk _foamEtc config.sh/vtk
VTK_VERSION=$vtk_version VTK_VERSION="${vtk_version##*-}" # Without prefix
# New rendering backend (starting with vtk 7?). # New rendering backend (starting with vtk 7?).
withGL2=auto # auto-config based on version withGL2=auto # auto-config based on version

View File

@ -7,20 +7,8 @@
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM. # This file is part of OpenFOAM, licensed under GNU General Public License
# # <http://www.gnu.org/licenses/>.
# 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/>.
# #
# Script # Script
# minCmake # minCmake

View File

@ -1,48 +0,0 @@
Third-Party Sources
===================
OpenFOAM-1706
---------------
CGAL-4.9.1
ParaView-5.4.0
boost_1_64_0
fftw-3.3.6-pl1
openmpi-1.10.4
scotch_6.0.3
OpenFOAM-1612
---------------
CGAL-4.9
ParaView-5.0.1
boost_1_62_0
fftw-3.3.5
openmpi-1.10.4
scotch_6.0.3
OpenFOAM-1606
---------------
CGAL-4.8
ParaView-5.0.1
boost_1_61_0
fftw-3.3.4
openmpi-1.10.2
scotch_6.0.3
OpenFOAM v3.0+
---------------
CGAL-4.7
ParaView-4.4.0
openmpi-1.10.0
scotch_6.0.3
OpenFOAM+ 2.4
---------------
CGAL-4.6
ParaView-4.1.0
cmake-2.8.12.1
openmpi-1.8.5
scotch_6.0.3