Skip to content
Snippets Groups Projects
  1. 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
  2. Jun 05, 2020
  3. May 19, 2020
  4. May 14, 2020
    • Mark OLESEN's avatar
      COMP: additional wmake adjustments · 4d9c7ca8
      Mark OLESEN authored
      - scripts/wmake.wmake-args partial logic for Allwmake scripts.
      
      - handle '-quiet' as synonym for '-silent'
      
      - Do not specify '-j' option for wrapped cmake creation to avoid
        the warning:
        make[1]: warning: -jN forced in submake: disabling jobserver mode.
      4d9c7ca8
  5. May 12, 2020
    • Mark OLESEN's avatar
    • 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
    • Mark OLESEN's avatar
      ENH: add 'subcommand' handling to wclean (#1693) · f9956170
      Mark OLESEN authored
      - wcleanBuild, wcleanPlatform now accessible as "wclean -build" and
        "wclean -platform", respectively
      f9956170
    • Mark OLESEN's avatar
      ENH: add 'subcommand' handling to wmake (#1693) · 9e3d0685
      Mark OLESEN authored
      - initial split of wmake-related commands into "plumbing" and
        "porcelain" akin to how git handles things.
      
      - wmakeBuildInfo (very low-level), now relocated to the wmake/scripts
        and accessible for the user as "wmake -build-info".
      
        This satisfies a long-standing desire to access build information
        in a fashion similar to the api/patch information.
      
      CONFIG: avoid git information when building with a debian/ directory
      
      - when a 'debian/' directory exists, there is a high probability that
        the '.git/' directory is from debian and not from OpenFOAM (ie,
        useless here). This corresponds to an implicit '-no-git', which has
        no effect when building from pristine sources.
      
      ENH: wmakeCheckPwd becomes scripts/wmake-check-dir
      
      - accessible for the user as "wmake -check-dir" and with 1 or 2
        directory names. A wmakeCheckPwd symlink left for compatibility.
      9e3d0685
    • Mark OLESEN's avatar
      ENH: wmakeLnInclude support for multiple dirs and -force option (#1693) · 8bd9f41e
      Mark OLESEN authored
      STYLE: minor changes to makefiles
      8bd9f41e
  6. May 06, 2020
  7. May 05, 2020
    • Mark OLESEN's avatar
      ENH: improve cmake/ParaView config handling · aafe674f
      Mark OLESEN authored
      - improve handling of changes in ParaView/VTK or cmake parameters (#1693)
      
        * adjust internals to support recording of an unlimited number of
          configuration parameters and use file `cmp` instead of trying
          to check strings ourselves.
      
      ENH: new wmake/scripts/wmake.cmake-args handler
      
      - additional handling of -prefix=... as CMAKE_INSTALL_PREFIX export.
      
      - in some contexts, can use instead of AllwmakeParseArguments
      aafe674f
  8. Apr 21, 2020
  9. Apr 15, 2020
    • Mark OLESEN's avatar
      e1586bda
    • Mark OLESEN's avatar
      CONFIG: improve detection of scotch system include/libraries · 06333efd
      Mark OLESEN authored
      - align wmake have_* scripts to support version query as per current
        develop branch
      
      - use config.sh/ fallbacks when the corresponding *_ARCH_PATH is empty
        (eg, BOOST, CGAL, FFTW).
        This aids when building outside of the regular OpenFOAM environment.
      06333efd
    • Mark OLESEN's avatar
      CONFIG: improve support for compiler derivatives (#1671) · 4200774d
      Mark OLESEN authored
      - add '[-+.~]' to the recognized qualifiers.
        This allows simple readable names such as
      
            WM_COMPILER=Clang-vendor
      
        but also opens the FUTURE (not yet supported) possibility of
        combining in additional information. For example,
      
            WM_COMPILER=Clang~openmp
            WM_COMPILER=Clang+cuda~openmp
      
        by using '+' (add) and '~' (subtract) notation similar to what
        spack uses.
      
      CONFIG: support 'override' rules
      
      - if present, compiler-family 'override' rules are included after
        compiler-family 'general' rules have been included. This allows a
        central means for including dynamically generated content to
        override some values.
      
        Some examples:
      
        To handle different gcc versions (system compiler):
      
        wmake/rules/...Gcc/override
      
        ```
        ifneq (,$(findstring 9, $(WM_COMPILER)))
            cc  := gcc-9
            CC  := g++-9 -std=c++11
        endif
        ```
      
        To handle different openmp on Darwin (#1656):
      
        wmake/rules/darwin64Clang/override
      
        ```
        # Use lib...
      4200774d
    • Mark OLESEN's avatar
      CONFIG: handle openmp on Darwin (#1656) · 04b5291c
      Mark OLESEN authored
      - requires -Xpreprocessor
      - uses 'libomp' (no 'libgomp' link)
      04b5291c
  10. Apr 06, 2020
  11. Mar 25, 2020
    • Mark OLESEN's avatar
      ENH: tuning wmake behaviour (#1647) · 816e96e0
      Mark OLESEN authored
      - preferentially handle Allwmake.override, which allows packaging
        tools to define alternative make scripts, or selectively disable
        components.
      
      - remove legacy handling of 'Optional' directory.
        Conditionals have since migrated into scripts themselves and/or
        use the wmake/scripts/have_* framework.
      
      BUG: missed passing -debug for Allwmake scripts
      816e96e0
  12. Mar 16, 2020
    • Mark OLESEN's avatar
      CONFIG: improve prefix matching for system libraries (#1607) · fe17c8ad
      Mark OLESEN authored
      - missed detection of system libraries when installed with multiarch
        paths like /usr/lib/x86_64-linux-gnu
      
      CONFIG: improve handling of group/user config files (#928)
      
      - changed bashrc handling of FOAM_CONFIG_NOUSER to use
        FOAM_CONFIG_MODE instead. Propagate into foamEtcFile to make this
        a stickier control.
      
        This change allows better control, but also enables cluster
        installations to define their own value within the OpenFOAM prefs.sh
        file to prevent users accidentally mis-configuring things if
        necessary.
      
      - remove undocumented handling of an (a)ll mode in foamEtcFile to
        avoid potential pitfalls.
      
      - add support for FOAM_CONFIG_ETC handling.
        This allows injection of an extra search layer when finding
        project etc files
      
      ENH: improvements to foamConfigurePaths (#928)
      
      - handle FOAM_CONFIG_ETC implicitly, or explicitly with the new
        -etc option.
      
      STYLE: more explicit wording in foamConfigurePaths usage (#1602)
      
      - document that an absolute path (eg, -scotch-path) overrides/ignores
        the equivalent ThirdParty setting (eg, -scotch)
      
      - longer options -system-compiler and -third-compiler for -system
        and -third, respectively. Clearer as to their purpose.
      
      - adjust the location sanity check to look for META-INFO directory.
      fe17c8ad
    • Mark OLESEN's avatar
      CONFIG: support FOAM_EXTRA_CXXFLAGS (#1256) · ac8b64df
      Mark OLESEN authored
      - allows custom tuning of compilation parameters
      ac8b64df
  13. Feb 24, 2020
    • Mark OLESEN's avatar
      CONFIG: improve prefix matching for system libraries (#1607) · 5ba2cbc5
      Mark OLESEN authored
      - missed detection of system libraries when installed with multiarch
        paths like /usr/lib/x86_64-linux-gnu
      
      CONFIG: improve handling of group/user config files (#928)
      
      - changed bashrc handling of FOAM_CONFIG_NOUSER to use
        FOAM_CONFIG_MODE instead. Propagate into foamEtcFile to make this
        a stickier control.
      
        This change allows better control, but also enables cluster
        installations to define their own value within the OpenFOAM prefs.sh
        file to prevent users accidentally mis-configuring things if
        necessary.
      
      - remove undocumented handling of an (a)ll mode in foamEtcFile to
        avoid potential pitfalls.
      
      - add support for FOAM_CONFIG_ETC handling.
        This allows injection of an extra search layer when finding
        project etc files
      
      ENH: improvements to foamConfigurePaths (#928)
      
      - handle FOAM_CONFIG_ETC implicitly, or explicitly with the new
        -etc option.
      
      STYLE: more explicit wording in foamConfigurePaths usage (#1602)
      
      - document that an absolute path (eg, -scotch-path) overrides/ignores
        the equivalent ThirdParty setting (eg, -scotch)
      
      - longer options -system-compiler and -third-compiler for -system
        and -third, respectively. Clearer as to their purpose.
      
      - adjust the location sanity check to look for META-INFO directory.
      5ba2cbc5
  14. Feb 20, 2020
  15. Feb 19, 2020
  16. Feb 12, 2020
  17. Feb 10, 2020
  18. Feb 07, 2020
  19. Jan 23, 2020
  20. Jan 13, 2020
  21. Dec 23, 2019