summaryrefslogtreecommitdiff
path: root/spec/fixtures/packages/conan/recipe_files/conanfile.py
diff options
context:
space:
mode:
Diffstat (limited to 'spec/fixtures/packages/conan/recipe_files/conanfile.py')
-rw-r--r--spec/fixtures/packages/conan/recipe_files/conanfile.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/spec/fixtures/packages/conan/recipe_files/conanfile.py b/spec/fixtures/packages/conan/recipe_files/conanfile.py
new file mode 100644
index 00000000000..910bd5a0b51
--- /dev/null
+++ b/spec/fixtures/packages/conan/recipe_files/conanfile.py
@@ -0,0 +1,47 @@
+from conans import ConanFile, CMake, tools
+
+
+class HelloConan(ConanFile):
+ name = "Hello"
+ version = "0.1"
+ license = "<Put the package license here>"
+ author = "<Put your name here> <And your email here>"
+ url = "<Package recipe repository url here, for issues about the package>"
+ description = "<Description of Hello here>"
+ topics = ("<Put some tag here>", "<here>", "<and here>")
+ settings = "os", "compiler", "build_type", "arch"
+ options = {"shared": [True, False]}
+ default_options = "shared=False"
+ generators = "cmake"
+
+ def source(self):
+ self.run("git clone https://github.com/conan-io/hello.git")
+ # This small hack might be useful to guarantee proper /MT /MD linkage
+ # in MSVC if the packaged project doesn't have variables to set it
+ # properly
+ tools.replace_in_file("hello/CMakeLists.txt", "PROJECT(HelloWorld)",
+ '''PROJECT(HelloWorld)
+include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
+conan_basic_setup()''')
+
+ def build(self):
+ cmake = CMake(self)
+ cmake.configure(source_folder="hello")
+ cmake.build()
+
+ # Explicit way:
+ # self.run('cmake %s/hello %s'
+ # % (self.source_folder, cmake.command_line))
+ # self.run("cmake --build . %s" % cmake.build_config)
+
+ def package(self):
+ self.copy("*.h", dst="include", src="hello")
+ self.copy("*hello.lib", dst="lib", keep_path=False)
+ self.copy("*.dll", dst="bin", keep_path=False)
+ self.copy("*.so", dst="lib", keep_path=False)
+ self.copy("*.dylib", dst="lib", keep_path=False)
+ self.copy("*.a", dst="lib", keep_path=False)
+
+ def package_info(self):
+ self.cpp_info.libs = ["hello"]
+