-
Notifications
You must be signed in to change notification settings - Fork 0
/
conanfile.py
120 lines (108 loc) · 5.27 KB
/
conanfile.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# Copyright (C) 2024 Roberto Rossini <roberros@uio.no>
#
# SPDX-License-Identifier: MIT
from conan import ConanFile
from conan.tools.build import check_min_cppstd
required_conan_version = ">=1.53.0"
class HictkpyConan(ConanFile):
name = "hictkpy"
description = "Python bindings for hictk: read and write .cool and .hic files directly from Python."
license = "MIT"
topics = ("hictk", "hictkpy", "bioinformatics")
homepage = "https://github.com/paulsengroup/hictkpy"
url = "https://github.com/paulsengroup/hictkpy"
package_type = "shared-library"
settings = "os", "arch", "compiler", "build_type"
options = {
"shared": [True, False],
"fPIC": [True, False],
}
default_options = {
"shared": False,
"fPIC": True,
}
generators = "CMakeDeps"
@property
def _min_cppstd(self):
return 17
def requirements(self):
self.requires("arrow/18.1.0#032d83f98246ca1d0facc6413141392e")
self.requires("boost/1.86.0#d6fc1753c34b475fc7d4c23bdb8143fb", force=True)
self.requires("bshoshany-thread-pool/4.1.0#be1802a8768416a6c9b1393cf0ce5e9c")
self.requires("concurrentqueue/1.0.4#1e48e1c712bcfd892087c9c622a51502")
self.requires("eigen/3.4.0#2e192482a8acff96fe34766adca2b24c")
self.requires("fast_float/7.0.0#e4a4a338590ab5eaaf517c64607629d0")
self.requires("fmt/11.0.2#5c7438ef4d5d69ab106a41e460ce11f3", force=True)
self.requires("hdf5/1.14.5#51799cda2ba7acaa74c9651dea284ac4", force=True)
self.requires("highfive/2.10.0#3d1bd25944a57fa1bc30a0a22923d528")
self.requires("libdeflate/1.22#f95aebe763153ccbc4cc76c023e42e5a")
self.requires("parallel-hashmap/1.4.0#36ac84df77219748440cdb0f23624d56")
self.requires("readerwriterqueue/1.0.6#aaa5ff6fac60c2aee591e9e51b063b83")
self.requires("span-lite/0.11.0#519fd49fff711674cfed8cd17d4ed422")
self.requires("spdlog/1.15.0#da21f74dd84627fa68601c4e3b9c3f00")
self.requires("zstd/1.5.6#afefe79a309bc2a7b9f56c2093504c8b", force=True)
def validate(self):
if self.settings.get_safe("compiler.cppstd"):
check_min_cppstd(self, self._min_cppstd)
def configure(self):
if self.settings.compiler in ["clang", "gcc"]:
self.settings.compiler.libcxx = "libstdc++11"
self.options["arrow"].compute = True
self.options["arrow"].parquet = False
self.options["arrow"].with_boost = True
self.options["arrow"].with_re2 = True
self.options["arrow"].with_thrift = False
self.options["boost"].system_no_deprecated = True
self.options["boost"].asio_no_deprecated = True
self.options["boost"].filesystem_no_deprecated = True
self.options["boost"].filesystem_version = 4
self.options["boost"].zlib = False
self.options["boost"].bzip2 = False
self.options["boost"].lzma = False
self.options["boost"].zstd = False
self.options["boost"].without_atomic = False
self.options["boost"].without_charconv = True
self.options["boost"].without_chrono = True
self.options["boost"].without_cobalt = True
self.options["boost"].without_container = True
self.options["boost"].without_context = True
self.options["boost"].without_contract = True
self.options["boost"].without_coroutine = True
self.options["boost"].without_date_time = True
self.options["boost"].without_exception = True
self.options["boost"].without_fiber = True
self.options["boost"].without_filesystem = False
self.options["boost"].without_graph = True
self.options["boost"].without_graph_parallel = True
self.options["boost"].without_iostreams = True
self.options["boost"].without_json = True
self.options["boost"].without_locale = True
self.options["boost"].without_log = True
self.options["boost"].without_math = True
self.options["boost"].without_mpi = True
self.options["boost"].without_nowide = True
self.options["boost"].without_process = True
self.options["boost"].without_program_options = True
self.options["boost"].without_python = True
self.options["boost"].without_random = True
self.options["boost"].without_regex = True
self.options["boost"].without_serialization = True
self.options["boost"].without_stacktrace = True
self.options["boost"].without_system = False
self.options["boost"].without_test = True
self.options["boost"].without_thread = True
self.options["boost"].without_timer = True
self.options["boost"].without_type_erasure = True
self.options["boost"].without_url = True
self.options["boost"].without_wave = True
self.options["fmt"].header_only = True
self.options["hdf5"].enable_cxx = False
self.options["hdf5"].hl = False
self.options["hdf5"].threadsafe = False
self.options["hdf5"].parallel = False
self.options["highfive"].with_boost = False
self.options["highfive"].with_eigen = False
self.options["highfive"].with_opencv = False
self.options["highfive"].with_xtensor = False
self.options["spdlog"].header_only = True
self.options["zstd"].build_programs = False