TriBITSPub / TriBITS

TriBITS: Tribal Build, Integrate, and Test System,
http://tribits.org
Other
36 stars 46 forks source link

Create reasonable delivery mechanism for CMake+Ninja+Fortran #167

Closed bartlettroscoe closed 3 years ago

bartlettroscoe commented 7 years ago

To fully take advantage of dummy makefiles for Ninja, we need to provide ninja and CMake 3.7.0+ to support Fortran. This is needed by CASL VERA for example but I suspect will also be needed for many Sandia projects as well.

This can be accomplished with:

1) Add cmake-3.7.0 to install-cmake.py script

2) Add a install-ninja.py script and have it install ninja_fortran/1.7.2 (see https://github.com/Kitware/ninja/releases/tag/v1.7.2.gcc0ea.kitware.dyndep-1)

3) Add install-ninja.py to install-devtools.py (which CASL VERA uses)

These are already installed with some SEMS modules at Sandia (see https://sems.sandia.gov/confluence/pages/viewpage.action?pageId=1998951).

bartlettroscoe commented 5 years ago

Now that people are using Spack and it is easy to manually install Ninja and CMake so I am going to clos this as "wontfix"

bartlettroscoe commented 4 years ago

Spack is not a reasonable delivery system for simple tools like CMake and Ninja. If you use Spack to try to build Ninja, it will first try to build and install Python, Pearl and several other packages. Same goes for CMake. That is insane. We need a simple way to install these basic tools.

I saddens me to reopen this issue :-(

bartlettroscoe commented 3 years ago

NOTE: As of Ninja 1.10, support for Fortran with CMake is now part of mainline Ninja. Also, as of CMake 3.16, it will automatically support Fortran with Ninja 1.10+ (see https://gitlab.kitware.com/snl/project-1/-/issues/80).

Therefore, just installing raw Ninja 1.10+ will automatically provide what you need if you have CMake 3.16+. And since we have the updated TriBITS/tribits/devtools_install/install-cmake.py command, I think this is good enough.

Perhaps in the future I can provide a nice little install-ninja.py command like the install-cmake.py command to make this super easy. But I will make a new issue for that later.

I am going to close this as WORKSFORME!