Adds a much smaller, more maintainable, and more portable Homebrew/fpm-based installation script, install.sh for macOS, Linux, and Windows Subsystem for Linux.
Adds a test/ subdirectory containing Garden unit tests that fpm can run.
Moves src/tests to tests/ to prevent fpm from building the CTest tests because of a build error due to duplicate module names.
Adjusts the top-level CMake script for the new tests/ directory location.
Brackets the legacy GASNet and OpenSHMEM library source files with C preprocessor macros to prevent fpm from compiling them.
Adds an example/ subdirectory with simple demonstration programs that fpm can run.
Puts fpm.toml in a new .gitignore file to prevent naive uses of fpm. (fpm builds work only after the new version of install.sh has been run and has copied the new fpm.toml file to the top-level source directory.)
Rationale for changes
The old install.sh script was large, complicated, difficult to maintain, and was written in an era before Homebrew was stable across macOS and Linux and long before fpm existed. The new installer first installs Homebrew if it's missing, then uses Homebrew to install all OpenCoarrays prerequisites, and finally builds OpenCoarrays with fpm, which enables developers to (re)build OpenCoarrays from source without CMake.
Additional info and certifications
This pull request (PR) is a:
[ ] Bug fix
[ ] Feature addition
[X] Other, Please describe: BREAKING CHANGE: This PR replaces the installer.
Summary of changes
This PR
install.sh
for macOS, Linux, and Windows Subsystem for Linux.test/
subdirectory containing Garden unit tests thatfpm
can run.src/tests
totests/
to preventfpm
from building the CTest tests because of a build error due to duplicate module names.tests/
directory location.fpm
from compiling them.example/
subdirectory with simple demonstration programs that fpm can run.fpm.toml
in a new.gitignore
file to prevent naive uses offpm
. (fpm
builds work only after the new version ofinstall.sh
has been run and has copied the newfpm.toml
file to the top-level source directory.)Rationale for changes
The old
install.sh
script was large, complicated, difficult to maintain, and was written in an era before Homebrew was stable across macOS and Linux and long beforefpm
existed. The new installer first installs Homebrew if it's missing, then uses Homebrew to install all OpenCoarrays prerequisites, and finally builds OpenCoarrays withfpm
, which enables developers to (re)build OpenCoarrays from source without CMake.Additional info and certifications
This pull request (PR) is a:
I certify that
Code coverage data