微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 conan Cmake 助手实现 Cmake -C 选项

如何解决如何使用 conan Cmake 助手实现 Cmake -C 选项

现在我像这样使用 cmake:

cmake .. -C pathToMyFile

我想使用 Conan Cmake 助手配置 cmake,以便在我的 conanfile.py 中拥有

cmake=CMake(self)
cmake.configure()

我怎样才能告诉 Cmake 预加载我的脚本以填充缓存。我试过了

cmake.configure(args="-C mypath")

但这没有用。谢谢!

解决方法

你为什么需要它? CMake 助手使用它自己的缓存,您不需要配置任何额外的东西。除此之外,您可以重复使用相同的 CMake 对象,以避免调用两次。

正确的流程是:

def _configure_cmake(self):
   if self._cmake:
       return self._cmake
   self._cmake = CMake(self)
   self._cmake.definitions["BUILD_TESTING"] = False
   self._cmake.configure() # it runs cmake <build_folder> -DBUILD_TESTING=False ...
   return self._cmake

def build(self):
   cmake = self._configure_cmake()
   cmake.build() # it runs cmake --build .

def package(self):
   cmake = self._configure_cmake()
   cmake.install()  # it runs cmake --build . --target install
 

另外,CMake args 不是字符串,而是列表,很好 documented,因此,您必须通过:

cmake.configure(args=["-C","mypath"])

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。