build {pkgbuild} | R Documentation |
Build package
Description
Building converts a package source directory into a single bundled file.
If binary = FALSE
this creates a tar.gz
package that can
be installed on any platform, provided they have a full development
environment (although packages without source code can typically be
installed out of the box). If binary = TRUE
, the package will have
a platform specific extension (e.g. .zip
for windows), and will
only be installable on the current platform, but no development
environment is needed.
Usage
build(
path = ".",
dest_path = NULL,
binary = FALSE,
vignettes = TRUE,
manual = FALSE,
clean_doc = NULL,
args = NULL,
quiet = FALSE,
needs_compilation = pkg_has_src(path),
compile_attributes = FALSE,
register_routines = FALSE
)
Arguments
path |
Path to a package, or within a package. |
dest_path |
path in which to produce package. If it is an existing
directory, then the output file is placed in |
binary |
Produce a binary ( |
vignettes , manual |
For source packages: if |
clean_doc |
If |
args |
An optional character vector of additional command
line arguments to be passed to |
quiet |
if |
needs_compilation |
Usually only needed if the packages has C/C++/Fortran code. By default this is autodetected. |
compile_attributes |
if |
register_routines |
if |
Details
Configuration
DESCRIPTION
entries
-
Config/build/clean-inst-doc
can be set toFALSE
to avoid cleaning upinst/doc
when building a source package. Set it toTRUE
to force a cleanup. See theclean_doc
argument. -
Config/build/copy-method
can be used to avoid copying large directories inR CMD build
. It works by copying (or linking) the files of the package to a temporary directory, leaving out the (possibly large) files that are not part of the package. Possible values:-
none
: pkgbuild does not copy the package tree. This is the default. -
copy
: the package files are copied to a temporary directory before R CMD build
. -
link
: the package files are symbolic linked to a temporary directory beforeR CMD build
. Windows does not have symbolic links, so on Windows this is equivalent tocopy
.
You can also use the
pkg.build_copy_method
option or thePKG_BUILD_COPY_METHOD
environment variable to set the copy method. The option is consulted first, then theDESCRIPTION
entry, then the environment variable. -
-
Config/build/extra-sources
can be used to define extra source files for pkgbuild to decide whether a package DLL needs to be recompiled inneeds_compile()
. The syntax is a comma separated list of file names, or globs. (Seeutils::glob2rx()
.) E.g.src/rust/src/*.rs
orconfigure*
. -
Config/build/bootstrap
can be set toTRUE
to runRscript bootstrap.R
in the source directory prior to running subsequent build steps.
Options
-
pkg.build_copy_method
: use this option to avoid copying large directories when building a package. See possible values above, at theConfig/build/copy-method
DESCRIPTION
entry. -
pkg.build_stop_for_warnings
: if it is set toTRUE
, then pkgbuild will stop forR CMD build
errors. It takes precedence over thePKG_BUILD_STOP_FOR_WARNINGS
environment variable.
Environment variables
-
PKG_BUILD_COLOR_DIAGNOSTICS
: set it tofalse
to opt out of colored compiler diagnostics. Set it totrue
to force colored compiler diagnostics. -
PKG_BUILD_COPY_METHOD
: use this environment variable to avoid copying large directories when building a package. See possible values above, at theConfig/build/copy-method
DESCRIPTION
entry.
will stop for R CMD build
errors. The pkg.build_stop_for_warnings
option takes precedence over this environment variable.
Value
a string giving the location (including file name) of the built package