Skip to content
Snippets Groups Projects
  1. Mar 29, 2021
  2. Mar 09, 2021
  3. Mar 05, 2021
  4. Feb 16, 2021
  5. Dec 21, 2020
  6. Dec 17, 2020
  7. Dec 15, 2020
  8. Dec 11, 2020
  9. Dec 08, 2020
  10. Nov 30, 2020
  11. Nov 26, 2020
  12. Nov 25, 2020
  13. Nov 17, 2020
  14. Nov 11, 2020
    • Mark OLESEN's avatar
      CONFIG: rationalize mpi config tuning (#1910) · c91fc6f4
      Mark OLESEN authored
      - prefix FOAM_MPI and library directories with 'sys-' for system
        versions for uniform identication.
      
        WM_MPLIB      | libdir (FOAM_MPI)  | old naming |
        SYSTEMMPI     | sys-mpi            | mpi        |
        SYSTEMOPENMPI | sys-openmpi        | openmpi-system |
      
      - prefix preferences with 'prefs.' to make them more easily
        identifiable, and update bin/tools/create-mpi-config accordingly
      
            Old name: config.{csh,sh}/openmpi
            New name: config.{csh,sh}/prefs.openmpi
      
      - additional mpi preferences now available:
          * prefs.intelmpi
          * prefs.mpich
          ...
      
      CONFIG: added hook for EASYBUILDMPI (eb-mpi), somewhat like USERMPI
      
      - EasyBuild uses mpicc when compiling, so no explicit wmake rules are
        used
      
      ENH: support different major versions for system openmpi
      
      - for example, with
      
           WM_MPLIB=SYSTEMOPENMPI2
      
        defines FOAM_MPI=sys-openmpi2 and thus creates lib/sys-openmpi2
      
      ENH: centralize handling of mpi as 'mpi-rules'
      
          Before:
              sinclude $(G...
      c91fc6f4
  15. Nov 09, 2020
  16. Nov 07, 2020
  17. Nov 04, 2020
    • Mark OLESEN's avatar
      CONFIG: ptscotch header not found on RedHat/Fedora (fixes #1904) · 5e660c36
      Mark OLESEN authored
      - no limit to the number of ways of filing ptscotch libraries.
        RedHat/Fedora/CentOS should look for these directories:
      
            ptscotch include=/usr/include/openmpi-x86_64
            ptscotch library=/usr/lib64/openmpi/lib
      
        when MPI_ARCH_PATH=/usr/lib64/openmpi
        and mpicc --showme:compile yields -I/usr/include/openmpi-x86_64
      5e660c36
    • Mark OLESEN's avatar
      ENH: handle wmake -debug option via FOAM_EXTRA_CXX_FLAGS · 1d544540
      Mark OLESEN authored
      - ensures that subsequent Allwmake scripts know about it.
      
      ENH: add bin/tools/query-detect wrapper for wmake have_* scripts
      
      CONFIG: use project/ThirdParty without additional sanity checks
      
      - no need to test for Allwmake or platforms/ if ThirdParty is located
        within the project directory itself.
      
      COMP: add simple mpi test to 00-dummy
      
      - for testing library linkage, etc.
      1d544540
  18. Oct 12, 2020
    • Mark OLESEN's avatar
      CONFIG: bump API to 2010 · a475a19d
      Mark OLESEN authored
      - mostly reflects minor additions to Pstream methods and blockMesh
        improvements.
      a475a19d
    • Mark OLESEN's avatar
      CONFIG: ptscotch header not found on ArchLinux (fixes #1877) · bea65632
      Mark OLESEN authored
      - on ArchLinux, everything is installed under /usr/include/scotch.
      
        The detection script uses SCOTCH_ARCH_PATH as an initial guess for
        ptscotch as well. However, on the second pass, it has an absolute
        value ("/usr") instead of a logical one ("scotch-system").
        This resulted in the logic for handling scotch+ptscotch subdirs
        being bypassed.
      bea65632
  19. Sep 23, 2020
  20. Sep 07, 2020
    • Mark OLESEN's avatar
      CONFIG: improve support for compiler/link options (#1830) · 9423d2bd
      Mark OLESEN authored
      - introduce WM_COMPILE_CONTROL variable to convey control information
        into the build rules.
      
        The convention (as per spack):
            - '+' to select a feature
            - '~' to deselect a feature
      
        Eg, to select the gold linker, and disable openmp
        (spaces are not required):
      
            WM_COMPILE_CONTROL="+gold ~openmp"
      
      CONFIG: accept FOAM_EXTRA_LDFLAGS for AMD, gold, Mingw linkers
      
      CONFIG: generalize PROJECT_LIBS (-ldl used almost universally)
      9423d2bd
  21. Aug 12, 2020
    • Mark OLESEN's avatar
      COMP: wmake findObjectDir fails for non-project directories (fixes #1807) · dd1c2edb
      Mark OLESEN authored
      - experienced while reusing src/Pstream/Allwmake-mpi to create
        additional mpi-layers after installation. Since the copied sources
        are not located within the OpenFOAM source-tree (and/or the
        source-tree is non-writable), it should not and does not use the
        central build/WM_OPTIONS directory.
      
        However, when exploring for the appropriate local Make directory, it
        searched for the current '.' directory instead of checking for the
        resolved directory.
      
        This fails, since there is no src/Pstream/Make directory.
        Must check for src/Pstream/mpi/Make directory first!
      
      - Adjust wclean to always remove a local build directory
        (Make/WM_OPTIONS) for additional safety.
        After which, attempt to remove central build/WM_OPTIONS version too.
      dd1c2edb
  22. Aug 10, 2020
    • Mark OLESEN's avatar
      ENH: direct access to wrapped ifstream/ofstream with compression (#1805) · 6e2b7be9
      Mark OLESEN authored
      - previously hidden as Detail::[IO]FstreamAllocator, now exposed
        directly as [io]fstreamPointer, which allows reuse for
        std::ifstream, std::ofstream wrapping, without the additional
        ISstream, OSstream layers.
      
        These stream pointers have some characteristics similar to a
        unique_ptr.
      
      - restrict direct gzstream usage to two files (fstreamPointers.C,
        gzstream.C) which improves localization and makes it simpler to
        enable/disable with the `HAVE_LIBZ` define.
      
        The HAVE_LIBZ define is currently simply hard-coded in the
        Make/options.
      
        If compiled WITHOUT libz support:
          - reading gz files : FatalError
          - writing gz files : emit warning and downgrade to uncompressed
          - warn if compression is specified in the case controlDict
            and downgrade to uncompressed
      
      ENH: minor updates to gzstream interface for C++11
      
      - support construct/open with std::string for the file names.
      
      CONFIG: provisioning for have_libz detection as wmake/script
      6e2b7be9
  23. Aug 06, 2020
  24. Jul 10, 2020
    • Mark OLESEN's avatar
      ENH: update lemon version and linkage directive (#1768) · 6365bab8
      Mark OLESEN authored
      - replace `%namespace` directive with simpler `%static` directive.
      
        We always encapsulate Lemon parser routines in an anonymous
        namespace, so a simpler static linkage directive suffices.
      
        This reduces the size of the Lemon patch (program and template).
      6365bab8
  25. Jun 29, 2020
    • Mark OLESEN's avatar
      CONFIG: refine handling of git information for debian builds · 2ba62438
      Mark OLESEN authored
      - When OpenFOAM is under git control and a 'debian/' directory exists,
        this could mean two things:
      
        1) Additional debian control has been added to OpenFOAM
        2) OpenFOAM has been imported into a debian project
      
      For the case that OpenFOAM has been imported into a debian project,
      using the git information would be highly misleading. There will be no
      OpenFOAM SHA1 correspondence.
      
      However, if additional debian control has been added to OpenFOAM the
      SHA1 will be valid.
      
      The ad hoc solution is to use an additional "openfoam.debian"
      directory to flag the addition of debian controls into openfoam.
      
      When a "debian/" directory exists without a "openfoam.debian", assume
      that the OpenFOAM has been imported into debian and do not use the SHA1.
      2ba62438
  26. Jun 24, 2020
  27. Jun 19, 2020
  28. Jun 17, 2020
  29. Jun 08, 2020
    • Mark OLESEN's avatar
      BUG: swallowed -fromWmake argument 934d0bd7 · 5d364f88
      Mark OLESEN authored
      - should pass onwards to other Allwmake scripts
      5d364f88
    • Mark OLESEN's avatar
      ENH: support FOAM_MODULE_PREFIX to guide location of module builds (#1721) · 934d0bd7
      Mark OLESEN authored
      - When compiling additional modules or user code, we need more control
        for the installation locations beyond the usual FOAM_USER_LIBBIN,
        FOAM_SITE_LIBBIN, FOAM_LIBBIN, and wish to have these values be
        modifiable without editing files.
      
      - provide wmake rules for handling standard defaults:
          * GENERAL_RULES/module-path-user
          * GENERAL_RULES/module-path-group
          * GENERAL_RULES/module-path-project
        which are incorporated as follows:
      
        Make/options:
            include $(GENERAL_RULES)/module-path-user
      
        Make/files:
            LIB = $(FOAM_MODULE_LIBBIN)/libMyLibrary
      
        By default these would compile into FOAM_USER_{APPBIN,LIBBIN} but
        could be adjusted at compilation time. For example,
      
      ```
      wmake -module-prefix=/path/my-install-location
      ```
      Or
      ```
      ./Allwmake -module-prefix=/path/my-install-location
      ./Allwmake -prefix=/path/my-install-location
      ```
      Or
      ```
      FOAM_MODULE_PREFIX=/path/my-install-location ./Allwmake
      ```
      
      ENH: add -no-recursion option for AllwmakeParseArguments
      
      - more descriptive naming than the -fromWmake option (still supported)
      
      - remove wmake/scripts/wmake.{cmake,wmake}-args since the -prefix
        handling and -no-recursion is now directly handled by AllwmakeParseArguments
      934d0bd7
  30. Jun 05, 2020
  31. May 19, 2020