你什么都没错过。
属性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"))如您所见,源文件夹现在已正确配置,包括打包时。