我有一个约400MB的相当大的代码库,包含46k文件(历史原因)。调用issecsApart <- function(d_cor) {
secs <- 0
keeps <- c()
for (d in d_cor) {
if (d >= secs + 15) {
secs <- d
keeps <- c(keeps, TRUE)
} else {
keeps <- c(keeps, FALSE)
}
}
keeps
}
d_cor2 <- d_cor %>%
arrange(Time) %>%
filter(issecsApart(Time))
会花费15分钟以上的时间,大部分时间都是在复制文件。直接调用cmake只需约20秒。
我现在想禁止使用no_copy_source进行复制,但是除非经过绝对路径,否则cmake找不到源文件。
我想念什么?
conan create
答案 0 :(得分:0)
您什么都不丢失。
属性no-copy-source告诉柯南不要将任何文件复制到构建文件夹。运行conan create
时,柯南将从build_folder构建所有文件。这就是为什么cmake找不到这些文件的原因。
由于您的存储库很大,因此需要将源文件夹传递给CMake configure:
def _configure_cmake(self):
cmake = CMake()
cmake.configure(source_dir=self.source_folder)
return cmake
def build(self):
cmake = self._configure_cmake()
cmake.build()
def package(self):
# if cmake file has install() configured
cmake = self._configure_cmake()
cmake.install()
# of copy directly
self.copy("*.lib", dst="lib", src=os.path.join(self.source_folder, "lib"))
如您所见,现在已经正确配置了源文件夹,包括在打包时。