1# MeshLab main configuration file for qmake 2# To compile meshlab: 3# - qmake 4# - make 5# 6# If you want to compile meshlab_mini (just a minimal subset of plugins): 7# - qmake "CONFIG += meshlab_mini" 8# 9# MeshLab qmake config uses the following variables: 10# 11# MESHLAB_SOURCE_DIRECTORY: the directory where is placed the main meshlab.pro 12# MESHLAB_BUILD_DIRECTORY: the directory where the meshlab build files are placed 13# MESHLAB_DISTRIB_DIRECTORY: the directory that will contain all the files necessary 14# for a portable version (after build and deploy) 15# (if shadow build, will be MESHLAB_BUILD_DIRECTORY/distrib) 16# MESHLAB_EXTERNAL_DIRECTORY: the directory where external libraries are placed 17# 18 19TEMPLATE = subdirs 20 21message("DISTRIB_DIRECTORY: "$$MESHLAB_DISTRIB_DIRECTORY) 22 23#the following sub projects are compiled ALSO with MeshLab Mini 24SUBDIRS = \ #sub projects names 25 external \ 26 common \ 27 meshlab \ 28 meshlabserver \ 29 io_base \ # a few basic file formats (ply, obj, off), without this you cannot open anything 30 decorate_base \ 31 filter_measure \ 32 filter_meshing 33 34!meshlab_mini { 35# Other sub project, compiled only when config is not MeshLab Mini 36# If you want to compile someone of these sub project with the meshlab_mini 37# configuration, just copy-paste the name of the filter in the 38# meshlab_mini SUBDIRS 39SUBDIRS += \ #sub projects names 40# IO plugins 41 io_3ds \ 42 io_bre \ 43 io_collada \ 44 io_ctm \ 45 io_expe \ 46 io_json \ 47 io_tri \ 48 io_x3d \ 49 io_pdb \ 50 io_txt \ 51 io_u3d \ 52# Filter samples 53 edit_sample \ 54 filter_sample \ 55 filter_sample_dyn \ 56 filter_createiso \ 57 filter_geodesic \ 58 filter_sample_gpu \ 59# Filter plugins 60 filter_ao \ 61 filter_camera \ 62 filter_clean \ 63 filter_color_projection \ 64 filter_colorproc \ 65 filter_create \ 66 filter_csg \ 67 filter_dirt \ 68 filter_fractal \ 69 filter_func \ 70 filter_img_patch_param \ 71 filter_isoparametrization \ 72 filter_layer \ 73 filter_mls \ 74 filter_mutualglobal \ 75 filter_mutualinfoxml \ 76 filter_plymc \ 77 filter_qhull \ 78 filter_quality \ 79 filter_sampling \ 80 filter_screened_poisson \ 81 filter_sdfgpu \ 82 filter_select \ 83 filter_sketchfab \ 84 filter_ssynth \ 85 filter_texture \ 86 filter_trioptimize \ 87 filter_unsharp \ 88 filter_voronoi \ 89# Rendering and Decoration Plugins 90 decorate_background \ 91 decorate_raster_proj \ 92 decorate_shadow \ 93 render_gdp \ 94 render_radiance_scaling \ 95# Edit Plugins 96 edit_align \ 97 edit_manipulators \ 98 edit_measure \ 99 edit_mutualcorrs \ 100 edit_paint \ 101 edit_point \ 102 edit_referencing \ 103 edit_quality \ 104 edit_select 105 106} 107meshlab_mini { 108 message(Compiling only MeshLab Mini!) 109} 110 111win32 { 112 SUBDIRS+= \ 113 use_cpu_opengl 114} 115 116## where to find the sub projects - give the folders ## 117# meshlab_mini subdirs: 118external.subdir = external 119common.subdir = common 120meshlab.subdir = meshlab 121meshlabserver.subdir = meshlabserver 122io_base.subdir = meshlabplugins/io_base 123decorate_base.subdir = meshlabplugins/decorate_base 124filter_measure.subdir = meshlabplugins/filter_measure 125filter_meshing.subdir = meshlabplugins/filter_meshing 126use_cpu_opengl.subdir = use_cpu_opengl 127# IO plugins 128io_3ds.subdir = meshlabplugins/io_3ds 129io_bre.subdir = meshlabplugins/io_bre 130io_collada.subdir = meshlabplugins/io_collada 131io_ctm.subdir = meshlabplugins/io_ctm 132io_expe.subdir = meshlabplugins/io_expe 133io_json.subdir = meshlabplugins/io_json 134io_tri.subdir = meshlabplugins/io_tri 135io_x3d.subdir = meshlabplugins/io_x3d 136io_pdb.subdir = meshlabplugins/io_pdb 137io_txt.subdir = meshlabplugins/io_txt 138io_u3d.subdir = meshlabplugins/io_u3d 139# Filter samples 140edit_sample.subdir = meshlabplugins/edit_sample 141filter_sample.subdir = meshlabplugins/filter_sample 142filter_sample_dyn.subdir = meshlabplugins/filter_sample_dyn 143filter_createiso.subdir = meshlabplugins/filter_createiso 144filter_geodesic.subdir = meshlabplugins/filter_geodesic 145filter_sample_gpu.subdir = meshlabplugins/filter_sample_gpu 146# Filter plugins 147filter_ao.subdir = meshlabplugins/filter_ao 148filter_camera.subdir = meshlabplugins/filter_camera 149filter_clean.subdir = meshlabplugins/filter_clean 150filter_color_projection.subdir = meshlabplugins/filter_color_projection 151filter_colorproc.subdir = meshlabplugins/filter_colorproc 152filter_create.subdir = meshlabplugins/filter_create 153filter_csg.subdir = meshlabplugins/filter_csg 154filter_dirt.subdir = meshlabplugins/filter_dirt 155filter_fractal.subdir = meshlabplugins/filter_fractal 156filter_func.subdir = meshlabplugins/filter_func 157filter_img_patch_param.subdir = meshlabplugins/filter_img_patch_param 158filter_isoparametrization.subdir = meshlabplugins/filter_isoparametrization 159filter_layer.subdir = meshlabplugins/filter_layer 160filter_mls.subdir = meshlabplugins/filter_mls 161filter_mutualglobal.subdir = meshlabplugins/filter_mutualglobal 162filter_mutualinfoxml.subdir = meshlabplugins/filter_mutualinfoxml 163filter_plymc.subdir = meshlabplugins/filter_plymc 164filter_qhull.subdir = meshlabplugins/filter_qhull 165filter_quality.subdir = meshlabplugins/filter_quality 166filter_sampling.subdir = meshlabplugins/filter_sampling 167filter_screened_poisson.subdir = meshlabplugins/filter_screened_poisson 168filter_sdfgpu.subdir = meshlabplugins/filter_sdfgpu 169filter_select.subdir = meshlabplugins/filter_select 170filter_sketchfab.subdir = meshlabplugins/filter_sketchfab 171filter_ssynth.subdir = meshlabplugins/filter_ssynth 172filter_texture.subdir = meshlabplugins/filter_texture 173filter_trioptimize.subdir = meshlabplugins/filter_trioptimize 174filter_unsharp.subdir = meshlabplugins/filter_unsharp 175filter_voronoi.subdir = meshlabplugins/filter_voronoi 176# Rendering and Decoration Plugins 177decorate_background.subdir = meshlabplugins/decorate_background 178decorate_raster_proj.subdir = meshlabplugins/decorate_raster_proj 179decorate_shadow.subdir = meshlabplugins/decorate_shadow 180render_gdp.subdir = meshlabplugins/render_gdp 181render_radiance_scaling.subdir = meshlabplugins/render_radiance_scaling 182# Edit Plugins 183edit_align.subdir = meshlabplugins/edit_align 184edit_manipulators.subdir = meshlabplugins/edit_manipulators 185edit_measure.subdir = meshlabplugins/edit_measure 186edit_mutualcorrs.subdir = meshlabplugins/edit_mutualcorrs 187edit_paint.subdir = meshlabplugins/edit_paint 188edit_point.subdir = meshlabplugins/edit_point 189edit_referencing.subdir = meshlabplugins/edit_referencing 190edit_quality.subdir = meshlabplugins/edit_quality 191edit_select.subdir = meshlabplugins/edit_select 192 193## what subproject depends on others ## 194# meshlab_mini subdirs 195common.depends = external 196meshlab.depends = common 197meshlabserver.depends = common 198io_base.depends = common 199decorate_base.depends = common 200filter_measure.depends = common 201filter_meshing.depends = common 202# IO plugins 203io_3ds.depends = common 204io_bre.depends = common 205io_collada.depends = common 206io_ctm.depends = common 207io_expe.depends = common 208io_json.depends = common 209io_tri.depends = common 210io_x3d.depends = common 211io_pdb.depends = common 212io_txt.depends = common 213io_u3d.depends = common 214# Filter samples 215edit_sample.depends = common 216filter_sample.depends = common 217filter_sample_dyn.depends = common 218filter_createiso.depends = common 219filter_geodesic.depends = common 220filter_sample_gpu.depends = common 221# Filter plugins 222filter_ao.depends = common 223filter_camera.depends = common 224filter_clean.depends = common 225filter_color_projection.depends = common 226filter_colorproc.depends = common 227filter_create.depends = common 228filter_csg.depends = common 229filter_dirt.depends = common 230filter_fractal.depends = common 231filter_func.depends = common 232filter_img_patch_param.depends = common 233filter_isoparametrization.depends = common 234filter_layer.depends = common 235filter_mls.depends = common 236filter_mutualglobal.depends = common 237filter_mutualinfoxml.depends = common 238filter_plymc.depends = common 239filter_qhull.depends = common 240filter_quality.depends = common 241filter_sampling.depends = common 242filter_screened_poisson.depends = common 243filter_sdfgpu.depends = common 244filter_select.depends = common 245filter_sketchfab.depends = common 246filter_ssynth.depends = common 247filter_texture.depends = common 248filter_trioptimize.depends = common 249filter_unsharp.depends = common 250filter_voronoi.depends = common 251# Rendering and Decoration Plugins 252decorate_background.depends = common 253decorate_raster_proj.depends = common 254decorate_shadow.depends = common 255render_gdp.depends = common 256render_radiance_scaling.depends = common 257# Edit Plugins 258edit_align.depends = common 259edit_manipulators.depends = common 260edit_measure.depends = common 261edit_mutualcorrs.depends = common 262edit_paint.depends = common 263edit_point.depends = common 264edit_referencing.depends = common 265edit_quality.depends = common 266edit_select.depends = common 267 268#no longer needed# meshlabplugins/filter_aging \ 269#no longer needed# meshlabplugins/filter_bnpts \ 270#no longer needed# meshlabplugins/filter_colorize \ 271#no longer supported# meshlabplugins/edit_pickpoints \ 272 273 274# if distrib folder is not in $$PWD/../distrib (shadow build case), 275# we need to copy all the files inside $$PWD/../distrib in the actual 276# distrib folder ($$OUT_PWD/distrib or $$MESHLAB_DISTRIB_DIRECTORY) 277!equals(PWD, $$OUT_PWD) { 278 279 #copying the "lib" folder inside the $$OUT_PWD/distrib 280 win32:copydir.commands = $(COPY_DIR) \"$$shell_path($$PWD/../distrib)\" \"$$shell_path($$OUT_PWD/distrib)\" 281 !win32:copydir.commands = $(COPY_DIR) \"$$shell_path($$PWD/../distrib)\" \"$$shell_path($$OUT_PWD)\" 282 first.depends += $(first) copydir 283 export(first.depends) 284 export(copydir.commands) 285 286 QMAKE_EXTRA_TARGETS += first copydir 287} 288 289# 290# this is just for project info 291# prints all the system libraries that meshlab is using instead of 292# the ones placed in the external folder. 293# The libraris are included effectively in general.pri and 294# in external.pro 295# 296include(find_system_libs.pri) 297system_eigen3 { 298 message("Using system eigen3") 299} 300system_glew { 301 message("Using system glew") 302} 303system_openctm { 304 message("Using system openctm") 305} 306system_lib3ds { 307 message("Using system lib3ds") 308} 309system_muparser { 310 message("Using system muparser") 311} 312system_qhull { 313 message("Using system qhull") 314} 315