diff --git a/.travis.yml b/.travis.yml index cb4cda90..35a103ee 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,12 +1,12 @@ language: cpp sudo: required -dist: trusty +dist: bionic compiler: - gcc - clang before_install: - sudo apt-get update -qq - - sudo apt-get install -qq libqt4-dev libqt4-opengl-dev libqglviewer-dev + - sudo apt-get install -qq libqglviewer-dev-qt5 before_script: script: ./scripts/travis_build_jobs.sh $VARIANT env: diff --git a/CMakeLists.txt b/CMakeLists.txt index c1ec836e..70be6912 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,7 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON) # enables -fPIC in applicable compilers option(BUILD_OCTOVIS_SUBPROJECT "Build targets from subproject octovis" ON) option(BUILD_DYNAMICETD3D_SUBPROJECT "Build targets from subproject dynamicEDT3D" ON) -option(OCTOVIS_QT5 "Link Octovis against Qt5?" NO) +option(OCTOVIS_QT5 "Link Octovis against Qt5?" ON) if(OCTOVIS_QT5) # Compiling against QT5 requires C++11. diff --git a/octovis/CMakeLists.txt b/octovis/CMakeLists.txt index 34653c02..d20b7d65 100644 --- a/octovis/CMakeLists.txt +++ b/octovis/CMakeLists.txt @@ -64,6 +64,8 @@ set(INSTALL_TARGETS_DEFAULT_ARGS # libQGLViewer, if dependencies available SET( BUILD_VIEWER 0) +option(OCTOVIS_QT5 "Link Octovis against Qt5?" ON) + # Look for required libraries: FIND_PACKAGE(OpenGL) if(NOT OCTOVIS_QT5) diff --git a/octovis/CMakeModules/FindQGLViewer.cmake b/octovis/CMakeModules/FindQGLViewer.cmake index 752002b9..9b64430b 100644 --- a/octovis/CMakeModules/FindQGLViewer.cmake +++ b/octovis/CMakeModules/FindQGLViewer.cmake @@ -1,5 +1,5 @@ # Find QGLViewer library -# Looks for a system-wide version of libQGLViewer (qglviewer-qt4 in Ubuntu). +# Looks for a system-wide version of libQGLViewer (qglviewer-qt4 or 5 in Ubuntu). # If none is found, it builds and uses the local copy in "extern" # # Many thanks to L. Ott for assistance! @@ -23,7 +23,11 @@ FIND_PATH( QGLViewer_INCLUDE_DIR qglviewer.h ${QGLVIEWER_BASE_DIR} ) -FIND_LIBRARY( QGLViewer_LIBRARY_DIR_UBUNTU NAMES qglviewer-qt4 QGLViewer-qt4) +IF( QT4_FOUND ) + FIND_LIBRARY( QGLViewer_LIBRARY_DIR_UBUNTU NAMES qglviewer-qt4 QGLViewer-qt4) +ELSE() + FIND_LIBRARY( QGLViewer_LIBRARY_DIR_UBUNTU NAMES qglviewer-qt5 QGLViewer-qt5) +ENDIF() FIND_LIBRARY( QGLViewer_LIBRARY_DIR_WINDOWS QGLViewer2 ${QGLVIEWER_BASE_DIR}) FIND_LIBRARY( QGLViewer_LIBRARY_DIR_OTHER QGLViewer ${QGLVIEWER_BASE_DIR}) @@ -119,4 +123,4 @@ ENDIF() # You need to use qmake of QT4. You are using QT3 if you get: #CMakeFiles/octovis.dir/ViewerWidget.cpp.o: In function `octomap::ViewerWidget::ViewerWidget(QWidget*)': -#ViewerWidget.cpp:(.text+0x1715): undefined reference to `QGLViewer::QGLViewer(QWidget*, QGLWidget const*, QFlags)' \ No newline at end of file +#ViewerWidget.cpp:(.text+0x1715): undefined reference to `QGLViewer::QGLViewer(QWidget*, QGLWidget const*, QFlags)'