Repository navigation
v0.5.0
Pre-release
Pre-release
BRICK now supports better templating and options in Brickfile.
New Templates
sys.nproc- expands to the number of processors, similar to thenproccommandcompiler.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$CCenvironment variable andcompiler.cctemplate.@cxx <executable>- The C++ compiler executable binary. Sets$CXXenvironment variable andcompiler.cxxtemplate.@fc <executable>- The Fortran compiler executable binary. Sets$FCenvironment variable andcompiler.fctemplate.@mpicc <executable>- The MPI C compiler executable binary. Sets$MPICCenvironment variable andcompiler.mpicctemplate.@mpicxx <executable>- The MPI C++ compiler executable binary. Sets$MPICXXenvironment variable andcompiler.mpicxxtemplate.@mpifc <executable>- The MPI Fortran compiler executable binary. Sets$MPIFCenvironment variable andcompiler.mpifctemplate.@cflags <flags...>- The flags passed into C compilers. Sets the$GLOBAL_CFLAGSenvironment variable andcompiler.cflagstemplate.@cxxflags <flags...>- The flags passed into C++ compilers. Sets the$GLOBAL_CXXFLAGSenvironment variable andcompiler.cxxflagstemplate.@fcflags <flags...>- The flags passed into Fortran compilers. Sets the$GLOBAL_FCFLAGSenvironment variable andcompiler.fcflagstemplate.
Under the hood, Brickfile parsing was partially rewritten. Templating and compiler support was completely rewritten.
Full Changelog: v0.4.1...v0.5.0