mirror of
https://github.com/lucaspalomodevelop/meshlab.git
synced 2026-03-13 00:07:24 +00:00
docs
This commit is contained in:
parent
0f2094e44b
commit
20d2e2e470
@ -2,6 +2,12 @@
|
||||
|
||||
This folder contains a series of scripts to build and deploy MeshLab under a Windows environment.
|
||||
|
||||
## Note about the compiler
|
||||
|
||||
On Windows, we use MSVC compiler to build MeshLab. Before trying to build MeshLab, you should download and install VisualStudio with the C++ developer package, which contains the MSVC compiler.
|
||||
|
||||
Other compilers are not tested.
|
||||
|
||||
## Note about Qt
|
||||
|
||||
MeshLab requires Qt 5.15. You can both install Qt5 using `choco` or manually in your system.
|
||||
|
||||
@ -5,42 +5,52 @@ In the `src` directory there are several folders containing all the source code
|
||||
The source code of MeshLab is structured in the following directories:
|
||||
|
||||
* cmake: it contains a series of cmake scripts used to find external libraries;
|
||||
* [external](https://github.com/cnr-isti-vclab/meshlab/tree/master/src/external): it contains a series of external libraries needed by several plugins. Some of these libraries are compiled before the compilation of meshlab, if a corresponding system library is not found and then linked; other are header-only libraries that are just included;
|
||||
* [external](https://github.com/cnr-isti-vclab/meshlab/tree/master/src/external): it contains a series of cmake configuration files that will download external libraries needed by MeshLab and several plugins;
|
||||
* [common](https://github.com/cnr-isti-vclab/meshlab/tree/master/src/common): a series of utility classes and functions used by MeshLab and its plugins;
|
||||
* [meshlab](https://github.com/cnr-isti-vclab/meshlab/tree/master/src/meshlab): GUI and core of MeshLab;
|
||||
* [meshlabplugins](https://github.com/cnr-isti-vclab/meshlab/tree/master/src/meshlabplugins): all the plugins that can be added to MeshLab;
|
||||
* [use_cpu_opengl](https://github.com/cnr-isti-vclab/meshlab/tree/master/src/use_cpu_opengl): a tool compiled only under windows that allows to use non-GPU accelerated OpenGL calls;
|
||||
* [use_cpu_opengl](https://github.com/cnr-isti-vclab/meshlab/tree/master/src/use_cpu_opengl): a tool compiled only under windows that allows to use non-GPU accelerated OpenGL functions;
|
||||
* [vcglib](https://github.com/cnr-isti-vclab/meshlab/tree/master/src/vcglib): submodule containing the vcglib.
|
||||
|
||||
## Build MeshLab
|
||||
|
||||
MeshLab builds with the three major compilers: `gcc`, `clang`, and `msvc`. It requires [Qt](https://www.qt.io/) 5.15.
|
||||
MeshLab builds with the three major compilers: `gcc`, `clang`, and `msvc`. It requires [Qt](https://www.qt.io/) 5.15, cmake and optionally ninja (required on windows). Only 64 bit is supported.
|
||||
|
||||
After setting up the Qt environment:
|
||||
|
||||
```
|
||||
git clone --recursive https://github.com/cnr-isti-vclab/meshlab
|
||||
mkdir meshlab/src/build
|
||||
cd meshlab/src/build
|
||||
mkdir meshlab/build
|
||||
cd meshlab/build
|
||||
cmake ..
|
||||
make
|
||||
```
|
||||
|
||||
You can also use [QtCreator](https://www.qt.io/product) to build meshlab:
|
||||
or, using ninja (supported also on Windows):
|
||||
|
||||
```
|
||||
cmake -GNinja ..
|
||||
ninja
|
||||
```
|
||||
|
||||
You can also use [QtCreator](https://www.qt.io/product) to build MeshLab:
|
||||
|
||||
1. Install QtCreator and Qt 5.15;
|
||||
2. Open `CMakeLists.txt` inside `src`;
|
||||
3. Select your favourite shadow build directory;
|
||||
4. Build meshlab.
|
||||
2. Open `CMakeLists.txt`;
|
||||
4. Configure and build MeshLab.
|
||||
|
||||
### External libraries
|
||||
|
||||
External libraries required by plugins, if not found, are automatically downloaded by `cmake` during the configuration, and placed into `src/external/downloads`.
|
||||
|
||||
### 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. You can install all the required libraries by running the following command in a terminal:
|
||||
|
||||
```
|
||||
brew install llvm libomp
|
||||
brew install libomp
|
||||
```
|
||||
|
||||
On __Windows__, we suggest to build meshlab using QtCreator. Before trying to build, you should:
|
||||
On __Windows__, we suggest to build MeshLab using QtCreator. Before trying to build, you should:
|
||||
|
||||
* install VisualStudio >= 2017 with the C++ development package;
|
||||
* install Qt 5.15 and QtCreator.
|
||||
|
||||
14
src/external/README.md
vendored
14
src/external/README.md
vendored
@ -1,14 +1,22 @@
|
||||
# External libraries for MeshLab
|
||||
|
||||
Notes about external libraries:
|
||||
This folder contains a set of `cmake` configuration files to download and build external libraries required by MeshLab and its plugins.
|
||||
|
||||
Most of the times, `cmake` will first try to find the required external libraries, and only if they are not found, it will download them.
|
||||
|
||||
## Required libraries
|
||||
|
||||
The libraries that are required to build MeshLab are:
|
||||
|
||||
- GLEW
|
||||
- easyexif
|
||||
|
||||
Without these two libraries (or their relative system provided libraries), MeshLab cannot be compiled.
|
||||
Without these two libraries (or their relative system provided libraries), MeshLab cannot be built.
|
||||
|
||||
## Optional libraries
|
||||
|
||||
Boost and CGAL directories contain only a portion of the libraries, that is the code necessary to build the `mesh_booleans` plugin.
|
||||
All the other libraries are optional. Cmake adopts the following strategy:
|
||||
|
||||
- Try to find the library in the system (if a package of the library exists). If it is found, nothing else need to be done;
|
||||
- If the library is not found, try to download the source code of the library and place it into the `downloads` folder. If the download succeeds, the library is built along with MeshLab;
|
||||
- If the download does not succeed, all the plugins that require that library are ignored and won't be built.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user