mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-24 00:47:57 -05:00
qgis_app.dll (inspired by Nathan's PR #4156) On install each shortcut/configuration gets a own copy of the (small) exe. That exe is started through the batch file that originally was used to start the app at runtime. Argument --exit will cause the wrapper to just dump the environment to an .env file next to the copy of the .exe. The created shortcuts now point at those .exes instead of the batch files. At runtime the .exes source their .env file to get a working environment to run QGIS (ie. qgis_app.dll). This for example allows the application to be pinned to the taskbar and avoids the of necessity of batch files at runtime to start the app.
42 lines
2.7 KiB
Batchfile
42 lines
2.7 KiB
Batchfile
textreplace -std -t bin\@package@-designer.bat
|
|
textreplace -std -t bin\python-@package@.bat
|
|
|
|
if "%OSGEO4W_DESKTOP%"=="" set OSGEO4W_DESKTOP=~$folder.common_desktop$
|
|
|
|
if not %OSGEO4W_MENU_LINKS%==0 mkdir "%OSGEO4W_STARTMENU%"
|
|
if not %OSGEO4W_DESKTOP_LINKS%==0 mkdir "%OSGEO4W_DESKTOP%"
|
|
|
|
for %%g in (@grassversions@) do (
|
|
textreplace -std -t bin\@package@-g%%g.bat
|
|
|
|
REM copy executable so we have one (now small) executable for each environment
|
|
REM and call it to produce .env from .vars
|
|
copy "%OSGEO4W_ROOT%\bin\@package@-bin.exe" "%OSGEO4W_ROOT%\bin\@package@-bin-g%%g.exe"
|
|
copy "%OSGEO4W_ROOT%\bin\@package@-bin.vars" "%OSGEO4W_ROOT%\bin\@package@-bin-g%%g.vars"
|
|
"%OSGEO4W_ROOT%\bin\@package@-g%%g.bat" --exit
|
|
|
|
if not %OSGEO4W_MENU_LINKS%==0 nircmd shortcut "%OSGEO4W_ROOT%\bin\@package@-bin-g%%g.exe" "%OSGEO4W_STARTMENU%" "QGIS Desktop @version@ with GRASS %%g (Nightly)"
|
|
if not %OSGEO4W_DESKTOP_LINKS%==0 nircmd shortcut "%OSGEO4W_ROOT%\bin\@package@-bin-g%%g.exe" "%OSGEO4W_DESKTOP%" "QGIS Desktop @version@ with GRASS %%g (Nightly)"
|
|
|
|
textreplace -std -t bin\@package@-browser-g%%g.bat
|
|
if not %OSGEO4W_MENU_LINKS%==0 nircmd shortcut "%OSGEO4W_ROOT%\bin\nircmd.exe" "%OSGEO4W_STARTMENU%" "QGIS Browser @version@ with GRASS %%g (Nightly)" "exec hide """%OSGEO4W_ROOT%\bin\@package@-browser-g%%g.bat"" "%OSGEO4W_ROOT%\apps\@package@\icons\browser.ico"
|
|
if not %OSGEO4W_DESKTOP_LINKS%==0 nircmd shortcut "%OSGEO4W_ROOT%\bin\nircmd.exe" "%OSGEO4W_DESKTOP%" "QGIS Browser @version@ with GRASS %%g (Nightly)" "exec hide """%OSGEO4W_ROOT%\bin\@package@-browser-g%%g.bat"" "%OSGEO4W_ROOT%\apps\@package@\icons\browser.ico"
|
|
)
|
|
|
|
if not %OSGEO4W_MENU_LINKS%==0 nircmd shortcut "%OSGEO4W_ROOT%\bin\nircmd.exe" "%OSGEO4W_STARTMENU%" "Qt Designer with QGIS @version@ custom widgets (Nightly)" "exec hide """%OSGEO4W_ROOT%\bin\@package@-designer.bat"" "%OSGEO4W_ROOT%\apps\@package@\icons\QGIS.ico"
|
|
if not %OSGEO4W_DESKTOP_LINKS%==0 nircmd shortcut "%OSGEO4W_ROOT%\bin\nircmd.exe" "%OSGEO4W_DESKTOP%" "Qt Designer with QGIS @version@ custom widgets (Nightly)" "exec hide """%OSGEO4W_ROOT%\bin\@package@-designer.bat"" "%OSGEO4W_ROOT%\apps\@package@\icons\QGIS.ico"
|
|
|
|
set O4W_ROOT=%OSGEO4W_ROOT%
|
|
set OSGEO4W_ROOT=%OSGEO4W_ROOT:\=\\%
|
|
textreplace -std -t "%O4W_ROOT%\apps\@package@\bin\qgis.reg"
|
|
set OSGEO4W_ROOT=%O4W_ROOT%
|
|
|
|
REM Do not register extensions if release is installed
|
|
if not exist "%O4W_ROOT%\apps\qgis\bin\qgis.reg" nircmd elevate "%WINDIR%\regedit" /s "%O4W_ROOT%\apps\@package@\bin\qgis.reg"
|
|
|
|
call "%OSGEO4W_ROOT%\bin\o4w_env.bat"
|
|
call qt5_env.bat
|
|
path %PATH%;%OSGEO4W_ROOT%\apps\@package@\bin
|
|
set QGIS_PREFIX_PATH=%OSGEO4W_ROOT:\=/%/apps/@package@
|
|
"%OSGEO4W_ROOT%\apps\@package@\crssync"
|