1. 08 Jun, 2020 1 commit
    • 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
  2. 02 Jun, 2020 1 commit
    • Mark Olesen's avatar
      ENH: unify use of dictionary method names · 3e43edf0
      Mark Olesen authored
      - previously introduced `getOrDefault` as a dictionary _get_ method,
        now complete the transition and use it everywhere instead of
        `lookupOrDefault`. This avoids mixed usage of the two methods that
        are identical in behaviour, makes for shorter names, and promotes
        the distinction between "lookup" access (ie, return a token stream,
        locate and return an entry) and "get" access (ie, the above with
        conversion to concrete types such as scalar, label etc).
      3e43edf0
  3. 19 May, 2020 1 commit
    • Mark Olesen's avatar
      ENH: improved granularity for MPI-rebuilds · f233595a
      Mark Olesen authored
      - Provide Allwmake-mpi scripts for handling the MPI-only build segment.
      
      - Adjust Make/options to support a FOAM_MPI_LIBBIN target location.
        This will simply default to FOAM_LIBBIN/FOAM_MPI, but allows different
        types of builds with out-of-tree targets.
      
      Example,
      
      Build OpenFOAM with default MPI settings (eg, system openmpi)
      ```
      ./Allwmake
      ```
      
      Rebuild MPI-layers with different MPI.
      
      For any given and known type
      ```
      othermpi()
      {
          export WM_MPLIB=OPENMPI
          export FOAM_MPI=openmpi-3.1.3
      
          export OPAL_PREFIX=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$FOAM_MPI
          export MPI_ARCH_PATH="$OPAL_PREFIX"
      }
      ```
      
      May wish to build/rebuild ptscotch
      ```
      (
          othermpi
          $WM_THIRD_PARTY_DIR/makeSCOTCH
      )
      ```
      
      Rebuild the mpi-dependent parts. Can also provide install location
      ```
      for script in $(find src -name Allwmake-mpi)
      do
      (
          other_mpi
          export FOAM_MPI_LIBBIN="$HOME/tmp/install-prefix/lib/$FOAM_MPI"
      )
      done
      ```
      f233595a
  4. 12 May, 2020 1 commit
    • Mark Olesen's avatar
      ENH: improved encapsulation of MPI (re)builds · d4e31093
      Mark Olesen authored
      - dependency handling relocated from cmakeFunctions to wmakeFunctions
        and reused for mpi-versioned builds. This allows more checks for
        configuration parameters and removes hard-code build path
        information.
      
      CONFIG: remove spurious mplibHPMPI entries
      
      CONFIG: remove ADIOS1 rules (antiquated)
      d4e31093
  5. 04 May, 2020 1 commit
  6. 01 May, 2020 1 commit
  7. 28 Apr, 2020 1 commit
  8. 24 Apr, 2020 1 commit
  9. 12 Mar, 2020 1 commit
  10. 19 Feb, 2020 1 commit
  11. 18 Feb, 2020 1 commit
    • Mark Olesen's avatar
      STYLE: adjust names, locations for fileFormats · 4307e171
      Mark Olesen authored
      - renamed 'core/' -> 'base/' to avoid gitignore masking when re-adding
        files
      
      - rename 'nas/' to 'nastran/' for more clarity
      
      - relocated OBJstream from surfMesh to fileFormats
      
      STYLE: remove unused parseNASCoord. Was deprecated 2017-09
      4307e171
  12. 12 Feb, 2020 2 commits
  13. 16 Dec, 2019 1 commit
  14. 13 Nov, 2019 1 commit
  15. 31 Oct, 2019 1 commit
  16. 05 Sep, 2019 1 commit
  17. 06 Nov, 2019 1 commit
  18. 29 Oct, 2019 2 commits
  19. 29 Jul, 2019 1 commit
    • Mark Olesen's avatar
      ENH: additional contiguous traits (#1378) · 1d79c045
      Mark Olesen authored
      - change contiguous from a series of global functions to separate
        templated traits classes:
      
          - is_contiguous
          - is_contiguous_label
          - is_contiguous_scalar
      
        The static constexpr 'value' and a constexpr conversion operator
        allow use in template expressions.  The change also makes it much
        easier to define general traits and to inherit from them.
      
        The is_contiguous_label and is_contiguous_scalar are special traits
        for handling data of homogeneous components of the respective types.
      1d79c045
  20. 12 Aug, 2019 1 commit
  21. 16 Jul, 2019 1 commit
  22. 12 Jul, 2019 1 commit
  23. 04 Jul, 2019 1 commit
  24. 19 Jun, 2019 1 commit
  25. 14 Jun, 2019 2 commits
  26. 13 Jun, 2019 1 commit
  27. 30 Apr, 2019 1 commit
  28. 28 Apr, 2019 1 commit
  29. 11 Apr, 2019 1 commit
  30. 05 Apr, 2019 1 commit
    • Mark Olesen's avatar
      ENH: improve handling of pt-scotch headers/libraries · cd91a252
      Mark Olesen authored
      - provide dedicated detection 'have_ptscotch' function that can be
        used after the 'have_scotch' function.
      
        It sets the PTSCOTCH_ARCH_PATH, PTSCOTCH_INC_DIR, PTSCOTCH_LIB_DIR
        and helps when the serial and parallel versions are located with
        different logic.
      cd91a252
  31. 20 Mar, 2019 2 commits
  32. 14 Mar, 2019 1 commit
  33. 18 Feb, 2019 2 commits
  34. 22 May, 2019 1 commit
  35. 20 May, 2019 1 commit