12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- from conans import ConanFile, CMake, tools
- class LibTiffConan(ConanFile):
- name = "libtiff"
- version = "4.0.3"
- 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 Libtiff 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"]
- def configure(self):
- del self.settings.compiler.libcxx
|