问题描述
现在我像这样使用 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"])