diff --git a/src/README.md b/src/README.md index f98cf65d7..6f1d7de3e 100644 --- a/src/README.md +++ b/src/README.md @@ -10,22 +10,24 @@ The source code of MeshLab is structured in the following folders: * meshlabserver: a tool that allows to compute mesh operations through command line * meshlabplugins: all the plugins that can be added to MeshLab. - There are also a set of sample plugins: +There are also a set of sample plugins: * sampleplugins. - The following folders are used by `cmake`: +The following folders are used by `cmake`: * cmake; * templates. - There are also two folders that contains MeshLab plugins that are no longer supported or are experimental, and these plugins are not compiled in any of MeshLab configurations: +There are also two folders that contains MeshLab plugins that are no longer supported or are experimental, and these plugins are not compiled in any of MeshLab configurations: * plugins_experimental; * plugins_unsupported. ## Compiling MeshLab +MeshLab compiles with the three major compilers: `gcc`, `clang`, and `msvc`. + MeshLab requires [Qt](https://www.qt.io/) >= 5.9, with `script` and `xmlpatterns` as additional packages. After setting up the Qt environment: diff --git a/src/external/ext_common.pri b/src/external/ext_common.pri index 38ada1927..640a4bbfd 100644 --- a/src/external/ext_common.pri +++ b/src/external/ext_common.pri @@ -1,4 +1,4 @@ -linux:DESTDIR = $$MESHLAB_DISTRIB_DIRECTORY/lib/linux-g++ +linux:DESTDIR = $$MESHLAB_DISTRIB_DIRECTORY/lib/linux macx:DESTDIR = $$MESHLAB_DISTRIB_DIRECTORY/lib/macx64 win32-g++:DESTDIR = $$MESHLAB_DISTRIB_DIRECTORY/lib/win32-gcc win32-msvc:DESTDIR = $$MESHLAB_DISTRIB_DIRECTORY/lib/win32-msvc diff --git a/src/general.pri b/src/general.pri index 5369a8391..d3a52c83f 100644 --- a/src/general.pri +++ b/src/general.pri @@ -54,9 +54,9 @@ macx:QMAKE_LFLAGS+= -L$$MESHLAB_DISTRIB_DIRECTORY/lib/macx64 -L$$MESHLAB_DISTRIB ######## LINUX SETTINGS ########## -linux-g++:QMAKE_CXXFLAGS+=-Wno-unknown-pragmas +#linux-g++:QMAKE_CXXFLAGS+=-Wno-unknown-pragmas # Set up library search paths linux:QMAKE_RPATHDIR += $$MESHLAB_DISTRIB_DIRECTORY/lib linux:QMAKE_LFLAGS+= -L$$MESHLAB_DISTRIB_DIRECTORY/lib/linux -L$$MESHLAB_DISTRIB_DIRECTORY/lib -linux-g++:QMAKE_LFLAGS+= -L$$MESHLAB_DISTRIB_DIRECTORY/lib/linux-g++ -L$$MESHLAB_DISTRIB_DIRECTORY/lib +linux:QMAKE_LFLAGS+= -L$$MESHLAB_DISTRIB_DIRECTORY/lib/linux -L$$MESHLAB_DISTRIB_DIRECTORY/lib diff --git a/src/meshlab/meshlab.pro b/src/meshlab/meshlab.pro index f31e80959..037c1b2f5 100644 --- a/src/meshlab/meshlab.pro +++ b/src/meshlab/meshlab.pro @@ -144,7 +144,7 @@ macx:QMAKE_POST_LINK = "\ linux:LIBS += \ -lcommon -lGLU \ - -L$$MESHLAB_DISTRIB_DIRECTORY/lib/linux-g++ -ljhead + -L$$MESHLAB_DISTRIB_DIRECTORY/lib/linux -ljhead !CONFIG(system_glew) { INCLUDEPATH *= $$GLEWDIR/include diff --git a/src/meshlabplugins/edit_mutualcorrs/edit_mutualcorrs.pro b/src/meshlabplugins/edit_mutualcorrs/edit_mutualcorrs.pro index a2706e0d4..b2786a5b1 100644 --- a/src/meshlabplugins/edit_mutualcorrs/edit_mutualcorrs.pro +++ b/src/meshlabplugins/edit_mutualcorrs/edit_mutualcorrs.pro @@ -36,4 +36,4 @@ INCLUDEPATH *= \ win32-msvc:LIBS += $$MESHLAB_DISTRIB_DIRECTORY/lib/win32-msvc/levmar.lib win32-g++:LIBS += -L$$MESHLAB_DISTRIB_DIRECTORY/lib/win32-gcc -llevmar macx:LIBS+= $$MESHLAB_DISTRIB_DIRECTORY/lib/macx64/liblevmar.a -linux-g++:LIBS += -llevmar +linux:LIBS += -llevmar diff --git a/src/meshlabplugins/filter_func/filter_func.pro b/src/meshlabplugins/filter_func/filter_func.pro index b6fac9d7f..10d601e76 100644 --- a/src/meshlabplugins/filter_func/filter_func.pro +++ b/src/meshlabplugins/filter_func/filter_func.pro @@ -18,4 +18,4 @@ INCLUDEPATH += $$MESHLAB_EXTERNAL_DIRECTORY/muparser_v225/include win32-msvc:LIBS += $$MESHLAB_DISTRIB_DIRECTORY/lib/win32-msvc/muparser.lib win32-g++:LIBS += $$MESHLAB_DISTRIB_DIRECTORY/lib/win32-gcc/libmuparser.a macx:LIBS += $$MESHLAB_DISTRIB_DIRECTORY/lib/macx64/libmuparser.a -linux:LIBS += -L$$MESHLAB_DISTRIB_DIRECTORY/lib/linux-g++ -lmuparser +linux:LIBS += -lmuparser diff --git a/src/meshlabplugins/filter_isoparametrization/filter_isoparametrization.pro b/src/meshlabplugins/filter_isoparametrization/filter_isoparametrization.pro index dfd36e980..93b6904a4 100644 --- a/src/meshlabplugins/filter_isoparametrization/filter_isoparametrization.pro +++ b/src/meshlabplugins/filter_isoparametrization/filter_isoparametrization.pro @@ -30,12 +30,12 @@ INCLUDEPATH += \ win32-msvc:QMAKE_CXXFLAGS += /openmp -D_USE_OMP win32-g++:QMAKE_LFLAGS += -fopenmp -linux-g++:QMAKE_CXXFLAGS += -fopenmp -D_USE_OMP +linux:QMAKE_CXXFLAGS += -fopenmp -D_USE_OMP win32-msvc:LIBS += $$MESHLAB_DISTRIB_DIRECTORY/lib/win32-msvc/levmar.lib win32-g++:LIBS += -L$$MESHLAB_DISTRIB_DIRECTORY/lib/win32-gcc -llevmar macx:LIBS += $$MESHLAB_DISTRIB_DIRECTORY/lib/macx64/liblevmar.a -linux-g++:LIBS += -llevmar +linux:LIBS += -llevmar # Please never ever uncomment this... #QMAKE_CXXFLAGS += -fpermissive diff --git a/src/meshlabplugins/filter_qhull/filter_qhull.pro b/src/meshlabplugins/filter_qhull/filter_qhull.pro index 2787779e6..da4a65768 100644 --- a/src/meshlabplugins/filter_qhull/filter_qhull.pro +++ b/src/meshlabplugins/filter_qhull/filter_qhull.pro @@ -14,6 +14,6 @@ INCLUDEPATH += \ win32-msvc:LIBS += $$MESHLAB_DISTRIB_DIRECTORY/lib/win32-msvc/qhull.lib win32-g++:LIBS += $$MESHLAB_DISTRIB_DIRECTORY/lib/win32-gcc/libqhull.a macx:LIBS += $$MESHLAB_DISTRIB_DIRECTORY/lib/macx64/libqhull.a -linux:LIBS += -L$$MESHLAB_DISTRIB_DIRECTORY/lib/linux-g++ -lqhull +linux:LIBS += -lqhull TARGET = filter_qhull diff --git a/src/meshlabplugins/filter_ssynth/filter_ssynth.pro b/src/meshlabplugins/filter_ssynth/filter_ssynth.pro index 70c812511..35057a12d 100644 --- a/src/meshlabplugins/filter_ssynth/filter_ssynth.pro +++ b/src/meshlabplugins/filter_ssynth/filter_ssynth.pro @@ -27,7 +27,7 @@ OTHER_FILES += \ win32-msvc:LIBS += $$MESHLAB_DISTRIB_DIRECTORY/lib/win32-msvc/ssynth.lib win32-g++:LIBS += $$MESHLAB_DISTRIB_DIRECTORY/lib/win32-gcc/libssynth.a macx:LIBS += $$MESHLAB_DISTRIB_DIRECTORY/lib/macx64/libssynth.a -linux:LIBS += -L$$MESHLAB_DISTRIB_DIRECTORY/lib/linux-g++ -lssynth +linux:LIBS += -lssynth TARGET = filter_ssynth diff --git a/src/meshlabplugins/io_3ds/io_3ds.pro b/src/meshlabplugins/io_3ds/io_3ds.pro index 0d52dbfc5..8f241846b 100644 --- a/src/meshlabplugins/io_3ds/io_3ds.pro +++ b/src/meshlabplugins/io_3ds/io_3ds.pro @@ -27,6 +27,6 @@ TARGET = io_3ds win32-msvc:LIBS += $$MESHLAB_DISTRIB_DIRECTORY/lib/win32-msvc/3ds.lib win32-g++:LIBS += $$MESHLAB_DISTRIB_DIRECTORY/lib/win32-gcc/lib3ds.a macx:LIBS += $$MESHLAB_DISTRIB_DIRECTORY/lib/macx64/lib3ds.a -linux-g++:LIBS += -l3ds +linux:LIBS += -l3ds diff --git a/src/meshlabplugins/io_ctm/io_ctm.pro b/src/meshlabplugins/io_ctm/io_ctm.pro index d04460e85..182045a1a 100644 --- a/src/meshlabplugins/io_ctm/io_ctm.pro +++ b/src/meshlabplugins/io_ctm/io_ctm.pro @@ -18,4 +18,4 @@ win32-g++:DEFINES += OPENCTM_STATIC win32-msvc:LIBS += $$MESHLAB_DISTRIB_DIRECTORY/lib/win32-msvc/openctm.lib win32-g++:LIBS += $$MESHLAB_DISTRIB_DIRECTORY/lib/win32-gcc/libopenctm.a macx:LIBS += $$MESHLAB_DISTRIB_DIRECTORY/lib/macx64/libopenctm.a -linux-g++:LIBS += -lopenctm +linux:LIBS += -lopenctm diff --git a/src/plugins_experimental/filter_multiscale_align/filter_multiscale_align.pro b/src/plugins_experimental/filter_multiscale_align/filter_multiscale_align.pro index f5d5832d3..23ddc20bb 100644 --- a/src/plugins_experimental/filter_multiscale_align/filter_multiscale_align.pro +++ b/src/plugins_experimental/filter_multiscale_align/filter_multiscale_align.pro @@ -22,8 +22,8 @@ CONFIG(system_eigen3): INCLUDEPATH *= $$EIGENDIR #needed by Grenaille unix: QMAKE_CXXFLAGS += -DQ_OS_LINUX # OpenMP -LIBS += -fopenmp +linux:LIBS += -fopenmp QMAKE_CXXFLAGS += -std=c++11 -QMAKE_CXXFLAGS += -fopenmp +linux:QMAKE_CXXFLAGS += -fopenmp #QMAKE_CXXFLAGS_RELEASE += -g #QMAKE_CXXFLAGS_RELEASE -= -O2 diff --git a/src/shared.pri b/src/shared.pri index d525ceb67..aa908deb9 100644 --- a/src/shared.pri +++ b/src/shared.pri @@ -12,7 +12,7 @@ QT += script mac:LIBS += $$MESHLAB_DISTRIB_DIRECTORY/lib/libcommon.dylib win32-msvc:LIBS += $$MESHLAB_DISTRIB_DIRECTORY/lib/common.lib -lopengl32 -lGLU32 win32-g++:LIBS += -lcommon -lopengl32 -lGLU32 -linux-g++:LIBS += -lcommon -lGL -lGLU +linux:LIBS += -lcommon -lGL -lGLU win32-msvc:DEFINES += GLEW_STATIC _USE_MATH_DEFINES