context("create.package.R")
library(RCMake)
test_that("Generate CMakeLists.txt correctly with R", {
pkg_name <- "RCmakeTestR"
create.R.project(name=pkg_name)
expect_true(file.exists(normalizePath(paste( pkg_name, "CMakeLists.txt", sep="/"))))
cmakelists <- readLines(paste( pkg_name, "CMakeLists.txt", sep="/"))
expect_true(gregexpr("@.*@", cmakelists)[[1]] == -1)
origin.wd <- getwd()
build.dir <- paste(tempdir(), pkg_name, sep="/")
dir.create(build.dir)
print(build.dir)
setwd(build.dir)
expect_true(execute.cmake(system.file(paste("tests", pkg_name, sep="/"), package="RCMake")) == 0)
expect_true(system("make") == 0)
setwd(origin.wd)
expect_output(installed.packages()[,"Package"], pkg_name)
remove.packages(pkg_name)
})
test_that("Generate CMakeLists.txt correctly with Rcpp", {
expect_true(require(Rcpp))
assign("a", value=1.0, envir=.GlobalEnv)
pkg_name <- "RCmakeTestRcpp"
create.Rcpp.project(name=pkg_name)
expect_true(file.exists(normalizePath(paste( pkg_name, "CMakeLists.txt", sep="/"))))
cmakelists <- readLines(paste( pkg_name, "CMakeLists.txt", sep="/"))
expect_true(gregexpr("@.*@", cmakelists)[[1]] == -1)
origin.wd <- getwd()
build.dir <- paste(tempdir(), pkg_name, sep="/")
dir.create(build.dir)
print(build.dir)
setwd(build.dir)
expect_true(execute.cmake(system.file(paste("tests", pkg_name, sep="/"), package="RCMake")) == 0)
expect_true(system("make") == 0)
setwd(origin.wd)
expect_output(installed.packages()[,"Package"], pkg_name)
remove.packages(pkg_name)
})
test_that("Generate CMakeLists.txt correctly for Roxygenize", {
expect_true(require(Rcpp))
pkg_name <- "RCMakeTestRoxygenize"
create.Rcpp.project(name=pkg_name, is_roxygenize=TRUE)
expect_true(file.exists(normalizePath(paste( pkg_name, "CMakeLists.txt", sep="/"))))
cmakelists <- readLines(paste( pkg_name, "CMakeLists.txt", sep="/"))
expect_true(gregexpr("@.*@", cmakelists)[[1]] == -1)
origin.wd <- getwd()
build.dir <- paste(tempdir(), pkg_name, sep="/")
dir.create(build.dir)
print(build.dir)
setwd(build.dir)
expect_true(execute.cmake(system.file(paste("tests", pkg_name, sep="/"), package="RCMake")) == 0)
expect_true(system("make") == 0)
setwd(origin.wd)
expect_output(installed.packages()[,"Package"], pkg_name)
remove.packages(pkg_name)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.