-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add wavelet_buffer v0.4.0 #13722
Add wavelet_buffer v0.4.0 #13722
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
settings = "os", "compiler", "build_type", "arch" | ||
options = {"shared": [True, False], "fPIC": [True, False]} | ||
|
||
def requirements(self): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
move requirements after configure please
Upstream CMakeLists downloads SfCompressor during configuration, CCI policies don't allow to download something at build time: https://github.com/panda-official/WaveletBuffer/blob/develop/CMakeLists.txt#L68-L75 |
It requires #13917 first |
The required PR seems to merged so lets see what happens on a new build :) |
Conan v1 pipelineAll green in build 21 (
|
What should I do? |
default_options = { | ||
"cimg/*:enable_fftw": False, | ||
"cimg/*:enable_jpeg": False, | ||
"cimg/*:enable_openexr": False, | ||
"cimg/*:enable_png": False, | ||
"cimg/*:enable_tiff": False, | ||
"cimg/*:enable_ffmpeg": False, | ||
"cimg/*:enable_opencv": False, | ||
"shared": False, | ||
"fPIC": True, | ||
} | ||
|
||
# Binary configuration | ||
settings = "os", "compiler", "build_type", "arch" | ||
options = {"shared": [True, False], "fPIC": [True, False]} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
default_options = { | |
"cimg/*:enable_fftw": False, | |
"cimg/*:enable_jpeg": False, | |
"cimg/*:enable_openexr": False, | |
"cimg/*:enable_png": False, | |
"cimg/*:enable_tiff": False, | |
"cimg/*:enable_ffmpeg": False, | |
"cimg/*:enable_opencv": False, | |
"shared": False, | |
"fPIC": True, | |
} | |
# Binary configuration | |
settings = "os", "compiler", "build_type", "arch" | |
options = {"shared": [True, False], "fPIC": [True, False]} | |
settings = "os", "arch", "compiler", "build_type" | |
options = { | |
"shared": [True, False], | |
"fPIC": [True, False], | |
} | |
default_options = { | |
"shared": False, | |
"fPIC": True, | |
} |
Kindly remind that it should be a no go according to CCI policies. |
|
||
import os | ||
|
||
required_conan_version = ">=1.50" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
required_conan_version = ">=1.50" | |
required_conan_version = ">=1.53" |
# Dependency options check | ||
cimg = self.dependencies["cimg"] | ||
if cimg.options.enable_fftw: | ||
raise ConanInvalidConfiguration( | ||
f"{self.ref} requires the option 'cimg:enable_fftw=False'" | ||
) | ||
if cimg.options.enable_jpeg: | ||
raise ConanInvalidConfiguration( | ||
f"{self.ref} requires the option 'cimg:enable_jpeg=False'" | ||
) | ||
if cimg.options.enable_openexr: | ||
raise ConanInvalidConfiguration( | ||
f"{self.ref} requires the option 'cimg:enable_openexr=False'" | ||
) | ||
if cimg.options.enable_tiff: | ||
raise ConanInvalidConfiguration( | ||
f"{self.ref} requires the option 'cimg:enable_tiff=False'" | ||
) | ||
if cimg.options.enable_png: | ||
raise ConanInvalidConfiguration( | ||
f"{self.ref} requires the option 'cimg:enable_png=False'" | ||
) | ||
if cimg.options.enable_ffmpeg: | ||
raise ConanInvalidConfiguration( | ||
f"{self.ref} requires the option 'cimg:enable_ffmpeg=False'" | ||
) | ||
if cimg.options.enable_opencv: | ||
raise ConanInvalidConfiguration( | ||
f"{self.ref} requires the option 'cimg:enable_opencv=False'" | ||
) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# Dependency options check | |
cimg = self.dependencies["cimg"] | |
if cimg.options.enable_fftw: | |
raise ConanInvalidConfiguration( | |
f"{self.ref} requires the option 'cimg:enable_fftw=False'" | |
) | |
if cimg.options.enable_jpeg: | |
raise ConanInvalidConfiguration( | |
f"{self.ref} requires the option 'cimg:enable_jpeg=False'" | |
) | |
if cimg.options.enable_openexr: | |
raise ConanInvalidConfiguration( | |
f"{self.ref} requires the option 'cimg:enable_openexr=False'" | |
) | |
if cimg.options.enable_tiff: | |
raise ConanInvalidConfiguration( | |
f"{self.ref} requires the option 'cimg:enable_tiff=False'" | |
) | |
if cimg.options.enable_png: | |
raise ConanInvalidConfiguration( | |
f"{self.ref} requires the option 'cimg:enable_png=False'" | |
) | |
if cimg.options.enable_ffmpeg: | |
raise ConanInvalidConfiguration( | |
f"{self.ref} requires the option 'cimg:enable_ffmpeg=False'" | |
) | |
if cimg.options.enable_opencv: | |
raise ConanInvalidConfiguration( | |
f"{self.ref} requires the option 'cimg:enable_opencv=False'" | |
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not a usage requirement
@property | ||
def _minimum_cpp_standard(self): | ||
return 20 | ||
|
||
@property | ||
def _minimum_compilers_version(self): | ||
return { | ||
"gcc": "8", | ||
"clang": "12", | ||
"apple-clang": "12", | ||
} | ||
|
||
def validate(self): | ||
if self.info.settings.compiler.get_safe("cppstd"): | ||
check_min_cppstd(self, self._minimum_cpp_standard) | ||
|
||
# Compiler version check | ||
check_min_vs(self, 192) | ||
if not is_msvc(self): | ||
minimum_version = self._minimum_compilers_version.get( | ||
str(self.info.settings.compiler), False | ||
) | ||
if not minimum_version: | ||
self.output.warn( | ||
"{} recipe lacks information about the {} compiler support.".format( | ||
self.name, self.settings.compiler | ||
) | ||
) | ||
else: | ||
if Version(self.info.settings.compiler.version) < minimum_version: | ||
raise ConanInvalidConfiguration( | ||
"{} requires C++{} support. The current compiler {} {} does not support it.".format( | ||
self.ref, | ||
self._minimum_cpp_standard, | ||
self.settings.compiler, | ||
self.settings.compiler.version, | ||
) | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@property | |
def _minimum_cpp_standard(self): | |
return 20 | |
@property | |
def _minimum_compilers_version(self): | |
return { | |
"gcc": "8", | |
"clang": "12", | |
"apple-clang": "12", | |
} | |
def validate(self): | |
if self.info.settings.compiler.get_safe("cppstd"): | |
check_min_cppstd(self, self._minimum_cpp_standard) | |
# Compiler version check | |
check_min_vs(self, 192) | |
if not is_msvc(self): | |
minimum_version = self._minimum_compilers_version.get( | |
str(self.info.settings.compiler), False | |
) | |
if not minimum_version: | |
self.output.warn( | |
"{} recipe lacks information about the {} compiler support.".format( | |
self.name, self.settings.compiler | |
) | |
) | |
else: | |
if Version(self.info.settings.compiler.version) < minimum_version: | |
raise ConanInvalidConfiguration( | |
"{} requires C++{} support. The current compiler {} {} does not support it.".format( | |
self.ref, | |
self._minimum_cpp_standard, | |
self.settings.compiler, | |
self.settings.compiler.version, | |
) | |
) | |
@property | |
def _min_cppstd(self): | |
return 20 | |
@property | |
def _minimum_compilers_version(self): | |
return { | |
"gcc": "8", | |
"clang": "12", | |
"apple-clang": "12", | |
"Visual Studio": "16", | |
"msvc": "192", | |
} | |
def validate(self): | |
if self.settings.compiler.get_safe("cppstd"): | |
check_min_cppstd(self, self._min_cppstd) | |
minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler)) | |
if minimum_version and Version(self.settings.compiler.version) < minimum_version: | |
raise ConanInvalidConfiguration( | |
f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." | |
) |
) | ||
) | ||
|
||
if is_msvc(self) and self.info.options.shared: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if is_msvc(self) and self.info.options.shared: | |
if is_msvc(self) and self.options.shared: |
from conan.tools.cmake import CMake | ||
from conan.tools.layout import cmake_layout |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
from conan.tools.cmake import CMake | |
from conan.tools.layout import cmake_layout | |
from conan.tools.cmake import CMake, cmake_layout |
from conan import ConanFile | ||
from conan.tools.cmake import CMakeToolchain, CMakeDeps, CMake, cmake_layout | ||
from conan.tools.files import get, copy, rmdir | ||
from conan.tools.microsoft import check_min_vs, is_msvc |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
from conan.tools.microsoft import check_min_vs, is_msvc | |
from conan.tools.microsoft import is_msvc |
import os | ||
|
||
|
||
# legacy validation with Conan 1.x |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# legacy validation with Conan 1.x |
from conan.tools.layout import cmake_layout | ||
|
||
|
||
class HelloTestConan(ConanFile): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
class HelloTestConan(ConanFile): | |
class TestPackageConan(ConanFile): |
@SpaceIm I missed your posts due unset notifications |
I've opened #14657 |
* address reviews in #13722 * add FIXME about SfCompressor downloaded at build time * bump libjpeg-turbo * typo * remove openblas from dependencies * expose blaze as a public dependency for conan v2 * typo * allow to select libjpeg implementation & link to libjpeg only * raise for msvc shared in validate_build() * add cmake to tool_requires * move back msvc shared check to validate()
…-index * 'develop' of octocat.dlogics.com:datalogics/conan-center-index: (6046 commits) cmake: Remove the private tag from the openssl requirement (conan-io#14689) doctest: Use self.info.clear() instead of header_only() (conan-io#14684) imath: add version 3.1.6 (conan-io#14679) tgbot: add version 1.5 (conan-io#14672) luau: add version 0.556 (conan-io#14673) fast_double_parser: add version 0.7.0 (conan-io#14664) sqlite_orm: add version 1.8 (conan-io#14663) magic_enum: add version 0.8.2 (conan-io#14658) Update changelog 09-December-2022 (conan-io#14525) Add Boost.LEAF to Conan Center (conan-io#13722) Add wavelet_buffer v0.4.0 (conan-io#14655) etl: add version 20.35.5 (conan-io#14654) nss 3.86 (conan-io#14652) flatbuffers: add version 22.12.06 (conan-io#14427) libxml2: fix CMake vars in CMakeDeps & bump icu (conan-io#14626) [googleapis] Use is_msvc to abstract away compiler name setting (conan-io#14619) (conan-io#14620) libzip: Use robust github mirror (conan-io#14617) pybind11_json: add version 0.2.13 (conan-io#14476) add libhydrogen/cci.20221115 (conan-io#13917) cimg: conan v2 support + bump dependencies + disable dependencies by default ...
Library name: wavelet_buffer/0.4.0
Description: A universal C++ compression library based on wavelet transformation
License: MPL-2.0
Link: https://github.com/panda-official/WaveletBuffer
I'm one of the library developers. It's a open source project and we want to share it on public conan repo.