@@ -65,6 +65,7 @@ class PclConan(ConanFile):
65
65
"tools" : [True , False ],
66
66
# Optional external dependencies.
67
67
# Only used if the corresponding component is enabled.
68
+ "with_cjson" : [True , False ],
68
69
"with_cuda" : [True , False ],
69
70
"with_flann" : [True , False ],
70
71
"with_libusb" : [True , False ],
@@ -106,8 +107,8 @@ class PclConan(ConanFile):
106
107
"keypoints" : True ,
107
108
"ml" : True ,
108
109
"octree" : True ,
109
- "outofcore" : False ,
110
- "people" : False ,
110
+ "outofcore" : True ,
111
+ "people" : True ,
111
112
"recognition" : True ,
112
113
"registration" : True ,
113
114
"sample_consensus" : True ,
@@ -138,6 +139,7 @@ class PclConan(ConanFile):
138
139
"apps" : False ,
139
140
"tools" : False ,
140
141
# Optional external dependencies
142
+ "with_cjson" : True ,
141
143
"with_cuda" : False ,
142
144
"with_flann" : True ,
143
145
"with_libusb" : True ,
@@ -205,6 +207,7 @@ def _ext_dep_to_conan_target(self, dep):
205
207
return []
206
208
return {
207
209
"boost" : ["boost::boost" ],
210
+ "cjson" : ["cjson::cjson" ] if Version (self .version ) >= "1.15" else [],
208
211
"cuda" : [],
209
212
"davidsdk" : [],
210
213
"dssdk" : [],
@@ -337,6 +340,10 @@ def config_options(self):
337
340
del self .options .fPIC
338
341
if self .settings .arch not in ["x86" , "x86_64" ]:
339
342
del self .options .use_sse
343
+ if Version (self .version ) < "1.15" :
344
+ del self .options .with_cjson
345
+ self .options .outofcore = False
346
+ self .options .people = False
340
347
341
348
def configure (self ):
342
349
if self .options .shared :
@@ -366,6 +373,9 @@ def _is_enabled(self, dep):
366
373
return is_available and is_used
367
374
368
375
def requirements (self ):
376
+ # Boost 1.87 not usable because of deprecations
377
+ # See https://www.boost.org/doc/libs/1_85_0/libs/filesystem/doc/deprecated.html
378
+ # See https://github.com/PointCloudLibrary/pcl/issues/5881
369
379
self .requires ("boost/1.83.0" , transitive_headers = True )
370
380
self .requires ("eigen/3.4.0" , transitive_headers = True )
371
381
if self ._is_enabled ("flann" ):
@@ -375,11 +385,11 @@ def requirements(self):
375
385
if self ._is_enabled ("qhull" ):
376
386
self .requires ("qhull/8.0.1" , transitive_headers = True )
377
387
if self ._is_enabled ("qt" ):
378
- self .requires ("qt/6.6.1 " )
388
+ self .requires ("qt/6.7.3 " )
379
389
if self ._is_enabled ("libusb" ):
380
390
self .requires ("libusb/1.0.26" , transitive_headers = True )
381
391
if self ._is_enabled ("pcap" ):
382
- self .requires ("libpcap/1.10.4 " )
392
+ self .requires ("libpcap/1.10.5 " )
383
393
if self ._is_enabled ("opengl" ):
384
394
# OpenGL is only used if VTK is available
385
395
self .requires ("opengl/system" , transitive_headers = True )
@@ -390,9 +400,11 @@ def requirements(self):
390
400
else :
391
401
self .requires ("mesa-glu/9.0.3" , transitive_headers = True )
392
402
if self ._is_enabled ("opencv" ):
393
- self .requires ("opencv/4.8.1 " , transitive_headers = True )
403
+ self .requires ("opencv/4.11.0 " , transitive_headers = True )
394
404
if self ._is_enabled ("zlib" ):
395
405
self .requires ("zlib/[>=1.2.11 <2]" )
406
+ if self ._is_enabled ("cjson" ):
407
+ self .requires ("cjson/[~1]" , transitive_headers = True )
396
408
# TODO:
397
409
# self.requires("vtk/9.x.x", transitive_headers=True)
398
410
# self.requires("openni/x.x.x", transitive_headers=True)
@@ -464,7 +476,7 @@ def generate(self):
464
476
tc .variables ["OpenGL_GL_PREFERENCE" ] = "GLVND"
465
477
466
478
if not self .options .add_build_type_postfix :
467
- tc .cache_variables ["CMAKE_DEBUG_POSTFIX" ] = ""
479
+ tc .cache_variables ["CMAKE_DEBUG_POSTFIX" ] = ""
468
480
tc .cache_variables ["CMAKE_RELEASE_POSTFIX" ] = ""
469
481
tc .cache_variables ["CMAKE_RELWITHDEBINFO_POSTFIX" ] = ""
470
482
tc .cache_variables ["CMAKE_MINSIZEREL_POSTFIX" ] = ""
@@ -486,7 +498,13 @@ def generate(self):
486
498
tc .generate ()
487
499
488
500
deps = CMakeDeps (self )
489
- deps .set_property ("eigen" , "cmake_file_name" , "EIGEN" )
501
+
502
+ if Version (self .version ) < "1.15" :
503
+ deps .set_property ("eigen" , "cmake_file_name" , "EIGEN" )
504
+ else :
505
+ deps .set_property ("eigen" , "cmake_file_name" , "Eigen3" )
506
+ deps .set_property ("cjson" , "cmake_target_name" , "cJSON::cJSON" )
507
+
490
508
deps .set_property ("flann" , "cmake_file_name" , "FLANN" )
491
509
deps .set_property ("flann" , "cmake_target_name" , "FLANN::FLANN" )
492
510
deps .set_property ("libpcap" , "cmake_file_name" , "PCAP" )
@@ -499,7 +517,10 @@ def generate(self):
499
517
500
518
def _patch_sources (self ):
501
519
apply_conandata_patches (self )
502
- for mod in ["Eigen" , "FLANN" , "GLEW" , "Pcap" , "Qhull" , "libusb" ]:
520
+ mods = ["FLANN" , "Pcap" , "Qhull" , "libusb" ]
521
+ if Version (self .version ) < "1.15" :
522
+ mods .extend (["Eigen" , "GLEW" ])
523
+ for mod in mods :
503
524
os .remove (os .path .join (self .source_folder , "cmake" , "Modules" , f"Find{ mod } .cmake" ))
504
525
505
526
def build (self ):
0 commit comments