conanfile.py
from conans import ConanFile, CMake, tools
class JasperConan(ConanFile):
name = "jasper"
version = "2.0.14"
license = "JasPer License Version 2.0"
homepage = "http://www.ece.uvic.ca/~frodo/jasper/"
url = "https://github.com/conan-community/conan-jasper"
description = "JasPer Image Processing/Coding Tool Kit"
settings = "os", "compiler", "build_type", "arch"
options = {"shared": [True, False],
"fPIC": [True, False]}
default_options = "shared=False", "fPIC=True"
requires = "libjpeg/9c@bincrafters/stable"
generators = "cmake"
def config_options(self):
if self.settings.os == "Windows":
del self.options.fPIC
def configure(self):
del self.settings.compiler.libcxx
def source(self):
tools.get("https://github.com/mdadams/jasper/archive/version-%s.zip" % self.version)
tools.replace_in_file("jasper-version-%s/CMakeLists.txt" % self.version,
"project(JasPer LANGUAGES C)",
"""project(JasPer LANGUAGES C)
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup()
""")
def build(self):
cmake = CMake(self)
cmake.definitions["JAS_ENABLE_DOC"] = "False"
cmake.definitions["JAS_ENABLE_PROGRAMS"] = "False"
cmake.definitions["JAS_ENABLE_SHARED"] = "True" if self.options.shared else "False"
cmake.definitions["JAS_LIBJPEG_REQUIRED"] = "REQUIRED"
cmake.definitions["JAS_ENABLE_OPENGL"] = "False"
cmake.configure(source_folder="jasper-version-%s" % self.version)
cmake.build()
def package(self):
self.copy("*.h", dst="include", src="jasper-version-%s/src/libjasper/include" % self.version)
self.copy("*.h", dst="include", src="src/libjasper/include")
self.copy("*.lib", dst="lib", keep_path=False)
self.copy("*.dll", dst="bin", keep_path=False)
self.copy("*.so*", dst="lib", keep_path=False, symlinks=True)
self.copy("*.dylib", dst="lib", keep_path=False)
self.copy("*.a", dst="lib", keep_path=False)
self.copy("LICENSE", src="jasper-version-%s" % self.version)
def package_info(self):
self.cpp_info.libs = ["jasper"]