Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows support #755

Merged
merged 18 commits into from
May 7, 2022
Merged

Windows support #755

merged 18 commits into from
May 7, 2022

Commits on Mar 23, 2022

  1. Build: Fix paths passed as flag args w/ spaces

    Add some quotes to paths passed as compiler flag arguments in CMake
    zbeekman committed Mar 23, 2022
    Configuration menu
    Copy the full SHA
    4e2ab32 View commit details
    Browse the repository at this point in the history
  2. Build: Remove genexp in CMake try_compile() flag

    This fixes a broken build on windows, and seems like it should not
    have been working when using Makefile generators on any platform,
    i.e., macOS & other *nix
    zbeekman committed Mar 23, 2022
    Configuration menu
    Copy the full SHA
    cf4f9ab View commit details
    Browse the repository at this point in the history

Commits on Mar 26, 2022

  1. CMake will build OpenCoarrays on windows w/ GCC & IMPI

    The library now builds with Intel MPI (from Intel OneAPI) and GCC +
    GFortran. There are still some path handling quirks and string quoting
    things that need to be resolved to get the caf and cafrun wrapper
    scripts working reliably. A test program can be built and run by
    tweaking/fixing the commands attempted by the caf script. The program
    executes correctly and then encounters an error during MPI
    finalize/when shutting down.
    zbeekman committed Mar 26, 2022
    Configuration menu
    Copy the full SHA
    344ac30 View commit details
    Browse the repository at this point in the history

Commits on Apr 26, 2022

  1. Configuration menu
    Copy the full SHA
    9cac967 View commit details
    Browse the repository at this point in the history
  2. Make cafrun.in more robust & runable on windows

    No special changes needed beyond robustness improvements
    zbeekman committed Apr 26, 2022
    Configuration menu
    Copy the full SHA
    0abce5a View commit details
    Browse the repository at this point in the history
  3. Improve windows support: find pthreads & use in caf

    Use CMakes FindThreads feature/module to find pthreads since
    they are used in the mpi opencoarrays library. As a result
    the caf wrapper script should also link in/build with pthreads
    zbeekman committed Apr 26, 2022
    Configuration menu
    Copy the full SHA
    a65958c View commit details
    Browse the repository at this point in the history

Commits on May 4, 2022

  1. Configuration menu
    Copy the full SHA
    f873d11 View commit details
    Browse the repository at this point in the history
  2. Use FindMPI on Windows

    The intrinsic FindMPI module seems like it has some bugs or
    documentation bugs. I got this working, but it is a bit of black magic
    as to how/why it works. It simplifies the code, however, and should
    offload some maintanence upstream, so it's worth doing.
    zbeekman committed May 4, 2022
    Configuration menu
    Copy the full SHA
    95f9355 View commit details
    Browse the repository at this point in the history

Commits on May 5, 2022

  1. Bump min. cmake ver. & modernize FindMPI

    Some usage of deprecated variables provided in older version of
    FindMPI were removed, updating them to the new, correct variables.
    
    The cmake_minimum_required_version was also bumped along with CMake
    policies.
    zbeekman committed May 5, 2022
    Configuration menu
    Copy the full SHA
    6e81ea4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2ed3c4a View commit details
    Browse the repository at this point in the history
  3. Add caf & cafrun batchfile wrapper scripts on windows

    These scripts get configured to call the bash version found during
    CMake configuration time. Using this version/installation of bash, the
    batch files call the corresponding bash caf & cafrun scripts and pass
    all arguments through. This *should* allow things like fpm to work
    with the caf wrapper scripts, *I beleive* (untested)
    
    CAVEAT: WSL's bash will dump you into your WSL home directory and
    there's no obvious work around. If you put Git-Bash's bash.exe (in the
    bin subdirectory) first on your path you *should* be in business (I
    think). There may be weird edge cases.
    zbeekman committed May 5, 2022
    Configuration menu
    Copy the full SHA
    6b2c49a View commit details
    Browse the repository at this point in the history
  4. Make CMake, project build & test more robust on Windows

    If you have Git-Bash's bash.exe in the front of your path,
    you can now do everything from within the Intel OneAPI CMD.exe shell.
    If you experience issues you should launch git-bash from the OneAPI
    CMD.exe shell and it will inherit your environment variables and be
    more robust. If CMake finds WSL, you're probably hosed.
    zbeekman committed May 5, 2022
    Configuration menu
    Copy the full SHA
    a426966 View commit details
    Browse the repository at this point in the history
  5. More FindMPI and try_compile() CMake modernization

    A bunch of the variable manipulation should be abstracted as a
    function.
    zbeekman committed May 5, 2022
    Configuration menu
    Copy the full SHA
    abd921c View commit details
    Browse the repository at this point in the history
  6. Make sure we have perl before trying to run style tests, especially on

    windows. Also invoke perl directly so style/linting on windows works.
    zbeekman committed May 5, 2022
    Configuration menu
    Copy the full SHA
    084e1ae View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    9ab99ab View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    02ec792 View commit details
    Browse the repository at this point in the history

Commits on May 7, 2022

  1. Fix typos & style improvements from code review

    Thanks to @rouson and @everythingfunctional for the review and great suggestions!
    
    Co-authored-by: Damian Rouson <rouson@lbl.gov>
    Co-authored-by: Brad Richardson <everythingfunctional@protonmail.com>
    3 people committed May 7, 2022
    Configuration menu
    Copy the full SHA
    eef9548 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e8bc08e View commit details
    Browse the repository at this point in the history