diff --git a/Allclean b/Allclean index b50475cfb72de9d58acc2004c19fdc87fb452d53..4a9fb4ae87b1d71c3a33cbe2e50ede97b30e9ea3 100755 --- a/Allclean +++ b/Allclean @@ -7,26 +7,14 @@ # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # Script # Allclean # # Description -# Clean script for ThirdParty applications and libraries +# Clean script for ThirdParty applications/libraries # # ---------------------------------------------- # NO USER-CONFIGURABLE SETTINGS WITHIN THIS FILE @@ -94,6 +82,19 @@ do 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 if [ -d build ] then diff --git a/Allwmake b/Allwmake index 06fc4ffb5c0952de8e7865714dfaf0721292af11..1d0c9d16691b7bd46767176a15c875e92264e4da 100755 --- a/Allwmake +++ b/Allwmake @@ -7,26 +7,14 @@ # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # Script # Allwmake # # Description -# Build script for ThirdParty +# Build script for ThirdParty applications/libraries # # ---------------------------------------------- # NO USER-CONFIGURABLE SETTINGS WITHIN THIS FILE @@ -65,8 +53,7 @@ warnBuildIssues() warnNotFound() { - echo " Optional component ($1) was not found" - echo + echo "Optional component ($1) was not found" } #------------------------------------------------------------------------------ @@ -101,20 +88,20 @@ fi echo echo ======================================== -echo "Build Scotch decomposition library $SCOTCH_VERSION" +echo "Scotch decomposition ($SCOTCH_VERSION)" echo " $SCOTCH_ARCH_PATH" SCOTCH_SOURCE_DIR=$sourceBASE/$SCOTCH_VERSION # 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 \ -a -r $FOAM_EXT_LIBBIN/libscotch.so \ -a -r $FOAM_EXT_LIBBIN/libscotcherrexit.so ] then - echo " scotch header in $SCOTCH_ARCH_PATH/include" - echo " scotch libs in $FOAM_EXT_LIBBIN" + echo " scotch include: $SCOTCH_ARCH_PATH/include" + echo " scotch library: $FOAM_EXT_LIBBIN" elif [ -d "$SCOTCH_SOURCE_DIR" ] then ( @@ -145,6 +132,9 @@ then export CCS="${CC:-$WM_CC}" # CCS (serial compiler) default=$(CC) 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 -j $WM_NCOMPPROCS scotch \ && make \ @@ -173,15 +163,15 @@ if [ "${FOAM_MPI:-dummy}" != dummy ] && \ then 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" 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/libptscotcherrexit.so ] then - echo " ptscotch header in $SCOTCH_ARCH_PATH/include/$FOAM_MPI" - echo " ptscotch libs in $FOAM_EXT_LIBBIN/$FOAM_MPI" + echo " ptscotch include: $SCOTCH_ARCH_PATH/include/$FOAM_MPI" + echo " ptscotch library: $FOAM_EXT_LIBBIN/$FOAM_MPI" else ( cd $SCOTCH_SOURCE_DIR/src || exit 1 @@ -209,6 +199,9 @@ then export CCS="${CC:-$WM_CC}" # CCS (serial compiler) default=$(CC) 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 -j $WM_NCOMPPROCS ptscotch \ && make \ @@ -233,55 +226,46 @@ fi #------------------------------------------------------------------------------ -# Metis is optional echo echo ======================================== -echo Build Metis decomposition - -# Get METIS_VERSION, METIS_ARCH_PATH -if settings=$($WM_PROJECT_DIR/bin/foamEtcFile config.sh/metis) +# Get KAHIP_ARCH_PATH +if settings=$($WM_PROJECT_DIR/bin/foamEtcFile config.sh/kahip) then . $settings fi +if [ -n "$KAHIP_ARCH_PATH" ] +then + echo KaHIP decomposition + ./makeKAHIP -test "$KAHIP_ARCH_PATH" || \ + ./makeKAHIP || warnBuildIssues KAHIP +else + warnNotFound KAHIP # METIS is optional +fi -METIS_SOURCE_DIR=$sourceBASE/$METIS_VERSION +#------------------------------------------------------------------------------ +echo +echo ======================================== -if [ -f $METIS_ARCH_PATH/include/metis.h \ - -a -r $FOAM_EXT_LIBBIN/libmetis.so ] +# Get METIS_ARCH_PATH +if settings=$($WM_PROJECT_DIR/bin/foamEtcFile config.sh/metis) then - echo " metis header in $METIS_ARCH_PATH/include" - echo " metis libs in $FOAM_EXT_LIBBIN" -elif [ -d "$METIS_SOURCE_DIR" ] + . $settings +fi +if [ -n "$METIS_ARCH_PATH" ] 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 + echo Metis decomposition + ./makeMETIS -test "$METIS_ARCH_PATH" || \ + ./makeMETIS || warnBuildIssues METIS else - warnNotFound METIS + warnNotFound METIS # METIS is optional fi - #------------------------------------------------------------------------------ echo echo ======================================== -echo Build CGAL if [ -n "$CGAL_ARCH_PATH" ] then + echo "CGAL/boost" ./makeCGAL -test "$CGAL_ARCH_PATH" "$BOOST_ARCH_PATH" || \ ./makeCGAL || warnBuildIssues CGAL else @@ -290,9 +274,9 @@ fi echo echo ======================================== -echo Build FFTW if [ -n "$FFTW_ARCH_PATH" ] then + echo FFTW ./makeFFTW -test "$FFTW_ARCH_PATH" || \ ./makeFFTW || warnBuildIssues FFTW else diff --git a/BUILD.md b/BUILD.md index b66b633cabeab60484ebcb28cc7901038e578b3f..d8737eedd4b6f73fb3d3b9b901ef12b048783d2a 100644 --- a/BUILD.md +++ b/BUILD.md @@ -109,7 +109,7 @@ ThirdParty components prior to building OpenFOAM itself. - This will be automatically invoked by the top-level OpenFOAM `Allwmake`, but can also be invoked directly to find possible build errors. - 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)* - This is optional, but extremely useful for visualization and for run-time post-processing function objects. @@ -122,16 +122,26 @@ ThirdParty components prior to building OpenFOAM itself. #### Optional Components `makeADIOS` -- Only required for ADIOS support, +- Only required for [ADIOS](#parallel) support, which is currently staged in the [add-ons repository][link AddOns]. `makeCGAL` -- Builds third-party boost and CGAL. +- Builds [boost](#general-packages) and [CGAL](#general-packages). Automatically invoked from the ThirdParty `Allwmake`, but can be invoked directly to resolve possible build errors. `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`, but can be invoked directly to resolve possible build errors. @@ -147,11 +157,11 @@ ThirdParty components prior to building OpenFOAM itself. `makeMesa`, `makeVTK` - Additional support for building offscreen rendering components. 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. `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`. - The associated `etc/relocateQt` may be of independent use. Read the file for more details. @@ -188,13 +198,13 @@ and save some disk space. sources that are bundled with ParaView. 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 `vtkVersion.cmake` file. For example, - $ cat ParaView-v5.4.0/VTK/CMake/vtkVersion.cmake + $ cat ParaView-v5.4.1/VTK/CMake/vtkVersion.cmake # VTK version number components. set(VTK_MAJOR_VERSION 8) @@ -207,27 +217,12 @@ and save some disk space. required. See additional notes below about [making Qt](#makeQt) if necessary. -#### 5.4.0 +#### 5.4.x - Compiles without patching. No known issues with the native OpenFOAM reader. -#### 5.3.0 -- Compiles without patching. - 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. +#### 5.3.0 and older are neither recommended nor supported +- Various compilation issues and known bugs. ### ADIOS - 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, - ./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. @@ -302,23 +297,19 @@ install the 32-bit development libraries by default. The minimum version of clang required is 3.3. *Attention*: If you are building a newer version of clang, you may need to -update your CMake beforehand. -GNU *configure* can only be used prior to clang version 3.9. +update your CMake beforehand since GNU *configure* can only be used prior +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 -|-----------------------|------------------------ -| [clang][page clang] | [download][link clang] -| [llvm][page llvm] | [download][link llvm] - - -### 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. +| [clang][page clang] | [download][link clang] or [newer][newer clang] +| [llvm][page llvm] | [download][link llvm] or [newer][newer llvm] +| [openmp][page omp] | [download][link omp] or [newer][newer omp] ### 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] +### 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> | Name | Location |-----------------------|------------------------ | [MESA][page mesa] | [download][link mesa] or [older 13][older13 mesa], [older 11][older11 mesa] | [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> @@ -348,18 +350,14 @@ GNU *configure* can only be used prior to clang version 3.9. The minimum CMake requirements for building various components. 2.8 llvm-3.4.2 - 2.8.8 ParaView-5.0.1 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.8.0 2.8.4 cmake-3.6.0 - 3.3 ParaView-5.1.2 - 3.3 ParaView-5.2.0 - 3.3 ParaView-5.3.0 - 3.3 ParaView-5.4.0 + 3.3 ParaView-5.4.1 3.4.3 llvm-3.9.1 3.4.3 llvm-4.0.0 - 3.5 ParaView-5.1.0 ### 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.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 --> [page gcc]: http://gcc.gnu.org/releases.html @@ -385,26 +387,35 @@ The minimum gcc/g++ requirements for building various components. <!-- clang-related --> -[page clang]: 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 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 llvm]: http://llvm.org/releases/4.0.0/llvm-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.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 --> [page adios]: https://www.olcf.ornl.gov/center-projects/adios/ [repo adios]: https://github.com/ornladios/ADIOS -[link adios]: https://github.com/ornladios/ADIOS/archive/v1.11.1.tar.gz -[altlink adios]: http://users.nccs.gov/%7Epnorbert/adios-1.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.13.0.tar.gz [page zfp]: http://computation.llnl.gov/projects/floating-point-compression/zfp-versions [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 +[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/ [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 @@ -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 [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/ [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 --> [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/ [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/ [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 -[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 Qt4]: http://download.qt.io/official_releases/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.tar.gz +[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 --> [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 --> ## Additional OpenFOAM Links - [Community AddOns][link AddOns] repository - [Collaborative and Community-based Developments][link community-projects] -- [Download](http://www.openfoam.com/releases) and - [installation instructions](http://www.openfoam.com/download/installation.php) +- [Download](http://www.openfoam.com/download) and + [installation instructions](http://www.openfoam.com/code/build-guide.php) - [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) + --- Copyright 2016-2017 OpenCFD Ltd diff --git a/README.md b/README.md index 975a68dd549bf6c7ded623850d0a7061fda81a41..e8571a5da5b607eb8341eefdc397eaea7cc1170a 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | | - | \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. | + | \\ / A nd | Copyright (C) 2016-2017 OpenCFD Ltd. | | \\/ M anipulation | | |--------------------------------------------------------------------------| --> @@ -65,19 +65,26 @@ ThirdParty components prior to building OpenFOAM itself. ### 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 --> ## Additional OpenFOAM Links -- [Download](http://www.openfoam.com/releases) and - [installation instructions](http://www.openfoam.com/download/installation.php) +- [Community AddOns][link AddOns] repository +- [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) -- [Reporting bugs/issues (including bugs/suggestions/feature requests) in OpenFOAM+](http://www.openfoam.com/code/bug-reporting.php) -- [Collaborative and Community-based Developments](http://www.openfoam.com/services/community-projects.php) +- [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) --- -Copyright 2016 OpenCFD Ltd +Copyright 2016-2017 OpenCFD Ltd diff --git a/SOURCES.txt b/SOURCES.txt new file mode 100644 index 0000000000000000000000000000000000000000..0d8c44f414fb8b0e03c39dccfd683e9fef56461c --- /dev/null +++ b/SOURCES.txt @@ -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 + + +--------------- diff --git a/etc/makeFiles/kahip/files b/etc/makeFiles/kahip/files new file mode 100644 index 0000000000000000000000000000000000000000..9ecb867e855333076d5750e19c0d4209580bc6e1 --- /dev/null +++ b/etc/makeFiles/kahip/files @@ -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 diff --git a/etc/makeFiles/kahip/options b/etc/makeFiles/kahip/options new file mode 100644 index 0000000000000000000000000000000000000000..b13ca4a71c970e1e449e1bb5eb5f570e860831dd --- /dev/null +++ b/etc/makeFiles/kahip/options @@ -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 = diff --git a/etc/wmakeFiles/libccmio/files b/etc/makeFiles/libccmio/files similarity index 86% rename from etc/wmakeFiles/libccmio/files rename to etc/makeFiles/libccmio/files index 9949c7617fcece09df88b45fc39d253b2cbd8ace..57e04e32c4d673267720a5283413a4cb414c9162 100644 --- a/etc/wmakeFiles/libccmio/files +++ b/etc/makeFiles/libccmio/files @@ -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_internals.c diff --git a/etc/makeFiles/libccmio/options b/etc/makeFiles/libccmio/options new file mode 100644 index 0000000000000000000000000000000000000000..267c5865a4beb0d3af6725491c4ba24538d8be91 --- /dev/null +++ b/etc/makeFiles/libccmio/options @@ -0,0 +1,3 @@ +/* NOTE: make any changes to this file in etc/makeFiles/ */ + +/* EXE_INC = */ diff --git a/etc/wmakeFiles/scotch/Makefile.inc.i686_pc_linux2.shlib-OpenFOAM b/etc/makeFiles/scotch/Makefile.inc.i686_pc_linux2.shlib-OpenFOAM similarity index 97% rename from etc/wmakeFiles/scotch/Makefile.inc.i686_pc_linux2.shlib-OpenFOAM rename to etc/makeFiles/scotch/Makefile.inc.i686_pc_linux2.shlib-OpenFOAM index c6f1bce3faa2edcc6a64836202a63a44a4f6a21c..1733136f505f922ba5faa6ac7f3ac10aaa126b1a 100644 --- a/etc/wmakeFiles/scotch/Makefile.inc.i686_pc_linux2.shlib-OpenFOAM +++ b/etc/makeFiles/scotch/Makefile.inc.i686_pc_linux2.shlib-OpenFOAM @@ -20,6 +20,7 @@ CCD = $(CCP) CFLAGS = $(WM_CFLAGS) -O3 \ -DCOMMON_FILE_COMPRESS_GZ \ -DCOMMON_RANDOM_FIXED_SEED \ + -DSCOTCH_DETERMINISTIC \ -DSCOTCH_RENAME \ -Drestrict=__restrict diff --git a/etc/patches/ADIOS-1.11.0 b/etc/patches/ADIOS-1.11.0 deleted file mode 100644 index 60ca0dde9fb225f4e43a76f609bb99c39edac5ae..0000000000000000000000000000000000000000 --- a/etc/patches/ADIOS-1.11.0 +++ /dev/null @@ -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++) { diff --git a/etc/patches/adios-1.11.0 b/etc/patches/adios-1.11.0 deleted file mode 120000 index ab6c15d82a0249fd67775d3b893bfa5296a81b88..0000000000000000000000000000000000000000 --- a/etc/patches/adios-1.11.0 +++ /dev/null @@ -1 +0,0 @@ -ADIOS-1.11.0 \ No newline at end of file diff --git a/etc/patches/mkdiff-paraview-5.0.1 b/etc/patches/mkdiff-paraview-5.0.1 deleted file mode 100644 index b727ef9f4653e9daf37cd755648c8a77ca775130..0000000000000000000000000000000000000000 --- a/etc/patches/mkdiff-paraview-5.0.1 +++ /dev/null @@ -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 - -# ----------------------------------------------------------------------------- diff --git a/etc/patches/paraview-4.4.0 b/etc/patches/paraview-4.4.0 deleted file mode 100644 index 92ff39ba0020db81b8315572d36e00ae12cfa920..0000000000000000000000000000000000000000 --- a/etc/patches/paraview-4.4.0 +++ /dev/null @@ -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() diff --git a/etc/patches/paraview-5.0.0 b/etc/patches/paraview-5.0.0 deleted file mode 120000 index 1f0fde93583019682b97c6e9a81280220825e6c1..0000000000000000000000000000000000000000 --- a/etc/patches/paraview-5.0.0 +++ /dev/null @@ -1 +0,0 @@ -paraview-5.0.1 \ No newline at end of file diff --git a/etc/patches/paraview-5.0.1 b/etc/patches/paraview-5.0.1 deleted file mode 100644 index c4126f9464e43193ad125a0b92ffb5a14d91567f..0000000000000000000000000000000000000000 --- a/etc/patches/paraview-5.0.1 +++ /dev/null @@ -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); diff --git a/etc/patches/paraview-5.1.0 b/etc/patches/paraview-5.1.0 deleted file mode 120000 index 36a4164f0a04e0524b0d54971344fe407c71b6f2..0000000000000000000000000000000000000000 --- a/etc/patches/paraview-5.1.0 +++ /dev/null @@ -1 +0,0 @@ -paraview-5.1.2 \ No newline at end of file diff --git a/etc/patches/paraview-5.1.2 b/etc/patches/paraview-5.1.2 deleted file mode 100644 index ccfc7c125d8f3116fb0f26cf99c6d0034d89a4ed..0000000000000000000000000000000000000000 --- a/etc/patches/paraview-5.1.2 +++ /dev/null @@ -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) - diff --git a/etc/pkgconfigAdjust b/etc/pkgconfigAdjust index 26932a1327b913385f05ad8a923be9c1f7fe9e50..b8f47fdef73535d999d115549d0b8a28aaea4448 100755 --- a/etc/pkgconfigAdjust +++ b/etc/pkgconfigAdjust @@ -7,20 +7,8 @@ # \\/ M anipulation | #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # Script # etc/pkgconfigAdjust diff --git a/etc/pkgconfigPrefix b/etc/pkgconfigPrefix index 469de6d8ceea87a8a69a47944e4d99f10ce22ba1..17c1f61520fd38904d0ad58f5e9e55c6f2b8b6f7 100755 --- a/etc/pkgconfigPrefix +++ b/etc/pkgconfigPrefix @@ -7,20 +7,8 @@ # \\/ M anipulation | #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # Script # etc/pkgconfigPrefix diff --git a/etc/relocateQt b/etc/relocateQt index 4b2045426607fd5cf06b65a607f03eae9492b456..bfbff2621665da1773155ea990507d4060bef844 100755 --- a/etc/relocateQt +++ b/etc/relocateQt @@ -7,20 +7,8 @@ # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # Script # etc/relocateQt diff --git a/etc/tools/ParaViewFunctions b/etc/tools/ParaViewFunctions index a53bddac4b0d33e9eebf698fa5c47b6837846528..b5330c95ff417bc047c1369f92734be75c1c49ad 100644 --- a/etc/tools/ParaViewFunctions +++ b/etc/tools/ParaViewFunctions @@ -6,20 +6,8 @@ # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # File # etc/tools/ParaViewFunctions @@ -27,6 +15,18 @@ # Description # 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. @@ -116,10 +116,10 @@ setParaViewVersion() # addCMakeVariable() { - while [ -n "$1" ] + local i + for i do - CMAKE_VARIABLES="$CMAKE_VARIABLES -D$1" - shift + [ -n "$i" ] && CMAKE_VARIABLES="$CMAKE_VARIABLES -D$i" done } @@ -146,7 +146,7 @@ addMpiSupport() return 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 ] then addCMakeVariable "VTK_MPI_MAX_NUMPROCS=$MPI_MAX_PROCS" @@ -159,68 +159,91 @@ addMpiSupport() # addPythonSupport() { - if [ "${withPYTHON:=false}" != true ] + if [ "${withPYTHON:-false}" != true ] then return fi - if pythonBin=$(which python 2>/dev/null) + local pythonBin pythonConfig pythonMajor + + pythonBin=$(which python 2>/dev/null) || { + echo "*** Error: python not found" + echo "*** Deactivate python support by not using the -python " + echo "*** option" + exit 1 + } + + if [ -n "$PYTHON_LIBRARY" ] 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" ] || { - echo "*** Error: Unable to determine path to python library." - } - fi + # 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 " 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 + echo "*** Error: Unable to determine path to python library." } - pythonMajor=$(echo $PYTHON_LIBRARY | sed 's/.*libpython\(.*\)\.so.*/\1/') - pythonInclude=/usr/include/python$pythonMajor + fi - # 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 - } + [ -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 + } - addCMakeVariable "PARAVIEW_ENABLE_PYTHON=ON" - addCMakeVariable "PYTHON_INCLUDE_DIRS=$pythonInclude" - addCMakeVariable "PYTHON_LIBRARY=$PYTHON_LIBRARY" + # Guess major from library + pythonMajor=$(echo $PYTHON_LIBRARY | sed 's/.*libpython\(.*\)\.so.*/\1/') - echo "----" - echo "Python information:" - echo " executable : $pythonBin" - echo " version : $pythonMajor" - echo " include path : $pythonInclude" - echo " library : $PYTHON_LIBRARY" + 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') - unset pythonBin pythonInclude pythonMajor else - echo "*** Error: python not found" - echo "*** Deactivate python support by not using the -python " - echo "*** option" - exit 1 + + # 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" } diff --git a/etc/tools/QtFunctions b/etc/tools/QtFunctions index 6a6556fdcb490a35611c3a9c34b9ad459c2dba77..c67f533c9dd3d1c63f4fb68ae8caa7e903413fcf 100644 --- a/etc/tools/QtFunctions +++ b/etc/tools/QtFunctions @@ -6,20 +6,8 @@ # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # File # etc/tools/QtFunction diff --git a/etc/tools/ThirdPartyFunctions b/etc/tools/ThirdPartyFunctions index 6c5c6a73b9e028bf70be3d7bbbf20d252be68ba6..8ac3ef7b1b6dfec38292a16f23075b4c91b558bb 100644 --- a/etc/tools/ThirdPartyFunctions +++ b/etc/tools/ThirdPartyFunctions @@ -6,26 +6,14 @@ # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # File # etc/tools/ThirdPartyFunctions # # 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 WM_NCOMPPROCS always. @@ -58,16 +46,21 @@ useGccFlag() 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() { - local mpicc + local mpicc=$(command -v mpicc) case "$WM_MPLIB" in (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 - echo "${mpicc:-mpicc}" # mpiicc | mpicc + echo "${mpicc:-mpicc}" } #------------------------------------------------------------------------------ @@ -117,7 +110,6 @@ else WM_NCOMPPROCS=1 fi 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 # $2 = TARGET DIRECTORY (optional) @@ -432,7 +424,7 @@ cpMakeFiles() local dst="${2:-.}" 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) do diff --git a/etc/tools/vtkFunctions b/etc/tools/vtkFunctions index eece891a18d0f7adeb32670af07d616d3ec59453..c0b4d9842fd9ade34a6da3630de6ba660b365f53 100644 --- a/etc/tools/vtkFunctions +++ b/etc/tools/vtkFunctions @@ -6,20 +6,8 @@ # \\/ M anipulation | #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # File # etc/tools/vtkFunctions @@ -169,11 +157,12 @@ makeVTK() cd $VTK_BUILD_DIR || exit 1 # Change to build folder echo " Starting make" time make -j $WM_NCOMPPROCS - echo " Done make" # Remove lib if it is a link # (how this was previously handled before 'make install' worked) [ -L lib ] && rm -f lib 2>/dev/null + + echo " Done make" # Last statement for clean return code } diff --git a/etc/wmakeFiles/libccmio/options b/etc/wmakeFiles/libccmio/options deleted file mode 100644 index 5f4fb605cbeec08ffbca0c5be452eb6e4e5c50d9..0000000000000000000000000000000000000000 --- a/etc/wmakeFiles/libccmio/options +++ /dev/null @@ -1,3 +0,0 @@ -/* NOTE: make any changes to this file in etc/wmakeFiles/ */ - -/* EXE_INC = */ diff --git a/makeADIOS b/makeADIOS index f558be3339c66dd5e88adea8cbbd16c2a49f71ce..ed5775874c1d6b5ad6d2b722c954bb2928b9695d 100755 --- a/makeADIOS +++ b/makeADIOS @@ -7,20 +7,8 @@ # \\/ M anipulation | #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # Script # makeADIOS @@ -51,7 +39,7 @@ usage() { while [ "$#" -ge 1 ]; do echo "$1"; shift; done cat<<USAGE -usage: ${0##*/} [OPTION] [adios-VERSION] +usage: ${0##*/} [OPTION] [adios-VERSION] [-- configure-options] options: -cmake PATH With cmake from the path given -gcc Force gcc/g++ instead of the values from \$WM_CC, \$WM_CXX @@ -75,6 +63,7 @@ while [ "$#" -gt 0 ] do case "$1" in '') ;; # Ignore empty + --) break;; # Extra configure options (leave on $@ for later detection) -h | -help) usage ;; -gcc) useGcc ;; @@ -86,6 +75,7 @@ do ADIOS-[1-9]* | adios-[1-9]* | ADIOS-git* | adios-git*) adiosPACKAGE="${1%%/}" ;; + *) die "unknown option/argument: '$1'" ;; @@ -95,7 +85,7 @@ done [ -n "$adiosPACKAGE" ] || die "The adios-VERSION was not specified" -# nothing to build +# Nothing to build if _foamIsNone "$adiosPACKAGE" then echo "Using adios-none (skip ThirdParty build of ADIOS)" @@ -246,7 +236,7 @@ then echo "Starting build: $adiosPACKAGE (using configure)" echo ( - # configuration options: + # Configuration options: unset configOpt # Add InfiniBand support @@ -257,22 +247,29 @@ then fi # Transport layers - if [ -f "/usr/include/bzlib.h" ] + if [ -f /usr/include/bzlib.h ] then configOpt="$configOpt --with-bzip2" fi - if [ -f "/usr/include/zlib.h" ] + if [ -f /usr/include/zlib.h ] then configOpt="$configOpt --with-zlib" fi # Other types of support - ## $configOpt="$configOpt --with-hdf5=..." - ## $configOpt="$configOpt --with-lustre=..." + ## configOpt="$configOpt --with-hdf5=..." + ## configOpt="$configOpt --with-lustre=..." ## 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 diff --git a/makeCCMIO b/makeCCMIO index 2e1b976f41d5a50364b8f908f4de2a95b6b97786..539111d593cff8eb44c3f47529c5f0a5bf3edb28 100755 --- a/makeCCMIO +++ b/makeCCMIO @@ -7,20 +7,8 @@ # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # Script # makeCCMIO @@ -111,29 +99,48 @@ CCMIO_ARCH_PATH=$installBASE/$ccmioPACKAGE # Sources must be available [ -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 export GIT_DIR=$PWD/.git # Mask seeing our own git-repo - incDIR=$CCMIO_ARCH_PATH/include/libccmio - libDIR=$CCMIO_ARCH_PATH/lib + rm -rf $CCMIO_ARCH_PATH + rm -f $FOAM_EXT_LIBBIN/libccmio.so - mkdir -p $incDIR 2>/dev/null - mkdir -p $libDIR 2>/dev/null + libdir=$CCMIO_ARCH_PATH/lib cpMakeFiles libccmio 2>/dev/null # Place static libraries in sub-directory: if [ "$targetType" = lib ] then - export FOAM_EXT_LIBBIN=$libDIR + mkdir -m 0755 -p $libdir 2>/dev/null + export FOAM_EXT_LIBBIN=$libdir fi - if wmake $targetType - then - # Make headers available: - /bin/cp -pv libccmio/ccmio*.h $incDIR - fi -) + wmake -j $WM_NCOMPPROCS -s $targetType \ + && echo "Built: ccmio" \ + && install +) || { + echo "Error building: ccmio" + exit 1 +} #------------------------------------------------------------------------------ diff --git a/makeCGAL b/makeCGAL index 7c27be622dd7e36cb6028dcabef35ecdf2c78eb1..5b13fb1d37cf1f64cc9624a6685e2335ce614e72 100755 --- a/makeCGAL +++ b/makeCGAL @@ -7,20 +7,8 @@ # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # Script # makeCGAL @@ -44,8 +32,8 @@ then dir="$2" # <- CGAL_ARCH_PATH if [ -d "$dir/include" -a -r "$dir/lib$WM_COMPILER_LIB_ARCH/libCGAL.so" ] then - echo " CGAL headers in $dir/include" - echo " CGAL libs in $dir/lib$WM_COMPILER_LIB_ARCH" + echo " CGAL include: $dir/include" + echo " CGAL library: $dir/lib$WM_COMPILER_LIB_ARCH" # Additional information about boost dir="$3" # <- BOOST_ARCH_PATH for root in "$dir" /usr @@ -53,8 +41,8 @@ then if [ -d "$root/include/boost" \ -a -r "$root/lib$WM_COMPILER_LIB_ARCH/libboost_system.so" ] then - echo " BOOST headers in $root/include" - echo " BOOST libs in $root/lib$WM_COMPILER_LIB_ARCH" + echo " boost include: $root/include" + echo " boost library: $root/lib$WM_COMPILER_LIB_ARCH" break fi done diff --git a/makeCmake b/makeCmake index f8d0cdbd14513295704e88d4599f6a5198654a73..96b3c245409931b4a4e33a91b03faff38a546a00 100755 --- a/makeCmake +++ b/makeCmake @@ -7,20 +7,8 @@ # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # Script # makeCmake diff --git a/makeFFTW b/makeFFTW index dd8ea35acf84dec46675138afb0591759bca6567..d5ae7a9fedf31cc0275b0e5c159b7b48560fe110 100755 --- a/makeFFTW +++ b/makeFFTW @@ -7,20 +7,8 @@ # \\/ M anipulation | #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # Script # makeFFTW @@ -38,8 +26,8 @@ then dir="$2" # <- FFTW_ARCH_PATH if [ -d "$dir/include" -a -r "$dir/lib$WM_COMPILER_LIB_ARCH/libfftw3.so" ] then - echo " FFTW headers in $dir/include" - echo " FFTW libs in $dir/lib$WM_COMPILER_LIB_ARCH" + echo " fftw include: $dir/include" + echo " fftw library: $dir/lib$WM_COMPILER_LIB_ARCH" exit 0 else exit 2 diff --git a/makeGcc b/makeGcc index cfe9c085dcb3a054bf6f3aa6c2f194eec9af32ca..90192e1fe06cae56852130a87d65d151370345dd 100755 --- a/makeGcc +++ b/makeGcc @@ -7,20 +7,8 @@ # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # Script # makeGcc diff --git a/makeGperftools b/makeGperftools index 4ad0f949b241397925a4a62a5de1005ff0f69c56..47c2d03c861e879c43ee0f1a806de1c21e4fa8eb 100755 --- a/makeGperftools +++ b/makeGperftools @@ -7,20 +7,8 @@ # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # Script # makeGperftools diff --git a/makeKAHIP b/makeKAHIP new file mode 100755 index 0000000000000000000000000000000000000000..a17b14be8ad0ff96e7ffa6551eacbe59d199abb5 --- /dev/null +++ b/makeKAHIP @@ -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 +} + + +#------------------------------------------------------------------------------ diff --git a/makeLLVM b/makeLLVM index 102cce3c028aaabd7118fe811399e73302549245..b5141a2147eb8cad9353d569e693a0ac085b183b 100755 --- a/makeLLVM +++ b/makeLLVM @@ -7,20 +7,8 @@ # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # Script # makeLLVM @@ -35,12 +23,16 @@ # For example, when building from tar files (version 4.0.0) # # 1) Unpack LLVM: -# tar -xJf llvm-4.0.0.src.tar.xz -# mv llvm-4.0.0.src llvm-4.0.0 +# tar -xJf llvm-4.0.1.src.tar.xz +# mv llvm-4.0.1.src llvm-4.0.1 # # 2) Unpack Clang (also know as cfe): -# tar -xJf cfe-4.0.0.src.tar.xz -# mv cfe-4.0.0.src llvm-4.0.0/tools/clang +# tar -xJf cfe-4.0.1.src.tar.xz +# 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 diff --git a/makeMETIS b/makeMETIS new file mode 100755 index 0000000000000000000000000000000000000000..cdcff2ea38f11aefde5c94db8898460eb7b20d37 --- /dev/null +++ b/makeMETIS @@ -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 +} + + +#------------------------------------------------------------------------------ diff --git a/makeMGridGen b/makeMGridGen index fdf395fa74e9ad5d2bf822f08492cd4a94382d73..72d8f5555f1f8b72e5b73fd226e3aa818e1f8b39 100755 --- a/makeMGridGen +++ b/makeMGridGen @@ -7,20 +7,8 @@ # \\/ M anipulation | #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # Script # makeMGridGen @@ -91,7 +79,7 @@ done [ -n "$mgridgenPACKAGE" ] || die "The mgridgen-VERSION was not specified" -# nothing to build +# Nothing to build if _foamIsNone "$mgridgenPACKAGE" then echo "Using mgridgen-none (skip ThirdParty build of MGridGen)" @@ -124,23 +112,23 @@ echo # install() { - echo "Install into $MGRIDGEN_ARCH_PATH" + echo "Install into $MGRIDGEN_ARCH_PATH" - local bindir=$MGRIDGEN_ARCH_PATH/bin - local incdir=$MGRIDGEN_ARCH_PATH/include - local libdir=$MGRIDGEN_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH + local bindir=$MGRIDGEN_ARCH_PATH/bin + local incdir=$MGRIDGEN_ARCH_PATH/include + local libdir=$MGRIDGEN_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH - for dir in $MGRIDGEN_ARCH_PATH $bindir $incdir $libdir - do - mkdir -m 0755 -p $dir - done + for dir in $MGRIDGEN_ARCH_PATH $bindir $incdir $libdir + do + mkdir -m 0755 -p $dir + done - cp -vf mgridgen.h $incdir - cp -vf libmgrid.a $libdir - cp -vf mgridgen $bindir + cp -vf mgridgen.h $incdir + cp -vf libmgrid.a $libdir + cp -vf mgridgen $bindir - chmod -R 0644 $incdir/* $libdir/* - chmod -R 0755 $bindir/* + chmod -R 0644 $incdir/* $libdir/* + chmod -R 0755 $bindir/* } diff --git a/makeMPICH b/makeMPICH index 2332153e60786697a462ff1050dbd69c71e5ad33..d361caac8165053b0423fe26dac24b9186d9a45c 100755 --- a/makeMPICH +++ b/makeMPICH @@ -7,20 +7,8 @@ # \\/ M anipulation | #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # Script # makeMPICH @@ -77,7 +65,7 @@ usage() { while [ "$#" -ge 1 ]; do echo "$1"; shift; done cat<<USAGE -usage: ${0##*/} [OPTION] [mpich-VERSION] +usage: ${0##*/} [OPTION] [mpich-VERSION] [-- configure-options] options: -gcc force gcc/g++ instead of the values from \$WM_CC, \$WM_CXX -help @@ -98,12 +86,14 @@ while [ "$#" -gt 0 ] do case "$1" in '') ;; # Ignore empty + --) break;; # Extra configure options (leave on $@ for later detection) -h | -help) usage ;; -gcc) useGcc ;; mpich*) mpiPACKAGE="${1%%/}" ;; + *) die "unknown option/argument: '$1'" ;; @@ -145,9 +135,17 @@ else echo ( - # configuration options: + # Configuration options: 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 diff --git a/makeMesa b/makeMesa index 4ab89a55a6da99e2a9da2c05ce032d991fd84578..3534dff9fa97069c5752500156d355d60f9c1e6c 100755 --- a/makeMesa +++ b/makeMesa @@ -7,20 +7,8 @@ # \\/ M anipulation | #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # Script # makeMesa @@ -59,7 +47,7 @@ usage() { while [ "$#" -ge 1 ]; do echo "$1"; shift; done cat<<USAGE -usage: ${0##*/} [OPTION] mesa-VERSION +usage: ${0##*/} [OPTION] mesa-VERSION [-- configure-options] options: -gcc Force gcc/g++ instead of the values from \$WM_CC, \$WM_CXX -help @@ -90,6 +78,7 @@ while [ "$#" -gt 0 ] do case "$1" in '') ;; # Ignore empty + --) break;; # Extra configure options (leave on $@ for later detection) -h | -help) usage ;; -gcc) useGcc @@ -98,6 +87,7 @@ do mesa-*) mesaPACKAGE="${1%%/}" ;; + *) die "unknown option/argument: '$1'" ;; @@ -127,7 +117,7 @@ then exit 2 } - # root installation directory + # Root installation directory thirdPartyClang=${thirdPartyClang%/bin/clang} [ -d "$thirdPartyClang" ] || { @@ -160,7 +150,7 @@ adjustMESA() } ( - # configuration options: + # Configuration options: unset configOpt if [ -d "$thirdPartyClang" ] @@ -168,14 +158,21 @@ adjustMESA() configOpt="$configOpt --with-llvm-prefix=$thirdPartyClang" fi - # end of configuration options + # Additional configure options + if [ "$1" = "--" ] + then + shift + configOpt="$configOpt $@" + fi + + # End of configuration options # ---------------------------- buildDIR=$buildBASE/$mesaPACKAGE cd $MESA_SOURCE_DIR || exit 1 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 $buildDIR mkdir -p $buildDIR @@ -191,7 +188,7 @@ adjustMESA() fi echo "----" - # possibly for older mesa versions (see paraview wiki) + # Possibly for older mesa versions (see paraview wiki) # CXXFLAGS="-O2 -DDEFAULT_SOFTWARE_DEPTH_BITS=31" \ # CFLAGS="-O2 -DDEFAULT_SOFTWARE_DEPTH_BITS=31" \ diff --git a/makeOPENMPI b/makeOPENMPI index e5efc2b38033a391e9731967cb252628fc151aa3..3831548fe28efbb3e6ad6b5ac2b9b4cff4829575 100755 --- a/makeOPENMPI +++ b/makeOPENMPI @@ -7,20 +7,8 @@ # \\/ M anipulation | #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # Script # makeOPENMPI @@ -77,9 +65,12 @@ usage() { while [ "$#" -ge 1 ]; do echo "$1"; shift; done cat<<USAGE -usage: ${0##*/} [OPTION] [openmpi-VERSION] +usage: ${0##*/} [OPTION] [openmpi-VERSION] [-- configure-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 * build openmpi with @@ -93,17 +84,24 @@ USAGE [ -n "$WM_CC" ] && export CC="$WM_CC" [ -n "$WM_CXX" ] && export CXX="$WM_CXX" +unset optMemchecker optThreaded + # Parse options while [ "$#" -gt 0 ] do case "$1" in '') ;; # Ignore empty + --) break;; # Extra configure options (leave on $@ for later detection) -h | -help) usage ;; -gcc) useGcc ;; + -memcheck*) optMemchecker=true ;; + -thread*) optThreaded=enable ;; + -no-thread*) optThreaded=disable ;; openmpi-[0-9]* | openmpi_[0-9]* | openmpi-system ) mpiPACKAGE="${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" ] 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" ] then - echo "Already has static library" + echo "Already has static library: $MPI_ARCH_PATH" else echo "Starting build: $WM_MPLIB ($mpiPACKAGE)" echo ( - # configuration options: + # Configuration options: # Start with GridEngine support - builds without external libraries configOpt="--with-sge" - # Add InfiniBand support - ibDir=/usr/local/ofed - for libdir in lib$WM_COMPILER_LIB_ARCH lib - do - if [ -d "$ibDir/$libdir" ] - then - configOpt="$configOpt --with-verbs=$ibDir --with-verbs-lib=$ibDir/$libdir" - break - fi - done - - # end of configuration options + if [ -n "$optMemchecker" ] + then + configOpt="$configOpt --enable-memchecker --with-valgrind" + fi + + # --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 @@ -181,7 +186,6 @@ else --disable-orterun-prefix-by-default \ --enable-shared --disable-static \ --enable-mpi-fortran=none \ - --disable-mpi-profile \ $configOpt \ && set +x \ && make -j $WM_NCOMPPROCS \ diff --git a/makeOPENMPI.example b/makeOPENMPI.example new file mode 100755 index 0000000000000000000000000000000000000000..af458957d235679c3b242a0215832c7655a52b2b --- /dev/null +++ b/makeOPENMPI.example @@ -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 \ + "$@" + +#------------------------------------------------------------------------------ diff --git a/makeParaView b/makeParaView index 666e5e0fea61e6535cc26a11d75ff833a0ce181b..402e5eeddec37e70e1786109bcba2a1ba5667969 100755 --- a/makeParaView +++ b/makeParaView @@ -7,26 +7,14 @@ # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # Script # makeParaView # # Description -# Make and install ParaView 4 or 5. +# Make and install ParaView. # The ParaView sources should be located under one of these locations: # - $WM_THIRD_PARTY_DIR/ParaView-VERSION # - $WM_THIRD_PARTY_DIR/ParaView-vVERSION @@ -78,6 +66,8 @@ options: -mpi with mpi -mpi=N with max 'N' mpi processes. N=0 for no upper-limit. -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}) -cmake PATH with cmake from the 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. For example, - ./makeParaview 5.0.1 + ./makeParaview 5.4.1 Or change the \$WM_PROJECT_DIR/etc/config.sh/paraview settings. @@ -233,6 +223,12 @@ do -no-python) withPYTHON=false ;; + -python-include) + [ "$#" -ge 2 ] || die "'$1' option requires an argument" + withPYTHON=true + PYTHON_INCLUDE="${2%%/}" + shift + ;; -python-lib) [ "$#" -ge 2 ] || die "'$1' option requires an argument" withPYTHON=true @@ -291,7 +287,7 @@ done [ -n "$ParaView_VERSION" ] || die "The paraview-VERSION was not specified" -# nothing to build +# Nothing to build if _foamIsNone "$ParaView_VERSION" then echo "Using paraview-none (skip ThirdParty build of ParaView)" diff --git a/makeQt b/makeQt index e50bcb568480e50a3a0a5b8fedb7dec11df186b9..44e691e862cf6c14f8a8ff0995cfa6811034f490 100755 --- a/makeQt +++ b/makeQt @@ -7,20 +7,8 @@ # \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # Script # makeQt @@ -45,7 +33,7 @@ usage() { while [ "$#" -ge 1 ]; do echo "$1"; shift; done cat<<USAGE -usage: ${0##*/} [OPTION] [qt-VERSION] +usage: ${0##*/} [OPTION] [qt-VERSION] [-- configure-options] options: -gcc Force gcc/g++ instead of the values from \$WM_CC, \$WM_CXX -help @@ -67,6 +55,7 @@ while [ "$#" -gt 0 ] do case "$1" in '') ;; # Ignore empty + --) break;; # Extra configure options (leave on $@ for later detection) -h | -help) usage ;; -gcc) useGcc ;; @@ -75,6 +64,7 @@ do qtVERSION="${1%%/}"; qtVERSION="${qtVERSION##*-}" ;; + *) die "unknown option/argument: '$1'" ;; @@ -83,7 +73,7 @@ do done qtPACKAGE=$qtTYPE-$qtVERSION -# nothing to build +# Nothing to build if _foamIsNone "$qtPACKAGE" then echo "Using qt-none (skip ThirdParty build of QT)" @@ -134,7 +124,14 @@ else ;; esac - # end of configuration options + # Additional configure options + if [ "$1" = "--" ] + then + shift + configOpt="$configOpt $@" + fi + + # End of configuration options # ---------------------------- buildDIR=$buildBASE/$qtPACKAGE diff --git a/makeTecio b/makeTecio index 21a807685415a94310f5b00d0e945d8f43e0ee94..b34bd310eb8a9c00cea535c03025876ff1df96bb 100755 --- a/makeTecio +++ b/makeTecio @@ -7,20 +7,8 @@ # \\/ M anipulation | #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # Script # makeTecio diff --git a/makeVTK b/makeVTK index 99ead3dcecc1ede7ee9da667ad32da4522c84bed..670fcadea5a221fab545ae5cb288252e57c1141c 100755 --- a/makeVTK +++ b/makeVTK @@ -7,20 +7,8 @@ # \\/ M anipulation | #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # Script # makeVTK @@ -54,7 +42,7 @@ unset vtk_version mesa_version # Purge current values # vtk version from OpenFOAM etc/config.sh file: _foamEtc config.sh/vtk -VTK_VERSION=$vtk_version +VTK_VERSION="${vtk_version##*-}" # Without prefix # New rendering backend (starting with vtk 7?). withGL2=auto # auto-config based on version diff --git a/minCmake b/minCmake index 66693fe69716371df9d1cdcb3331ece0d2bd642c..bf749d6e423f9354eb58f65a10adebea74c4e673 100755 --- a/minCmake +++ b/minCmake @@ -7,20 +7,8 @@ # \\/ M anipulation | #------------------------------------------------------------------------------ # License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# This file is part of OpenFOAM, licensed under GNU General Public License +# <http://www.gnu.org/licenses/>. # # Script # minCmake diff --git a/sources.txt b/sources.txt deleted file mode 100644 index 5518442d4e11e0fa5052ab23a2285eae28de102e..0000000000000000000000000000000000000000 --- a/sources.txt +++ /dev/null @@ -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