带Rcpp和CMake的R包(Windows)

6 r cmake rcpp

我正在使用CMake作为构建工具来使用Rcpp创建C++共享库.要在调用R CMD INSTALL命令时触发CMake,顶级configure脚本需要看起来像这样:

rm -rf _builds
cmake -H. -B_builds
cmake --build _builds
...
Run Code Online (Sandbox Code Playgroud)

这种方法在Linux和Mac OS上运行良好,但在Windows机器上运行不正常.

什么版本的CMake预计configure:

  • windows native cmake
  • cygwin cmake

我需要使用什么生成器:

  • Unix Makefiles (Cygwin的)
  • MSYS Makefiles (原生)
  • MinGW Makefiles (原生)

SSCCE

小智 7

将所有Makefile文件(Makefile.win对于Windows)保留为空:

all:
Run Code Online (Sandbox Code Playgroud)

将CMake构建指令放入configure(configure.win对于Windows):

cmake -H. -B_builds
cmake --build _builds
Run Code Online (Sandbox Code Playgroud)

在Linux,Mac和Windows(本机cmake与Visual Studio生成器)上,这种方法对我很有用.请注意,它可能与cran和windows build 不兼容需要调整以编译不同的体系结构(请参阅参考资料R_ARCH),但它可以在本地运行并满足我的需求.