Skip to content

v0.5.0

Pre-release
Pre-release

Choose a tag to compare

@Cy4Shot Cy4Shot released this 04 Nov 00:35

BRICK now supports better templating and options in Brickfile.

New Templates

  • sys.nproc - expands to the number of processors, similar to the nproccommand
  • compiler.cc - the configured C compiler.
  • compiler.cxx - the configured C++ compiler.
  • compiler.fc- the configured Fortran compiler.
  • compiler.mpicc - the configured MPI C compiler.
  • compiler.mpicxx - the configured MPI C++ compiler.
  • compiler.mpifc - the configured MPI Fortran compiler.
  • compiler.cflags - the configured global flags passed into C compilers.
  • compiler.cxxflags - the configured global flags passed into C++ compilers.
  • compiler.fcflags - the configured global flags passed into Fortran compilers.
  • dir.install - the install directory of the current brick.
  • dir.build - the build directory of the current brick.
  • dir.install.* - the install directory of the brick specified in the wildcard.
  • dir.build.* - the build directory of the brick specified in the wildcard.

New Brickfile Directives

The following new directives are supported in root Brickfiles only:

  • @cc <executable> - The C compiler executable binary. Sets $CC environment variable and compiler.cc template.
  • @cxx <executable> - The C++ compiler executable binary. Sets $CXX environment variable and compiler.cxx template.
  • @fc <executable> - The Fortran compiler executable binary. Sets $FC environment variable and compiler.fc template.
  • @mpicc <executable> - The MPI C compiler executable binary. Sets $MPICC environment variable and compiler.mpicc template.
  • @mpicxx <executable> - The MPI C++ compiler executable binary. Sets $MPICXX environment variable and compiler.mpicxx template.
  • @mpifc <executable> - The MPI Fortran compiler executable binary. Sets $MPIFC environment variable and compiler.mpifc template.
  • @cflags <flags...> - The flags passed into C compilers. Sets the $GLOBAL_CFLAGS environment variable and compiler.cflags template.
  • @cxxflags <flags...> - The flags passed into C++ compilers. Sets the $GLOBAL_CXXFLAGS environment variable and compiler.cxxflags template.
  • @fcflags <flags...> - The flags passed into Fortran compilers. Sets the $GLOBAL_FCFLAGS environment variable and compiler.fcflags template.

Under the hood, Brickfile parsing was partially rewritten. Templating and compiler support was completely rewritten.

Full Changelog: v0.4.1...v0.5.0