changeset 6582:9a909530773b

Add opengl_switch * binary-dist-rules.mk: add opengl_switch to windows targets * dist-files.mk, index.html: add ref to new file * src/opengl_switch.mk: new file] * tools/makeinst-script.sh.in: create nshortcut for opengl_switch
author John Donoghue <john.donoghue@ieee.org>
date Mon, 26 Dec 2022 13:23:46 -0500
parents e5c0c787ed73
children fe6e40fefa80
files binary-dist-rules.mk dist-files.mk index.html src/opengl_switch.mk tools/makeinst-script.sh.in
diffstat 5 files changed, 77 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/binary-dist-rules.mk	Mon Dec 26 13:23:45 2022 -0500
+++ b/binary-dist-rules.mk	Mon Dec 26 13:23:46 2022 -0500
@@ -28,7 +28,8 @@
     octave-launch \
     octave-launch-firsttime \
     win7appid \
-    blas_switch
+    blas_switch \
+    opengl_switch
 
   ifeq ($(USE_MSYS2),yes)
     WINDOWS_BINARY_DIST_DEPS += \
--- a/dist-files.mk	Mon Dec 26 13:23:45 2022 -0500
+++ b/dist-files.mk	Mon Dec 26 13:23:46 2022 -0500
@@ -569,6 +569,7 @@
   opencv-1-fixes.patch \
   opencv.mk \
   openexr.mk \
+  opengl_switch.mk \
   openjpeg.mk \
   openlibm.mk \
   openscenegraph-1-fixes.patch \
--- a/index.html	Mon Dec 26 13:23:45 2022 -0500
+++ b/index.html	Mon Dec 26 13:23:46 2022 -0500
@@ -2498,6 +2498,10 @@
         <td class="website"><a href="http://www.openexr.com/">OpenEXR</a></td>
     </tr>
     <tr>
+        <td class="package">opengl_switch</td>
+        <td class="website"><a href="https://github.com/lostbard/opengl_switch">OpenGL Switch</a></td>
+    </tr>
+    <tr>
         <td class="package">openjpeg</td>
         <td class="website"><a href="https://www.openjpeg.org/">OpenJPEG</a></td>
     </tr>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/opengl_switch.mk	Mon Dec 26 13:23:46 2022 -0500
@@ -0,0 +1,59 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := opengl_switch
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.0.0
+$(PKG)_CHECKSUM := d3957e6f34f156e2c17498fbcc8dd6ddc8c1c9c7
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $($(PKG)_SUBDIR).tar.gz
+$(PKG)_URL      := https://github.com/lostbard/$(PKG)/archive/v$($(PKG)_VERSION).tar.gz
+
+
+ifeq ($(ENABLE_QT5),yes)
+      $(PKG)_DEPS     := qt5
+else
+      $(PKG)_DEPS     := qt
+endif
+
+ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
+      $(PKG)_INSTALL_ROOT :=
+else
+      $(PKG)_INSTALL_ROOT := $(3)
+endif
+
+define $(PKG)_UPDATE
+    $(call GITHUB_PKG_UPDATE,lostbard,opengl_switch,v)
+endef
+
+ifneq ($(MXE_NATIVE_BUILD),yes)
+  ifeq ($(MXE_SYSTEM),mingw)
+    ifeq ($(ENABLE_QT5),yes)
+       $(PKG)_QMAKE_SPEC_OPTION := -spec '$(BUILD_TOOLS_PREFIX)/mkspecs/win32-g++'
+    else
+       $(PKG)_QMAKE_SPEC_OPTION := -spec '$(HOST_PREFIX)/mkspecs/win32-g++'
+    endif
+  endif
+  ifeq ($(MXE_SYSTEM),msvc)
+    # FIXME: compute "2010" suffix dynamically
+    $(PKG)_QMAKE_SPEC_OPTION := -spec '$(HOST_LIBDIR)/qt4/mkspecs/win32-msvc2010'
+  endif
+endif
+
+define $(PKG)_BUILD
+    cd '$(1)' && \
+      '$(MXE_QMAKE)' -makefile \
+        $($(PKG)_QMAKE_SPEC_OPTION) \
+        QMAKE_UIC='$(MXE_UIC)' \
+        QMAKE_MOC='$(MXE_MOC)' \
+        QMAKE_LFLAGS=$(MXE_LDFLAGS) \
+        QMAKE_CXXFLAGS='-std=c++11'
+
+    $(MAKE) -C '$(1)' -j '$(JOBS)'
+    $(MAKE) -C '$(1)' -j 1 install INSTALL_ROOT='$($(PKG)_INSTALL_ROOT)'
+
+    if [ $(MXE_WINDOWS_BUILD) = yes ]; then \
+      $(INSTALL) -d '$(HOST_BINDIR)'; \
+      mv '$(HOST_PREFIX)/qt5/bin/opengl_switch.exe' '$(HOST_BINDIR)/opengl_switch.exe'; \
+    fi
+endef
--- a/tools/makeinst-script.sh.in	Mon Dec 26 13:23:45 2022 -0500
+++ b/tools/makeinst-script.sh.in	Mon Dec 26 13:23:46 2022 -0500
@@ -696,6 +696,17 @@
     \${EndIf}
 EOF
   fi
+  if [ -e $OCTAVE_SOURCE/$OCTAVE_SUBDIR/bin/opengl_switch.exe ]; then 
+   cat >> $OUTFILE << EOF
+    CreateShortCut '\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\OpenGL Switcher.lnk' '\$INSTDIR\\$OCTAVE_SUBDIR\\bin\\opengl_switch.exe' '' '' 0
+    \${If} \$MultiUser.InstallMode != "CurrentUser"
+      Push '\$SMPROGRAMS\\GNU Octave $VERSION\$MultiUser.Local\\OpenGL Switcher.lnk'
+      Call ShellLinkSetRunAs
+      Pop \$0
+    \${EndIf}
+EOF
+  fi
+ 
   # if we have documentation files, create shortcuts
   if [ -d $OCTAVE_SOURCE/$OCTAVE_SUBDIR/share/doc/octave ]; then
     cat >> $OUTFILE << EOF