Skip to content
Snippets Groups Projects
  1. Nov 04, 2020
    • 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
  2. Jul 01, 2020
  3. Jun 08, 2020
    • 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
  4. May 22, 2020
  5. May 12, 2020
    • 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
  6. Apr 21, 2020
    • Mark OLESEN's avatar
      CONFIG: additional packaging helpers, tutorial test helper · aa2f932b
      Mark OLESEN authored
      - bin/tools/create-mpi-config to query/write values for system openmpi.
        In some cases this can be used to avoid an mpicc requirement at runtime.
      
      - adjust openfoam session to include -test-tutorial forwarding to the
        tutorials/AutoTest. This helps with writing installation tests.
      
      - adjust foamConfigurePaths to latest version
      
      - removal of gperftools default config, as per develop
  7. 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
  8. Feb 12, 2020
  9. Dec 19, 2019
  10. Dec 17, 2019
  11. Nov 13, 2019
  12. Nov 10, 2019
  13. Jun 24, 2019
  14. Jun 09, 2019
  15. Dec 09, 2018
  16. Dec 03, 2018
    • Mark OLESEN's avatar
      CONFIG: adjustments to environment · b8c257d6
      Mark OLESEN authored
      - provide default WM_DIR if not already set, to improve robustness if a
        reduced environment is used
      
      - add etc/ to WM_PROJECT_SITE search. This makes the site directory
        structure consistent with the OpenFOAM structure.
        Eg,
      
            WM_PROJECT_SITE/etc/..
            WM_PROJECT_SITE/bin/..
            WM_PROJECT_SITE/platforms/..
      
      - Don't set/export WM_OSTYPE.  The default is POSIX and is properly
        defaulted throughout, including in CMakeLists-OpenFOAM.txt (also for
        Catalyst)
      b8c257d6
  17. Nov 22, 2018
  18. Nov 21, 2018
  19. Nov 06, 2018
  20. Dec 18, 2017
  21. Dec 13, 2017
    • Mark OLESEN's avatar
      CONFIG: add additional modules/ directory and Module namespace · ffc1c5ac
      Mark OLESEN authored
      - any code placed here should provide Allwmake and Allwclean scripts
        and normally have compilation targets into FOAM_APPBIN, FOAM_LIBBIN
      
        Since there is no standardize places for sources or applications,
        a simultaneous build of a module's doxygen documentation requires
        a minor bit of manual effort. Add (via symlink) the sources into
        the modules/doc/ directory to have them included in the normal
        OpenFOAM doxygen documentation generation.
      
        A makelink.example file is provided there as an example.
      ffc1c5ac
  22. Apr 24, 2018
    • Mark OLESEN's avatar
      ENH: improve handling of ThirdParty packages · b4d38ab4
      Mark OLESEN authored
      - generalize some of the library extensions (.so vs .dylib).
        Provide as wmake 'sysFunctions'
      
      - added note about unsupported/incomplete system support
      
      - centralize detection of ThirdParty packages into wmake/ subdirectory
        by providing a series of scripts in the spirit of GNU autoconfig.
        For example,
      
            have_boost, have_readline, have_scotch, ...
      
        Each of the `have_<package>` scripts will generally provide the
        following type of functions:
      
            have_<package>          # detection
            no_<package>            # reset
            echo_<package>          # echoing
      
        and the following type of variables:
      
            HAVE_<package>          # unset or 'true'
            <package>_ARCH_PATH     # root for <package>
            <package>_INC_DIR       # include directory for <package>
            <package>_LIB_DIR       # library directory for <package>
      
        This simplifies the calling scripts:
      
            if have_metis
            then
                wmake metisDecomp
            fi
      
        As well as reducing clutter in the corresponding Make/options:
      
            EXE_INC = \
                -I$(METIS_INC_DIR) \
                -I../decompositionMethods/lnInclude
      
            LIB_LIBS = \
                -L$(METIS_LIB_DIR) -lmetis
      
        Any additional modifications (platform-specific or for an external build
        system) can now be made centrally.
      b4d38ab4
  23. Apr 04, 2017
    • Mark Olesen's avatar
      ENH: reduce reliance on FOAM_EXT_LIBBIN during builds · dd78e042
      Mark Olesen authored
      - just check WM_PROJECT_DIR instead.
      
      - provide a fallback value when FOAM_EXT_LIBBIN might actually be needed.
      
      Only strictly need FOAM_EXT_LIBBIN for scotch/metis decomposition, and
      when these are actually supplied by ThirdParty.
      All other ThirdParty dependencies are referenced by BOOST_ARCH_PATH etc.
      
      Can therefore drop the FOAM_EXT_LIBBIN dependency for VTK-related
      things, which do not use scotch/metis anyhow.
      dd78e042
  24. Mar 29, 2017
  25. Mar 10, 2017
  26. Feb 06, 2017
  27. Jan 28, 2017
  28. Dec 23, 2016
  29. Dec 22, 2016
    • Mark Olesen's avatar
      COMP: update lnInclude directories when building (issue #364) · 608bb5d8
      Mark Olesen authored
      - Could be related to interrupted builds.
        So if there are any parts of the build that rely on an explicit
        'wmakeLnInclude', make sure that the contents are properly updated.
      
      --
      
      ENH: improved feedback from top-level Allwmake
      
      - Report which section (libraries, applications) is being built.
      
      - Provide final summary of date, version, etc, which can be helpful
        for later diagnosis or record keeping.
      
      - The -log=XXX option for Allwmake now accepts a directory name
        and automatically appends an appropriate log name.
        Eg,
            ./Allwmake -log=logs/  ->> logs/log.linux64GccDPInt32Opt
      
        The default name is built from the value of WM_OPTIONS.
      
      --
      
      BUG: shell not exiting properly in combination with -log option
      
      - the use of 'tee' causes the shell to hang around.
        Added an explicit exit to catch this.
      
      --
      
      - Detecting the '-k' (-non-stop) option at the top-level Allwmake, which
        may improve robustness.
      
      - Explicit continue-on-error for foamyMesh (as optional component)
      
      - unify format of script messages for better readability
      
      COMP: reduce warnings when building Pstream (old-style casts in openmpi)
      608bb5d8
  30. Jul 04, 2016
  31. Jun 24, 2016
  32. Feb 15, 2016
  33. Oct 26, 2015
  34. Dec 14, 2014
  35. Jun 04, 2013
  36. Dec 30, 2010
  37. Jul 02, 2010
  38. Jun 22, 2010
  39. Aug 07, 2009
  40. Jul 31, 2009