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

Improve thoroughness of MSVC CI testing via Appveyor. #729

Merged
merged 3 commits into from
Jan 24, 2020

Conversation

KineticTheory
Copy link
Collaborator

@KineticTheory KineticTheory commented Jan 23, 2020

Background

  • For the past couple of years our CI testing that attempts a MSVC build was underwhelming. It only would build and test a small set of Draco. It didn't use MPI, eospac, metis, parmetis, or lapack,
  • 272 tests now active (279 are active on ccscs2). Missing tests...
    • 5 are from cdi_eospac (no data file)
    • 1 is from compton (csk not available)
    • 1 is from plot2D (xmgrace not available)

Purpose of Pull Request

Description of changes

  • The appveyor script is significantly updated along with the zip file that contains pre-built software. Since appveyor now supports vcpkg, many more vendors can be easily installed.
  • Only activate the autodoc target if the Exe_draco_info target is known.
  • Begin using MSVC 2019 (was 2017).
  • Provide MPI in the build image.
  • Provide TPLs built with vcpkg.
  • Only attempt 64-bit compiles. Three build modes are tested.
    • Debug, Scalar
    • Debug, MPI
    • Release, MPI
  • Update CMakeAddFortranSubdirectory so that CMake verbosity options propagate to the subproject. Tweak the Fortran packages to make debugging easier and to eliminate some warnings that showed up when I moved to MSVC 2019.
  • Move logic related to activating the build of some directories based on availability of software down into those packages and out of src/CMakeLists.txt.

Status

@KineticTheory KineticTheory self-assigned this Jan 23, 2020
@KineticTheory
Copy link
Collaborator Author

@RyanWollaeger Can you review and merge this PR today. I will sit with you to go through the modified build logic.

@KineticTheory KineticTheory changed the title WIP: Attempt to do more serious MSVC CI testing via Appveyor. Attempt to do more serious MSVC CI testing via Appveyor. Jan 24, 2020
@KineticTheory KineticTheory changed the title Attempt to do more serious MSVC CI testing via Appveyor. Improve thoroughness of MSVC CI testing via Appveyor. Jan 24, 2020
src/plot2D/CMakeLists.txt Show resolved Hide resolved
@RyanWollaeger RyanWollaeger merged commit 89acd8b into lanl:develop Jan 24, 2020
This was referenced Jan 27, 2020
@KineticTheory KineticTheory deleted the appveyor-update branch January 29, 2020 02:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Consider vcpkg for providing TPLs for MSVC and appveyor CI
2 participants