| 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-doccan be set toFALSEto avoid cleaning upinst/docwhen building a source package. Set it toTRUEto force a cleanup. See theclean_docargument. -
Config/build/copy-methodcan 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_methodoption or thePKG_BUILD_COPY_METHODenvironment variable to set the copy method. The option is consulted first, then theDESCRIPTIONentry, then the environment variable. -
-
Config/build/extra-sourcescan 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/*.rsorconfigure*. -
Config/build/bootstrapcan be set toTRUEto runRscript bootstrap.Rin 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-methodDESCRIPTIONentry. -
pkg.build_stop_for_warnings: if it is set toTRUE, then pkgbuild will stop forR CMD builderrors. It takes precedence over thePKG_BUILD_STOP_FOR_WARNINGSenvironment variable.
Environment variables
-
PKG_BUILD_COLOR_DIAGNOSTICS: set it tofalseto opt out of colored compiler diagnostics. Set it totrueto 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-methodDESCRIPTIONentry.
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