changeset 1043:b26fb3a99f01

merge
author Alain Mazy <alain@mazy.be>
date Wed, 09 Oct 2019 15:35:01 +0200
parents 08cdcadfab14 (current diff) 95939fa925f6 (diff)
children 513a4053c54a
files
diffstat 3 files changed, 111 insertions(+), 51 deletions(-) [+]
line wrap: on
line diff
--- a/Framework/OpenGL/IOpenGLContext.h	Wed Oct 09 15:34:45 2019 +0200
+++ b/Framework/OpenGL/IOpenGLContext.h	Wed Oct 09 15:35:01 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;
-
     };
   }
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Resources/CMake/LinuxStandardBaseUic.py	Wed Oct 09 15:35:01 2019 +0200
@@ -0,0 +1,36 @@
+#!/usr/bin/env python
+
+import subprocess
+import sys
+
+if len(sys.argv) <= 1:
+    sys.stderr.write('Please provide arguments for uic\n')
+    sys.exit(-1)
+
+path = ''
+pos = 1
+while pos < len(sys.argv):
+    if sys.argv[pos].startswith('-'):
+        pos += 2
+    else:
+        path = sys.argv[pos]
+        break
+
+if len(path) == 0:
+    sys.stderr.write('Unable to find the input file in the arguments to uic\n')
+    sys.exit(-1)
+
+with open(path, 'r') as f:
+    lines = f.read().split('\n')
+    if (len(lines) > 1 and
+        lines[0].startswith('<?')):
+        content = '\n'.join(lines[1:])
+    else:
+        content = '\n'.join(lines)
+        
+# Remove the source file from the arguments
+args = sys.argv[1:pos] + sys.argv[pos+1:]
+
+p = subprocess.Popen([ '/opt/lsb/bin/uic' ] + args,
+                     stdin = subprocess.PIPE)
+p.communicate(input = content)
--- a/Resources/CMake/QtConfiguration.cmake	Wed Oct 09 15:34:45 2019 +0200
+++ b/Resources/CMake/QtConfiguration.cmake	Wed Oct 09 15:35:01 2019 +0200
@@ -20,72 +20,97 @@
 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
+  # The script "LinuxStandardBaseUic.py" is just a wrapper around the
+  # "uic" compiler from LSB that does not support the "<?xml ...?>"
+  # header that is automatically added by Qt Creator
+  set(QT_UIC_EXECUTABLE ${CMAKE_CURRENT_LIST_DIR}/LinuxStandardBaseUic.py)
+
+  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()