diff --git a/.travis.yml b/.travis.yml index 2a68b3aff2..9c2b9f6d43 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,6 +14,11 @@ addons: - qt512xmlpatterns - mesa-common-dev - libglu1-mesa-dev + - lib3ds-dev + - libglew-dev + - libeigen3-dev + - libopenctm-dev + - libbz2-dev homebrew: packages: - llvm @@ -70,6 +75,19 @@ script: - cd .. - qmake meshlab_full.pro - make -j4 + # On linux, rebuild using system libs. + - | + if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then + make clean + cd external + make clean + qmake CONFIG+=system_eigen3 CONFIG+=system_glew CONFIG+=system_lib3ds CONFIG+=system_openctm CONFIG+=system_bzip2 + make -j4 + cd .. + qmake CONFIG+=system_eigen3 CONFIG+=system_glew CONFIG+=system_lib3ds CONFIG+=system_openctm CONFIG+=system_bzip2 meshlab_full.pro + make -j4 + fi + after_success: - | if [[ "$TRAVIS_OS_NAME" == "osx" ]] diff --git a/src/README.md b/src/README.md index 9c4f95a35c..790d4c8457 100644 --- a/src/README.md +++ b/src/README.md @@ -36,6 +36,17 @@ Once you have the required lib (check for lib files in the folder `meshlab/src/e ### 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. +On __Linux__, you may optionally choose to use your system installs of some libraries rather than the bundled versions. +The library name, argument to add to all `qmake` calls (e.g. by adding to `QMAKE_FLAGS` in the example below), and Debian package name are listed below: + +* Eigen3 (at least 3.2) - `CONFIG+=system_eigen3` - package `libeigen3-dev` +* GLEW (version 2 or newer) - `CONFIG+=system_glew` - package `libglew-dev` +* lib3ds - `CONFIG+=system_lib3ds` - package `lib3ds-dev` +* OpenCTM - `CONFIG+=system_openctm` - package `libopenctm-dev` +* BZip2 - `CONFIG+=system_bzip2` - package `libbz2-dev` + +The versions found in Debian Buster are all new enough to meet these requirements. + ###### Ubuntu 16 Compilation example * Make sure you selected the correct version of Qt: `qmake -v`. You can use `qtchooser -l` to list the versions and if in doubt use the direct path to your qmake binary. * Clone repositories: @@ -45,7 +56,7 @@ git clone --depth 1 git@github.com:cnr-isti-vclab/vcglib.git -b devel cd meshlab ``` * Set build flags: -``` +```and QMAKE_FLAGS=('-spec' 'linux-g++' 'CONFIG+=release' 'CONFIG+=qml_release' 'CONFIG+=c++11' 'QMAKE_CXXFLAGS+=-fPIC' 'QMAKE_CXXFLAGS+=-std=c++11' 'QMAKE_CXXFLAGS+=-fpermissive' 'INCLUDEPATH+=/usr/include/eigen3' "LIBS+=-L`pwd`/lib/linux-g++") MAKE_FLAGS=('-j11') ``` diff --git a/src/common/common.pro b/src/common/common.pro index cf4cccff94..007e700356 100644 --- a/src/common/common.pro +++ b/src/common/common.pro @@ -1,7 +1,6 @@ include (../general.pri) EXIF_DIR = ../external/jhead-2.95 -GLEWCODE = $$GLEWDIR/src/glew.c win32-msvc2005:DESTDIR = ../distrib win32-msvc2008:DESTDIR = ../distrib @@ -44,8 +43,11 @@ fi;\ INCLUDEPATH *= ../.. \ $$VCGDIR \ $$EIGENDIR \ - $$GLEWDIR/include \ $$EXIF_DIR +!CONFIG(system_glew) { + INCLUDEPATH *= $$GLEWDIR/include + GLEWCODE = $$GLEWDIR/src/glew.c +} TEMPLATE = lib linux:CONFIG += dll @@ -69,7 +71,6 @@ QT += script TARGET = common DEPENDPATH += . -DEFINES += GLEW_STATIC win32-msvc:DEFINES += _CRT_SECURE_NO_WARNINGS @@ -102,7 +103,11 @@ SOURCES += filterparameter.cpp \ mlapplication.cpp \ scriptsyntax.cpp \ searcher.cpp \ - $$GLEWCODE \ meshlabdocumentxml.cpp \ meshlabdocumentbundler.cpp \ ml_shared_data_context.cpp + +!CONFIG(system_glew) { + SOURCES += $$GLEWCODE + DEFINES += GLEW_STATIC +} diff --git a/src/external/external.pro b/src/external/external.pro index 7bd97f60d7..966e98888d 100644 --- a/src/external/external.pro +++ b/src/external/external.pro @@ -2,11 +2,14 @@ config += debug_and_release TEMPLATE = subdirs -SUBDIRS = bzip2-1.0.5/bzip2-1.0.5.pro \ - muparser_v225/src \ +SUBDIRS = muparser_v225/src \ levmar-2.3/levmar-2.3.pro \ structuresynth-1.5/structuresynth.pro \ - OpenCTM-1.0.3/openctm.pro \ jhead-2.95/jhead-2.95.pro \ - lib3ds-1.3.0/lib3ds/lib3ds.pro # openkinect/openkinect.pro + +!CONFIG(system_bzip2) SUBDIRS += bzip2-1.0.5/bzip2-1.0.5.pro +!CONFIG(system_openctm) SUBDIRS += OpenCTM-1.0.3/openctm.pro +!CONFIG(system_lib3ds) SUBDIRS += lib3ds-1.3.0/lib3ds/lib3ds.pro + +# Can't easily make muparser conditional because of the fact it relies on the _UNICODE define diff --git a/src/general.pri b/src/general.pri index 4cb5102c88..1c4f9aea26 100644 --- a/src/general.pri +++ b/src/general.pri @@ -6,8 +6,9 @@ DEFINES += MESHLAB_SCALAR=float VCGDIR = ../../../vcglib -EIGENDIR = $$VCGDIR/eigenlib -GLEWDIR = ../external/glew-2.1.0 +CONFIG(system_eigen3): EIGENDIR = /usr/include/eigen3 +!CONFIG(system_eigen3):EIGENDIR = $$VCGDIR/eigenlib +!CONFIG(system_glew): GLEWDIR = ../external/glew-2.1.0 CONFIG += c++11 @@ -27,4 +28,11 @@ MACLIBDIR = ../../external/lib/macx64 # the following line is needed to avoid mismatch between # the awful min/max macros of windows and the limits max win32:DEFINES += NOMINMAX + linux-g++:QMAKE_CXXFLAGS+=-Wno-unknown-pragmas + +# Set up library search paths +linux:QMAKE_LFLAGS+=-L$$PWD/external/lib/linux +linux-g++:QMAKE_LFLAGS+=-L$$PWD/external/lib/linux-g++ +linux-g++-32:QMAKE_LFLAGS += -L$$PWD/external/lib/linux-g++-32 +linux-g++-64:QMAKE_LFLAGS += -L$$PWD/external/lib/linux-g++-64 diff --git a/src/meshlab/meshlab.pro b/src/meshlab/meshlab.pro index 5f542b87b8..3e7a99be6b 100644 --- a/src/meshlab/meshlab.pro +++ b/src/meshlab/meshlab.pro @@ -10,8 +10,8 @@ INCLUDEPATH *= . \ ../.. \ $$VCGDIR \ $$EIGENDIR \ - $$GLEWDIR/include \ $$EXIF_DIR +!CONFIG(system_glew): INCLUDEPATH *= $$GLEWDIR/include DEPENDPATH += $$VCGDIR \ $$VCGDIR/vcg \ $$VCGDIR/wrap @@ -65,7 +65,6 @@ SOURCES = main.cpp \ $$VCGDIR/wrap/gui/trackball.cpp \ $$VCGDIR/wrap/gui/trackmode.cpp \ $$VCGDIR/wrap/gui/coordinateframe.cpp \ - #$$GLEWDIR/src/glew.c \ glarea_setting.cpp \ filterthread.cpp @@ -157,6 +156,11 @@ win32-g++:LIBS += -L../external/lib/win32-gcc -ljhead -L../distrib -lcom linux:LIBS += -L$$PWD/../external/lib/linux-g++ -ljhead -L../distrib -lcommon -lGLU linux:QMAKE_RPATHDIR += ../distrib +!CONFIG(system_glew) { + INCLUDEPATH *= $$GLEWDIR/include +} +CONFIG(system_glew): LIBS += -lGLEW + # uncomment in your local copy only in emergency cases. # We should never be too permissive # win32-g++:QMAKE_CXXFLAGS += -fpermissive diff --git a/src/meshlabplugins/edit_align/edit_align.pro b/src/meshlabplugins/edit_align/edit_align.pro index 2637cf0b8e..f1009822f1 100644 --- a/src/meshlabplugins/edit_align/edit_align.pro +++ b/src/meshlabplugins/edit_align/edit_align.pro @@ -32,9 +32,12 @@ SOURCES = edit_align_factory.cpp \ ../../meshlab/stdpardialog.cpp \ $$VCGDIR/wrap/ply/plylib.cpp\ $$VCGDIR/wrap/gui/trackball.cpp\ - $$VCGDIR/wrap/gui/trackmode.cpp \ - $$GLEWCODE - + $$VCGDIR/wrap/gui/trackmode.cpp + +!CONFIG(system_glew): SOURCES += $$GLEWCODE +CONFIG(system_glew) { + linux: LIBS += -lGLEW +} INCLUDEPATH += ../../external diff --git a/src/meshlabplugins/edit_mutualcorrs/edit_mutualcorrs.pro b/src/meshlabplugins/edit_mutualcorrs/edit_mutualcorrs.pro index ce49432135..6f10ec3400 100644 --- a/src/meshlabplugins/edit_mutualcorrs/edit_mutualcorrs.pro +++ b/src/meshlabplugins/edit_mutualcorrs/edit_mutualcorrs.pro @@ -29,8 +29,6 @@ win32-msvc: LIBS += ../../external/lib/win32-msvc/levmar.lib win32-msvc2013: LIBS += ../../external/lib/win32-msvc2013/levmar.lib win32-msvc2015: LIBS += ../../external/lib/win32-msvc2015/levmar.lib win32-g++:LIBS += -L../../external -llevmar -linux-g++:LIBS += -L$$PWD/../../external/lib/linux-g++ -llevmar -linux-g++-32:LIBS += -L$$PWD/../../external/lib/linux-g++-32 -llevmar -linux-g++-64:LIBS += -L$$PWD/../../external/lib/linux-g++-64 -llevmar +linux-g++:LIBS += -llevmar macx:LIBS += $$MACLIBDIR/liblevmar.a diff --git a/src/meshlabplugins/filter_func/filter_func.pro b/src/meshlabplugins/filter_func/filter_func.pro index ef6b654cb1..2f35b3ddea 100644 --- a/src/meshlabplugins/filter_func/filter_func.pro +++ b/src/meshlabplugins/filter_func/filter_func.pro @@ -22,7 +22,5 @@ win32-msvc2013:LIBS += ../../external/lib/win32-msvc2013/muparser.lib win32-msvc2015:LIBS += ../../external/lib/win32-msvc2015/muparser.lib macx:LIBS += $$MACLIBDIR/libmuparser.a -linux-g++:LIBS += $$PWD/../../external/lib/linux-g++/libmuparser.a -linux-g++-32:LIBS += $$PWD/../../external/lib/linux-g++-32/libmuparser.a -linux-g++-64:LIBS += $$PWD/../../external/lib/linux-g++-64/libmuparser.a +linux-g++:LIBS += -lmuparser win32-g++:LIBS += ../../external/lib/win32-gcc/libmuparser.a diff --git a/src/meshlabplugins/filter_isoparametrization/filter_isoparametrization.pro b/src/meshlabplugins/filter_isoparametrization/filter_isoparametrization.pro index 808b0b2143..3234e66929 100644 --- a/src/meshlabplugins/filter_isoparametrization/filter_isoparametrization.pro +++ b/src/meshlabplugins/filter_isoparametrization/filter_isoparametrization.pro @@ -53,9 +53,7 @@ win32-msvc2010:LIBS += ../../external/lib/win32-msvc2010/levmar.lib win32-msvc2012:LIBS += ../../external/lib/win32-msvc2012/levmar.lib win32-msvc2015:LIBS += ../../external/lib/win32-msvc2015/levmar.lib win32-g++:LIBS += -L../../external/lib/win32-gcc -llevmar -linux-g++:LIBS += -L$$PWD/../../external/lib/linux-g++ -llevmar -linux-g++-32:LIBS += -L$$PWD/../../external/lib/linux-g++-32 -llevmar -linux-g++-64:LIBS += -L$$PWD/../../external/lib/linux-g++-64 -llevmar +linux-g++:LIBS += -llevmar macx:LIBS += $$MACLIBDIR/liblevmar.a # Please never ever uncomment this... diff --git a/src/meshlabplugins/filter_plymc/plymc.pro b/src/meshlabplugins/filter_plymc/plymc.pro index b609419190..282fa9edc5 100755 --- a/src/meshlabplugins/filter_plymc/plymc.pro +++ b/src/meshlabplugins/filter_plymc/plymc.pro @@ -1,7 +1,6 @@ TARGET = plymc DEPENDPATH += . -INCLUDEPATH += ../../../../vcglib \ - ../../code/lib/glew/include +INCLUDEPATH += ../../../../vcglib CONFIG += console \ stl \ debug_and_release @@ -24,5 +23,7 @@ HEADERS = plymc.h \ simplemeshprovider.h \ ../../meshlab/alnParser.h +!CONFIG(system_glew): INCLUDEPATH *= ../../code/lib/glew/include + #macx-g++:DEFINES += NDEBUG diff --git a/src/meshlabplugins/filter_ssynth/filter_ssynth.pro b/src/meshlabplugins/filter_ssynth/filter_ssynth.pro index 427d98513a..b42de1187c 100644 --- a/src/meshlabplugins/filter_ssynth/filter_ssynth.pro +++ b/src/meshlabplugins/filter_ssynth/filter_ssynth.pro @@ -17,7 +17,7 @@ win32-msvc2010:LIBS += ../../external/lib/win32-msvc2010/ssynth.lib win32-msvc2012:LIBS += ../../external/lib/win32-msvc2012/ssynth.lib win32-msvc2015:LIBS += ../../external/lib/win32-msvc2015/ssynth.lib win32-g++:LIBS += ../../external/lib/win32-gcc/libssynth.a -linux-g++:LIBS += ../../external/lib/linux-g++/libssynth.a +linux-g++:LIBS += -lssynth macx:LIBS += ../../external/lib/macx64/libssynth.a TARGET = filter_ssynth TEMPLATE = lib diff --git a/src/meshlabplugins/io_3ds/io_3ds.pro b/src/meshlabplugins/io_3ds/io_3ds.pro index 85b4a744b3..620d265301 100644 --- a/src/meshlabplugins/io_3ds/io_3ds.pro +++ b/src/meshlabplugins/io_3ds/io_3ds.pro @@ -8,13 +8,14 @@ HEADERS = meshio.h \ import_3ds.h \ io_3ds.h -SOURCES += meshio.cpp \ - -DEFINES += LIB3DS_STATIC +SOURCES += meshio.cpp TARGET = io_3ds -INCLUDEPATH += ../../external/lib3ds-1.3.0/ +!CONFIG(system_lib3ds) { + INCLUDEPATH *= ../../external/lib3ds-1.3.0/ + DEFINES += LIB3DS_STATIC +} # Notes on the paths of lib3ds files. # Once you have compiled the library put the lib files in a dir named lib/XXX/ @@ -26,11 +27,7 @@ win32-msvc2015:LIBS += ../../external/lib/win32-msvc2015/3ds.lib win32-msvc2005:LIBS += ../../external/lib/win32-msvc2005/3ds.lib win32-msvc2008:LIBS += ../../external/lib/win32-msvc2008/3ds.lib win32-g++:LIBS += ../../external/lib/win32-gcc/lib3ds.a -linux-g++:LIBS += $$PWD/../../external/lib/linux-g++/lib3ds.a -linux-g++-32:LIBS += $$PWD/../../external/lib/linux-g++-32/lib3ds.a -linux-g++-64:LIBS += $$PWD/../../external/lib/linux-g++-64/lib3ds.a - -# unix:LIBS += -L../../../../code/lib/lib3ds-1.3.0/lib3ds/lib/unix -l3ds +linux-g++:LIBS += -l3ds # mac:LIBS -= -l3ds # mac:LIBS += ../../../../code/lib/lib3ds-1.3.0/lib/mac/lib3ds.a diff --git a/src/meshlabplugins/io_ctm/io_ctm.pro b/src/meshlabplugins/io_ctm/io_ctm.pro index fc060de02c..5a0586c6f3 100644 --- a/src/meshlabplugins/io_ctm/io_ctm.pro +++ b/src/meshlabplugins/io_ctm/io_ctm.pro @@ -3,9 +3,10 @@ HEADERS += io_ctm.h \ $$VCGDIR/wrap/io_trimesh/import_ctm.h \ $$VCGDIR/wrap/io_trimesh/export_ctm.h SOURCES += io_ctm.cpp -INCLUDEPATH += ../../external/OpenCTM-1.0.3/lib TARGET = io_ctm +!CONFIG(system_openctm): INCLUDEPATH *= ../../external/OpenCTM-1.0.3/lib + win32-msvc.net:QMAKE_CXXFLAGS += /DOPENCTM_STATIC win32-msvc2005:QMAKE_CXXFLAGS += /DOPENCTM_STATIC win32-msvc2008:QMAKE_CXXFLAGS += /DOPENCTM_STATIC @@ -21,8 +22,6 @@ win32-msvc2010:LIBS += ../../external/lib/win32-msvc2010/openctm.lib win32-msvc2012:LIBS += ../../external/lib/win32-msvc2012/openctm.lib win32-msvc2015:LIBS += ../../external/lib/win32-msvc2015/openctm.lib win32-g++:LIBS += ../../external/lib/win32-gcc/libopenctm.a -linux-g++:LIBS += $$PWD/../../external/lib/linux-g++/libopenctm.a -linux-g++-32:LIBS += $$PWD/../../external/lib/linux-g++-32/libopenctm.a -linux-g++-64:LIBS += $$PWD/../../external/lib/linux-g++-64/libopenctm.a +linux-g++:LIBS += -lopenctm #macx:LIBS += ../../external/lib/macx/libopenctm.a macx:LIBS += $$MACLIBDIR/libopenctm.a diff --git a/src/meshlabplugins/render_radiance_scaling/render_radiance_scaling.pro b/src/meshlabplugins/render_radiance_scaling/render_radiance_scaling.pro index ed7b1fb42b..bc1b66707c 100644 --- a/src/meshlabplugins/render_radiance_scaling/render_radiance_scaling.pro +++ b/src/meshlabplugins/render_radiance_scaling/render_radiance_scaling.pro @@ -1,7 +1,12 @@ include (../../shared.pri) HEADERS = textureParams.h textureFormat.h texture2D.h framebufferObject.h gpuShader.h gpuProgram.h radianceScalingRenderer.h shaderDialog.h -SOURCES = textureParams.cpp textureFormat.cpp framebufferObject.cpp gpuShader.cpp gpuProgram.cpp radianceScalingRenderer.cpp shaderDialog.cpp $$GLEWCODE +SOURCES = textureParams.cpp textureFormat.cpp framebufferObject.cpp gpuShader.cpp gpuProgram.cpp radianceScalingRenderer.cpp shaderDialog.cpp + +!CONFIG(system_glew): SOURCES += $$GLEWCODE +CONFIG(system_glew) { + linux: LIBS += -lGLEW +} TARGET = render_radiance_scaling FORMS = shaderDialog.ui diff --git a/src/meshlabserver/meshlabserver.pro b/src/meshlabserver/meshlabserver.pro index e97962a18a..66accaecfb 100644 --- a/src/meshlabserver/meshlabserver.pro +++ b/src/meshlabserver/meshlabserver.pro @@ -1,6 +1,8 @@ include (../general.pri) -INCLUDEPATH += . .. $$VCGDIR $$EIGENDIR $$GLEWDIR/include +INCLUDEPATH += . .. $$VCGDIR $$EIGENDIR + +!CONFIG(system_glew): INCLUDEPATH *= $$GLEWDIR/include HEADERS = @@ -44,6 +46,8 @@ win32-msvc2010:DEFINES += GLEW_STATIC win32-msvc2012:DEFINES += GLEW_STATIC win32-msvc2015:DEFINES += GLEW_STATIC +CONFIG(system_glew):LIBS += -lGLEW + #DEFINES += GLEW_STATIC # This removes the need of XSERVER to run meshlabserver diff --git a/src/plugins_experimental/edit_ocme/src/ocme/ocme_builder.pro b/src/plugins_experimental/edit_ocme/src/ocme/ocme_builder.pro index c920a177ba..e7ead0ebdb 100755 --- a/src/plugins_experimental/edit_ocme/src/ocme/ocme_builder.pro +++ b/src/plugins_experimental/edit_ocme/src/ocme/ocme_builder.pro @@ -6,7 +6,8 @@ GLEWDIR = ../../../../external/glew-1.5.1 win32-msvc2005:DEFINES += GLEW_STATIC win32-msvc2008:DEFINES += GLEW_STATIC -INCLUDEPATH *= ../.. $$VCGDIR $$GLEWDIR/include +INCLUDEPATH *= ../.. $$VCGDIR +!CONFIG(system_glew): INCLUDEPATH *= $$GLEWDIR/include DEPENDPATH += $$VCGDIR # the following line is to hide the hundred of warnings about the deprecated @@ -109,7 +110,7 @@ QMAKE_CXXFLAGS_RELEASE += -DNDEBUG LIBS += -lGLEW LIBS += -lkyotocabinet -QMAKE_LIBDIR += $$GLEWDIR/lib +!CONFIG(system_glew): QMAKE_LIBDIR += $$GLEWDIR/lib QMAKE_LIBDIR += ../../../../external/kyotocabinet-1.2.34 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 bb0995b460..f5d5832d34 100644 --- a/src/plugins_experimental/filter_multiscale_align/filter_multiscale_align.pro +++ b/src/plugins_experimental/filter_multiscale_align/filter_multiscale_align.pro @@ -14,8 +14,9 @@ SOURCES += filter_multiscale_align.cpp \ TARGET = filter_multiscale_align ## Dependencies -INCLUDEPATH += lib \ - $$VCGDIR/eigenlib #needed by Grenaille +INCLUDEPATH += lib +!CONFIG(system_eigen3): INCLUDEPATH *= $$VCGDIR/eigenlib #needed by Grenaille +CONFIG(system_eigen3): INCLUDEPATH *= $$EIGENDIR #needed by Grenaille unix: QMAKE_CXXFLAGS += -DQ_OS_LINUX diff --git a/src/plugins_unsupported/edit_arc3D/edit_arc3D.pro b/src/plugins_unsupported/edit_arc3D/edit_arc3D.pro index 08c6e10384..604cccb244 100644 --- a/src/plugins_unsupported/edit_arc3D/edit_arc3D.pro +++ b/src/plugins_unsupported/edit_arc3D/edit_arc3D.pro @@ -35,22 +35,10 @@ win32-msvc2012:LIBS += ../../external/lib/win32-msvc2012/bz2.lib win32-msvc2013:LIBS += ../../external/lib/win32-msvc2013/bz2.lib win32-msvc2015:LIBS += ../../external/lib/win32-msvc2015/bz2.lib win32-g++:LIBS += ../../external/lib/win32-gcc/libbz2.a -linux-g++:LIBS += $$PWD/../../external/lib/linux-g++/libbz2.a -linux-g++-32:LIBS += $$PWD/../../external/lib/linux-g++-32/libbz2.a -linux-g++-64:LIBS += $$PWD/../../external/lib/linux-g++-64/libbz2.a +linux-g++:LIBS += -lbz2 mac:LIBS += -lbz2 -win32-msvc2005:INCLUDEPATH += ../../external/bzip2-1.0.5 -win32-msvc2008:INCLUDEPATH += ../../external/bzip2-1.0.5 -win32-msvc2010:INCLUDEPATH += ../../external/bzip2-1.0.5 -win32-msvc2012:INCLUDEPATH += ../../external/bzip2-1.0.5 -win32-msvc2013:INCLUDEPATH += ../../external/bzip2-1.0.5 -win32-msvc2015:INCLUDEPATH += ../../external/bzip2-1.0.5 - -win32-g++:INCLUDEPATH += ../../external/bzip2-1.0.5 -linux-g++:INCLUDEPATH += ../../external/bzip2-1.0.5 -linux-g++-32:INCLUDEPATH += ../../external/bzip2-1.0.5 -linux-g++-64:INCLUDEPATH += ../../external/bzip2-1.0.5 +!CONFIG(system_bzip2):INCLUDEPATH += ../../external/bzip2-1.0.5 CONFIG(release, debug|release) { diff --git a/src/plugins_unsupported/edit_fit/edit_fit.pro b/src/plugins_unsupported/edit_fit/edit_fit.pro index 85bf9e2483..3338c831ce 100644 --- a/src/plugins_unsupported/edit_fit/edit_fit.pro +++ b/src/plugins_unsupported/edit_fit/edit_fit.pro @@ -13,8 +13,11 @@ HEADERS = edit_fit_factory.h \ SOURCES = edit_fit_factory.cpp \ editfit.cpp\ fittoolbox.cpp\ - primitive.cpp\ - $$GLEWCODE + primitive.cpp +!CONFIG(system_glew): SOURCES += $$GLEWCODE +CONFIG(system_glew) { + linux: LIBS += -lGLEW +} FORMS += fittoolbox.ui diff --git a/src/plugins_unsupported/editpaint/editpaint.pro b/src/plugins_unsupported/editpaint/editpaint.pro index 93bf48b2d6..8d022b20f8 100755 --- a/src/plugins_unsupported/editpaint/editpaint.pro +++ b/src/plugins_unsupported/editpaint/editpaint.pro @@ -8,8 +8,11 @@ HEADERS = edit_paint_factory.h \ SOURCES = edit_paint_factory.h \ editpaint.cpp \ - $$GLEWCODE \ paintbox.cpp +!CONFIG(system_glew): SOURCES += $$GLEWCODE +CONFIG(system_glew) { + linux: LIBS += -lGLEW +} TARGET = editpaint diff --git a/src/plugins_unsupported/filter_rangemap/filter_rangemap.pro b/src/plugins_unsupported/filter_rangemap/filter_rangemap.pro index c4119b6049..24f279c226 100644 --- a/src/plugins_unsupported/filter_rangemap/filter_rangemap.pro +++ b/src/plugins_unsupported/filter_rangemap/filter_rangemap.pro @@ -3,8 +3,11 @@ include (../../shared.pri) HEADERS = filter_rangemap.h SOURCES = filter_rangemap.cpp \ - ../../meshlab/filterparameter.cpp \ - $$GLEWCODE + ../../meshlab/filterparameter.cpp +!CONFIG(system_glew): SOURCES += $$GLEWCODE +CONFIG(system_glew) { + linux: LIBS += -lGLEW +} TARGET = filter_rangemap diff --git a/src/plugins_unsupported/io_epoch/io_epoch.pro b/src/plugins_unsupported/io_epoch/io_epoch.pro index 47cb77f302..7824f24632 100644 --- a/src/plugins_unsupported/io_epoch/io_epoch.pro +++ b/src/plugins_unsupported/io_epoch/io_epoch.pro @@ -30,16 +30,9 @@ QT += xml win32-msvc2005:LIBS += ../../external/lib/win32-msvc2005/bz2.lib win32-msvc2008:LIBS += ../../external/lib/win32-msvc2008/bz2.lib win32-g++:LIBS += ../../external/lib/win32-gcc/libbz2.a -linux-g++:LIBS += ../../external/lib/linux-g++/libbz2.a -linux-g++-32:LIBS += ../../external/lib/linux-g++-32/libbz2.a -linux-g++-64:LIBS += ../../external/lib/linux-g++-64/libbz2.a +linux-g++:LIBS += -lbz2 -win32-msvc2005:INCLUDEPATH += ../../external/bzip2-1.0.5 -win32-msvc2008:INCLUDEPATH += ../../external/bzip2-1.0.5 -win32-g++:INCLUDEPATH += ../../external/bzip2-1.0.5 -linux-g++:INCLUDEPATH += ../../external/bzip2-1.0.5 -linux-g++-32:INCLUDEPATH += ../../external/bzip2-1.0.5 -linux-g++-64:INCLUDEPATH += ../../external/bzip2-1.0.5 +!CONFIG(system_bz2): INCLUDEPATH *= ../../external/bzip2-1.0.5 mac:LIBS += -lbz2 diff --git a/src/plugins_unsupported/render_rm/render_rm.pro b/src/plugins_unsupported/render_rm/render_rm.pro index 575116e146..24d21686bc 100644 --- a/src/plugins_unsupported/render_rm/render_rm.pro +++ b/src/plugins_unsupported/render_rm/render_rm.pro @@ -16,8 +16,11 @@ SOURCES = rmmeshrender.cpp \ glstateholder.cpp \ parser/RmPass.cpp \ parser/RmXmlParser.cpp \ - parser/UniformVar.cpp \ - $$GLEWCODE + parser/UniformVar.cpp +!CONFIG(system_glew): SOURCES += $$GLEWCODE +CONFIG(system_glew) { + linux: LIBS += -lGLEW +} FORMS = rmShadowDialog.ui diff --git a/src/shared.pri b/src/shared.pri index 2d51ad8997..4a10924b75 100644 --- a/src/shared.pri +++ b/src/shared.pri @@ -2,7 +2,8 @@ include (general.pri) VCGDIR = ../$$VCGDIR -EIGENDIR = ../$$EIGENDIR +# only adjust relative path if we're not using system Eigen +!CONFIG(system_eigen3):EIGENDIR = ../$$EIGENDIR TEMPLATE = lib CONFIG += plugin @@ -27,7 +28,8 @@ win32-msvc2013:DEFINES += GLEW_STATIC _USE_MATH_DEFINES win32-msvc2015:DEFINES += GLEW_STATIC _USE_MATH_DEFINES win32-msvc:DEFINES += GLEW_STATIC _USE_MATH_DEFINES -INCLUDEPATH *= ../.. $$VCGDIR $$EIGENDIR ../$$GLEWDIR/include +INCLUDEPATH *= ../.. $$VCGDIR $$EIGENDIR +!CONFIG(system_glew): INCLUDEPATH *= ../$$GLEWDIR/include DEPENDPATH += ../.. $$VCGDIR # the following line is to hide the hundred of warnings about the deprecated