File: cpp_vendor.Rd

package info (click to toggle)
r-cran-cpp11 0.5.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,428 kB
  • sloc: cpp: 9,732; sh: 14; makefile: 2
file content (43 lines) | stat: -rw-r--r-- 1,284 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/vendor.R
\name{cpp_vendor}
\alias{cpp_vendor}
\title{Vendor the cpp11 dependency}
\usage{
cpp_vendor(path = ".")
}
\arguments{
\item{path}{The path to the package root directory}
}
\value{
The file path to the vendored code (invisibly).
}
\description{
Vendoring is the act of making your own copy of the 3rd party packages your
project is using. It is often used in the go language community.
}
\details{
This function vendors cpp11 into your package by copying the cpp11
headers into the \code{inst/include} folder of your package and adding
'cpp11 version: XYZ' to the top of the files, where XYZ is the version of
cpp11 currently installed on your machine.

If you choose to vendor the headers you should \emph{remove} \code{LinkingTo: cpp11} from your DESCRIPTION.

\strong{Note}: vendoring places the responsibility of updating the code on
\strong{you}. Bugfixes and new features in cpp11 will not be available for your
code until you run \code{cpp_vendor()} again.
}
\examples{
# create a new directory
dir <- tempfile()
dir.create(dir)

# vendor the cpp11 headers into the directory
cpp_vendor(dir)

list.files(file.path(dir, "inst", "include", "cpp11"))

# cleanup
unlink(dir, recursive = TRUE)
}