创建不复制源的conan包

你什么都没错过。

属性no-copy-source告诉Conan不要将任何文件复制到build文件夹。当您运行conan create时,Conan将从build_folder构建所有文件。这就是为什么cmake找不到这些文件的原因。

因为您有一个很大的存储库,所以您需要将源文件夹传递给CMake configure:

代码语言:javascript复制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"))如您所见,源文件夹现在已正确配置,包括打包时。