In addition to package.skeleton :
The DESCRIPTION file gains an Imports line requesting that
the package depends on Rcpp and a LinkingTo line so that the package
finds Rcpp header files.
The NAMESPACE gains a useDynLib
directive as well
as an importFrom(Rcpp, evalCpp
to ensure instantiation of Rcpp.
The src directory is created if it does not exists.
If cpp_files
are provided then they will be copied to the src
directory.
If the example_code
argument is set to TRUE
,
example files rcpp_hello_world.h and rcpp_hello_world.cpp
are also created in the src. An R file rcpp_hello_world.R is
expanded in the R directory, the rcpp_hello_world
function
defined in this files makes use of the C++ function rcpp_hello_world
defined in the C++ file. These files are given as an example and should
eventually by removed from the generated package.
If the attributes
argument is TRUE
, then rather than generate
the example files as described above, a single rcpp_hello_world.cpp
file is created in the src directory and it's attributes are
compiled using the compileAttributes
function. This leads to
the files RcppExports.R and RcppExports.cpp being generated.
They are automatically regenerated from scratch each time
compileAttributes
is called. Therefore, one should
not modify by hand either of the RcppExports files.
If the module
argument is TRUE
, a sample Rcpp module will
be generated as well.