changeset 1040:14c0a29cd9ec

qt and lsb
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 08 Oct 2019 11:19:58 +0200
parents 3a35d8397559
children 95939fa925f6
files Framework/OpenGL/IOpenGLContext.h Resources/CMake/QtConfiguration.cmake
diffstat 2 files changed, 71 insertions(+), 51 deletions(-) [+]
line wrap: on
line diff
--- a/Framework/OpenGL/IOpenGLContext.h	Mon Oct 07 22:37:24 2019 +0200
+++ b/Framework/OpenGL/IOpenGLContext.h	Tue Oct 08 11:19:58 2019 +0200
@@ -34,7 +34,7 @@
       {
       }
 
-      virtual bool IsContextLost() = 0;
+      virtual bool IsContextLost() = 0;
 
       virtual void MakeCurrent() = 0;
 
@@ -46,10 +46,9 @@
 
       virtual void* DebugGetInternalContext() const = 0;
 
-      // This is for manual context loss (debug purposes)
-      virtual void SetLostContext() = 0;
+      // This is for manual context loss (debug purposes)
+      virtual void SetLostContext() = 0;
       virtual void RestoreLostContext() = 0;
-
     };
   }
 }
--- a/Resources/CMake/QtConfiguration.cmake	Mon Oct 07 22:37:24 2019 +0200
+++ b/Resources/CMake/QtConfiguration.cmake	Tue Oct 08 11:19:58 2019 +0200
@@ -20,72 +20,93 @@
 set(CMAKE_AUTOMOC OFF)
 set(CMAKE_AUTOUIC OFF)
 
-# Find the QtWidgets library
-find_package(Qt5Widgets QUIET)
+if ("${CMAKE_SYSTEM_VERSION}" STREQUAL "LinuxStandardBase")
+  # Linux Standard Base version 5 ships Qt 4.2.3
+  include(Qt4Macros)
 
-if (Qt5Widgets_FOUND)
-  message("Qt5 has been detected")
-  find_package(Qt5Core REQUIRED)
-  link_libraries(
-    Qt5::Widgets
-    Qt5::Core
+  set(QT_UIC_EXECUTABLE ${LSB_PATH}/bin/uic)
+  set(QT_MOC_EXECUTABLE ${LSB_PATH}/bin/moc)
+
+  include_directories(
+    ${LSB_PATH}/include/QtCore
+    ${LSB_PATH}/include/QtGui
+    ${LSB_PATH}/include/QtOpenGL
     )
 
-  if (ENABLE_OPENGL)
-    link_libraries(
-      Qt5::QtOpenGL
-      )
-  endif()
-    
-  # Create aliases for the CMake commands
-  macro(ORTHANC_QT_WRAP_UI)
-    QT5_WRAP_UI(${ARGN})
-  endmacro()
-  
-  macro(ORTHANC_QT_WRAP_CPP)
-    QT5_WRAP_CPP(${ARGN})
-  endmacro()
-
-else()
-  message("Qt5 has not been found, trying with Qt4")
-  find_package(Qt4 REQUIRED QtGui)
-  link_libraries(
-    Qt4::QtGui
-    )
-
-  if (ENABLE_OPENGL)
-    link_libraries(
-      Qt4::QtOpenGL
-      )
-  endif()
-    
-  # Create aliases for the CMake commands
   macro(ORTHANC_QT_WRAP_UI)
     QT4_WRAP_UI(${ARGN})
   endmacro()
   
   macro(ORTHANC_QT_WRAP_CPP)
     QT4_WRAP_CPP(${ARGN})
-  endmacro()
+  endmacro()  
+
+  link_libraries(QtCore QtGui QtOpenGL)
   
+else()
+  # Not using Linux Standard Base
+  # Find the QtWidgets library
+  find_package(Qt5Widgets QUIET)
+
+  if (Qt5Widgets_FOUND)
+    message("Qt5 has been detected")
+    find_package(Qt5Core REQUIRED)
+    link_libraries(
+      Qt5::Widgets
+      Qt5::Core
+      )
+
+    if (ENABLE_OPENGL)
+      find_package(Qt5OpenGL REQUIRED)
+      link_libraries(
+        Qt5::OpenGL
+        )
+    endif()
+    
+    # Create aliases for the CMake commands
+    macro(ORTHANC_QT_WRAP_UI)
+      QT5_WRAP_UI(${ARGN})
+    endmacro()
+    
+    macro(ORTHANC_QT_WRAP_CPP)
+      QT5_WRAP_CPP(${ARGN})
+    endmacro()
+
+  else()
+    message("Qt5 has not been found, trying with Qt4")
+    find_package(Qt4 REQUIRED QtGui)
+    link_libraries(
+      Qt4::QtGui
+      )
+
+    if (ENABLE_OPENGL)
+      find_package(Qt4 REQUIRED QtOpenGL)
+      link_libraries(
+        Qt4::QtOpenGL
+        )
+    endif()
+    
+    # Create aliases for the CMake commands
+    macro(ORTHANC_QT_WRAP_UI)
+      QT4_WRAP_UI(${ARGN})
+    endmacro()
+    
+    macro(ORTHANC_QT_WRAP_CPP)
+      QT4_WRAP_CPP(${ARGN})
+    endmacro()  
+  endif()
 endif()
 
 
-list(APPEND QT_SOURCES
-  ${ORTHANC_STONE_ROOT}/Applications/Qt/QCairoWidget.cpp
-  )
-
-ORTHANC_QT_WRAP_CPP(QT_SOURCES
-  ${ORTHANC_STONE_ROOT}/Applications/Qt/QCairoWidget.h
-  )
-
 if (ENABLE_STONE_DEPRECATED)
   list(APPEND QT_SOURCES
+    ${ORTHANC_STONE_ROOT}/Applications/Qt/QCairoWidget.cpp
+    ${ORTHANC_STONE_ROOT}/Applications/Qt/QStoneMainWindow.cpp
     ${ORTHANC_STONE_ROOT}/Applications/Qt/QtStoneApplicationRunner.cpp
-    ${ORTHANC_STONE_ROOT}/Applications/Qt/QStoneMainWindow.cpp
     )
 
   ORTHANC_QT_WRAP_CPP(QT_SOURCES
+    ${ORTHANC_STONE_ROOT}/Applications/Qt/QCairoWidget.h
     ${ORTHANC_STONE_ROOT}/Applications/Qt/QStoneMainWindow.h
     )
 endif()