diff --git a/README.md b/README.md index 8f76ef72d..91b60043c 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,10 @@ # ![MeshLab Logo](src/meshlab/images/eye64.png) MeshLab This is the official repository for the sources and the binaries of MeshLab. -MeshLab is an open source, portable, and extensible system for the processing and editing of unstructured large 3D triangular meshes. +MeshLab is an open source, portable, and extensible system for the processing and editing of unstructured large 3D triangular meshes. The source is released under the GPL license. The system is aimed to help the processing of the typical not-so-small unstructured models arising in 3D scanning, providing a set of tools for editing, cleaning, healing, inspecting, rendering and converting this kind of meshes. MeshLab is mostly based on the open source c++ mesh processing library [VCGlib](http://www.vcglib.net) developed at the [Visual Computing Lab](http://vcg.isti.cnr.it) of [ISTI - CNR](http://www.isti.cnr.it), for all the core mesh processing tasks and it is available for Windows, MacOSX, and Linux. + +Compiling instruction can be found in the [src](https://github.com/cnr-isti-vclab/meshlab/tree/master/src) folder. diff --git a/src/README.md b/src/README.md new file mode 100644 index 000000000..352dc98c2 --- /dev/null +++ b/src/README.md @@ -0,0 +1,37 @@ +##Compiling MeshLab +__tl;dr__ +1. install Qt5.7, +2. clone vcglib at the same level of meshlab +3. compile `src/external/external.pro`, +4. compile `src/meshlab_full.pro` + +####Dependencies +You need Qt5.7 and we assume that we have qtcreator installed and you know how to build something from a `*.pro` qt file (either from qtcreator, or from the command line). As external dependencies MeshLab uses the _vcglib_ c++ library for most of the mesh processing tasks; so you need to clone it from github ( http://github.com/cnr-isti-vclab/vcglib/ ) in a folder named `vcglib` at the same level of the folder `meshlab`. To be clear your folder structure should be something quite similar to: + + yourdevelfolder/ + | + ├──meshlab + │ ├──docs + │ ├──README.md + │ ├──src + │ ├──... + │ └──... + └──vcglib + ├──apps + ├──doc + ├──eigenlib + ├──... + └──... + +All the include paths inside the `.pro` assume this relative positioning of the `meshlab` and `vcglib` folders. + +##### Compiling +MeshLab has a plugin architecture and therefore all the plugins are compiled separately; some of them are harder to be compiled. Dont worry, if a plugin fails to compile just remove it and you lose just that functionality. As a first step you should try to use the `src/meshlab_mini.pro` that contains the info for building meshlab with a minimal set of plugins with no external dependencies and usually compile with no problem. + +Some plugins of MeshLab need external libraries. All the required libraries are included in the `meshlab/src/external` folder. You have to compile these libraries before attempting to compile the whole MeshLab. Just use the `meshlab/src/external.pro` file. For OsX 10.12 we kindly provide the already compiled binaries. + +Once you have the required lib (check for lib files in the folder `meshlab/src/external/lib/`) you can try to compile the whole meshlab using `src/meshlab_full.pro`. + +##### Platform specific notes +On __osx__ some plugins exploit openmp parallelism (screened poisson, isoparametrization) so you need a compiler supporting it and the clang provided by xcode does not support openmp. Install 'clang++-mp-3.9' using macport or modify the .pro accordingly. + diff --git a/src/README.txt b/src/README.txt deleted file mode 100644 index 8ae108abd..000000000 --- a/src/README.txt +++ /dev/null @@ -1,27 +0,0 @@ -Compiling MeshLab -Note: -Some plugins of MeshLab invokes functions exported by external libraries. You have to compile these libraries before attempting to compile the whole MeshLab's code. - -To compile MeshLab and all MeshLab plugins: -First compile the needed external libraries - -cd MESHLAB_DIRECTORY/src/external -qmake -recursive external.pro -make - -then compile MeshLab and its plugins -cd MESHLAB_DIRECTORY/src/ -qmake -recursive meshlab_full.pro -make - -Alternatively you can directly compile only a subset of the whole meshlab by using the meshlab_mini.pro. This minimal subset does not require any external library (give a look at the .pro itself for more info). - -cd MESHLAB_DIRECTORY/src/ -qmake -recursive meshlab_mini.pro -make - - - - -For more complete info, please, refer to the meshlab wiki: - http://meshlab.sourceforge.net/wiki/index.php/Compiling#Compiling