Reputation: 6338
We just started using conan, so I'm still new. One of our dependent libs doesn't have a conan recipe (it's just a cmake-based project on github). Can I write my own local recipe to download it from github and build it so I can add it to my dependencies like any other conan project?
Upvotes: 4
Views: 1445
Reputation: 2446
First checkout the code. You can either do that by using the git tools or run command.
from conans import ConanFile, CMake, tools
class HelloConan(ConanFile):
def source(self):
self.run("git clone https://github.com/conan-io/hello.git")
#or using git tools
git = tools.Git(folder="hello")
git.clone("https://github.com/conan-io/hello.git", "master")
Then build it as you normally would with either cmake tools or run command
from conans import ConanFile, CMake
class ExampleConan(ConanFile):
def build(self):
cmake = CMake(self)
self.run('cmake "%s" %s' % (self.source_folder, cmake.command_line))
self.run('cmake --build . %s' % cmake.build_config)
self.run('cmake --build . --target install')
cmake = CMake(self)
#Using cmake tools
build_folder=self.build_folder)
cmake.configure()
cmake.build()
cmake.test() # Build the "RUN_TESTS" or "test" target
cmake.install()
For my information look at the documentation for
Upvotes: 1