Skip to content
Snippets Groups Projects
  1. Dec 19, 2022
  2. Dec 13, 2022
  3. Dec 08, 2022
  4. Nov 26, 2022
  5. Nov 19, 2022
  6. Nov 17, 2022
  7. Nov 16, 2022
  8. Nov 15, 2022
    • Mark OLESEN's avatar
      ENH: support libz disabling via WM_COMPILE_CONTROL (as ~libz) · 9f7cfa94
      Mark OLESEN authored
      - eg, for partially incomplete systems (without libz devel header)
      
      ENH: clearer binding of dummy Pstream in OpenFOAM/Make/options
      
      - link of dummy stub Pstream now contingent on linking libOpenFOAM as
        well. This makes the purpose slightly clearer
      
      ENH: cleaner option naming/handling in wmake script
      
      - allow special purpose -no-openfoam option.
        Eg, compiling test programs without OpenFOAM and Pstream libraries
        but using the rest of the wmake system.
      
      ENH: add +openmp support into WM_COMPILE_CONTROL (#2633)
      
      - this adds compile/link flags for openmp.
        For single-use, can also use 'wmake -openmp'.
      
        If both +openmp and ~openmp are specified in WM_COMPILE_CONTROL
        the ~openmp will have priority.
      
        This is actually done indirectly since ~openmp will set empty
        COMP_OPENMP, LINK_OPENMP internal variables, which the +openmp then
        adds to the c++FLAGS and linkexe targets (ie, won't actually add
        anything).
      
      ENH: add +ccache or ccache=... support into WM_COMPILE_CONTROL (#2633)
      
      - with the first version (+ccache), simply use ccache from the path
        without any extra options.
      
      - with the second version (ccache=...), can be more specific about
        what is called.
      
        Using "+ccache" is identical to "ccache=ccache", but the later could
        be used in other ways. For example,
      
           ccache=/strange/install/path/ccache
           ccache=</path/my-tooling --option>
      
        Have the choice of unquoted, single or double quoted or '< >' quoted
      
      STYLE: relocate FOAM_EXTRA_LDFLAGS in general makefile
      
      - removes clutter for different linkers (eg, gold, mold, ldd)
        making it easier to extend for other linkers.
      
      STYLE: protect makefile checks with 'strip' function
      9f7cfa94
    • Mark OLESEN's avatar
      e15b1030
    • Mark OLESEN's avatar
    • Mark OLESEN's avatar
      COMP: remove fast-math and unsafe-math-optimizations for Fujitsu (#2564) · edc12c9a
      Mark OLESEN authored
      - was found to cause issues (snappyHexMesh specifically)
        on Fugaku. Reported by @Azami
      edc12c9a
  9. Oct 26, 2022
  10. Sep 09, 2022
    • Mark OLESEN's avatar
      ENH: use atomic move in wmkdepend · c841aaed
      Mark OLESEN authored
      - avoids truncated files if dependency generation is interrupted
      c841aaed
    • Mark OLESEN's avatar
      CONFIG: add support for WM_COMPILE_OPTION='Dbg' · 793f4e3a
      Mark OLESEN authored
      - uses '-g -DFULLDEBUG' (like Debug), but with -O3 (like Opt).
      
        This adds in debug symbols and FULLDEBUG code segments (good for
        code development) but retains -O3 optimizations and code paths and
        avoids the much slower -O0 associated with 'Debug'.
      
      - add in central wmake/General/common/{c,c++}XXX tuning,
        which helps reduce the number of nearly identical files
      
      ENH: add support for wmake -debug-Og
      793f4e3a
  11. Aug 19, 2022
    • Mark OLESEN's avatar
      COMP: avoid cpp replacement of linux,unix,... in Make/options (fixes #2548) · 4730c381
      Mark OLESEN authored
      - the cpp command is used to process Make/{files,options}, but builtin
        defines such as `linux` will cause problems (macro replacement) if
        these is present in the Make/{files,options}.
      
        Solve by undefining -Ulinux, -Uunix macros, which will leave directory
        names such as "/usr/lib/x86_64-linux-gnu/..." intact.
      
        Directories with _linux, __linux__ content (for example), could
        still pose future issues.
      4730c381
  12. Jun 21, 2022
  13. Jun 02, 2022
  14. May 31, 2022
  15. May 11, 2022
  16. May 10, 2022
  17. Apr 29, 2022
  18. Mar 13, 2022
  19. Dec 15, 2021
  20. Dec 07, 2021
    • Mark OLESEN's avatar
      CONFIG: adjust paraview libs, intelmpi handling · b25e1486
      Mark OLESEN authored
      - fix overly aggressive match in the API value
      
      - allow `INTELMPI*` generic value, this can be used to specify something
        like INTELMPI_custom and populate the corresponding wmake rule
        manually
      
      STYLE: mention FOAM_BUILDROOT in wmake -help-full output
      
      STYLE: adjust openfoam shell session welcome information
      
      - adjust internal variable names to reduce collision potential
      
      - improve handling of openfoam -etc=...
      b25e1486
  21. Dec 03, 2021
    • Mark OLESEN's avatar
      ENH: support alternative build-root location (#2286) · 8624d65c
      Mark OLESEN authored
      - specify any of these
      
          ./Allwmake -build-root=...
          wmake -build-root=...
          FOAM_BUILDROOT=... wmake
      
        these specify an alternative root where build artifacts are to land.
        Currently only used as an alternative for the 'build/' hierarchy
        since the 'platforms/' target normally includes inputs as well.
      
        Possible use:
        ```
        (
            export WM_MPLIB="%{foam_mplib}"
            export FOAM_MPI="%{foam_mpi}"
            export MPI_ARCH_PATH="%{mpi_prefix}"
      
            export FOAM_BUILDROOT=/tmp/mpibuild
            export FOAM_MPI_LIBBIN="$FOAM_BUILDROOT/platforms/$WM_OPTIONS/lib/$FOAM_MPI"
      
            src/Pstream/Allwmake-mpi
         )
         ```
      8624d65c
    • Mark OLESEN's avatar
      CONFIG: set API level to 2109 · 8ed6a611
      Mark OLESEN authored
      - Function1, sampledSets, expressions, runTime selection tables
      8ed6a611
  22. Nov 09, 2021
  23. Nov 04, 2021
    • Mark OLESEN's avatar
      BUG: foamPackRelease detects wrong build information · 742a2c8a
      Mark OLESEN authored
      - was taking from the current head instead from specified commit-ish
      
      ENH: add -debian=NUM convenience option to foamPackRelease
      
      STYLE: relocate compile begin/end messages
      
      COMP: suppress more clang warnings (needed for boost)
      742a2c8a
  24. Nov 02, 2021
    • Mark OLESEN's avatar
      ENH: extend use of WM_COMPILER_CONTROL to manage compiler versions · 2698cab0
      Mark OLESEN authored
      - for compilers such as gcc and clang, may have several different
        variants installed on the computer. Use WM_COMPILER_CONTROL to
        specify the preferred variant.
      
        Eg,
            WM_COMPILER=Gcc
            WM_COMPILER_CONTROL="version=8"
      
            will compile with "gcc-8" and "g++-8"
      
        Good practice would be to tag output directory names with the
        version too. Eg
      
            WM_COMPILER=Clang110
            WM_COMPILER_CONTROL="version=11.0"
      
      STYLE: modify message for change of gcc -> clang (darwin)
      2698cab0
  25. Oct 29, 2021
    • Mark OLESEN's avatar
      CONFIG: increment API level to 2108 · 08e66a64
      Mark OLESEN authored
      - reflects updates for List, globalIndex handling etc
      08e66a64
    • Mark OLESEN's avatar
      CONFIG: improve flexibility of MPI specification · 435be2e5
      Mark OLESEN authored
      - it is now possible to include the selected mpi version in the
        top-level bashrc or prefs.sh file. For example,
      
            WM_MPLIB=OPENMPI-4.1.1  or  WM_MPLIB=openmpi-4.1.1
      
        after evaluation of the config.sh/mpi, this will define
      
            WM_MPLIB=OPENMPI-4.1.1  and  FOAM_MPI=openmpi-4.1.1
      
        During the wmake, the mpi-rules will first load the MPI 'family'
        rules (OPENMPI in this example) before trying to load
        version-specific rules if they exist.
      
        NOTE: the regular user-defined prefs system is unaffected by this
        change. This means it is still possible to use a file such as
        'prefs.openmpi' to define the preferred version instead or as well.
        However, it does mean inconsistent naming can be specified.
        For example, specify WM_MPLIB=OPENMPI-4.1.1 at the top-level but
        actually have FOAM_MPI=openmpi-4.0.6 in the prefs.openmpi file.
        This will make the value of WM_MPLIB misleading.
      
      CONFIG: foamConfigurePaths support for sys-openmpi major version
      
      CONFIG: cleanup any shadow env variables
      435be2e5
  26. Oct 21, 2021
    • Mark OLESEN's avatar
      CONFIG: update c++ standard, some compiler rules (partially addresses #2209) · c2697f46
      Mark OLESEN authored
      - migrate to c++14 for most compilers *except* gcc.
        There are still many systems in use with gcc-4.8.5, which does not
        support c++14.
      
      - initial rules for nvidia compilers (pgi is will soon be defunct).
        Not fully tested...
      
      CONFIG: provide fallback value for the user directory name
      
      - in containers may have an unset USER env variable.
        Default to 'user' to prevent ugly looking directory names.
      c2697f46
  27. Sep 07, 2021
    • Mark OLESEN's avatar
      ENH: use PrecisionAdaptor to support scotch with label widening · bf1ed94e
      Mark OLESEN authored
      - allows reuse of an int64_t scotch library with label-size 32
        and/or label-size 64.
      
      COMP: prefer scotch/metis/kahip libraries with label-size qualifiers
      
      - as noted in #2200, mpirun may insert mpi libraries higher in the
        library loader which can cause masking of our ThirdParty libraries
        of the same name. With scotch (for example), the operating system
        may have an int32 version installed but we have an int64 version
        compiled under ThirdParty. Runing in serial is fine, but in parallel
        we resolve to the (incorrect) system version due to the adjustments
        in mpirun.
      
      - adjust the ThirdParty make scripts to also create corresponding
        links (eg, 'ln -s libscotch.so libscotch-int64.so') and prefer
        linkage with these qualified libraries.
      
          Eg,  -L$(SCOTCH_LIB_DIR) -lscotch$(SCOTCH_LIBNAME_SUFFIX)
      
        this prevent accidental runtime linkage with the system versions.
      
      STYLE: simplify scotch interface code by using local functions
      bf1ed94e
  28. Jul 28, 2021
  29. Jun 10, 2021
    • Mark OLESEN's avatar
      ENH: robustness, consistency for wmake -show-api, -version · c7bde70e
      Mark OLESEN authored
      - add to wmakeFunctions to ensure it works even without 'make' being
        installed. Exit immediately after -show-api for consistency with
        -version.
      
      foamEtcFile:
        - drop warnings for some old (pre-v1812) defunct options
          and simply flag as unknown options.
        - handle -version, --version as equivalent to -show-api
      c7bde70e
  30. May 31, 2021
  31. May 19, 2021