mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-19 07:59:32 +02:00
win installer: added support for creating an installer for an IDE based on qt
git-svn-id: trunk@12601 -
This commit is contained in:
parent
f7eaa9e147
commit
60f3281109
@ -11,7 +11,8 @@ IF NOT "%FPCTARGETOS%"=="win32" GOTO BUILDIDE
|
||||
%MAKEEXE% lcl OPT="-gl -Ur" PP=%COMPILER% LCL_PLATFORM=qt >> %LOGFILE%
|
||||
|
||||
:BUILDIDE
|
||||
%MAKEEXE% bigide OPT="-Xs -XX" PP=%COMPILER% >> %LOGFILE%
|
||||
IF "%IDE_WIDGETSET%"=="" SET IDE_WIDGETSET=win32
|
||||
%MAKEEXE% bigide OPT="-Xs -XX" PP=%COMPILER% LCL_PLATFORM=%IDE_WIDGETSET% >> %LOGFILE%
|
||||
%MAKEEXE% lazbuilder OPT="-Xs -XX" PP=%COMPILER% >> %LOGFILE%
|
||||
|
||||
%FPCBINDIR%\strip.exe lazarus.exe
|
||||
|
@ -11,6 +11,10 @@ if [%ISCC%]==[] SET ISCC="C:\Program Files\Inno Setup 5\iscc.exe"
|
||||
:: it should have the debugger with the name gdb.exe in its bin subdirectory
|
||||
SET GDBDIR=c:\lazarus\source\mingw
|
||||
|
||||
:: Path to the directory containing the qtinf dll matching the from
|
||||
:: http://users.pandora.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html
|
||||
SET QTINFDIR=c:\lazarus\source\qtinf
|
||||
|
||||
:: Path to build directory.
|
||||
:: In this directory an image of the installation will be built.
|
||||
SET BUILDDIR=c:\temp\lazbuild
|
||||
@ -27,8 +31,11 @@ SET LAZSVNDIR=%2
|
||||
:: Path to latest release compiler
|
||||
SET RELEASE_PPC=%3
|
||||
|
||||
:: Optional parameter to indicate the LCL Widget set used by the IDE
|
||||
SET IDE_WIDGETSET=%4
|
||||
|
||||
:: Name of fpc patch file
|
||||
SET PATCHFILE=%4
|
||||
SET PATCHFILE=%5
|
||||
|
||||
::=====================================================================
|
||||
:: no change needed after this.
|
||||
@ -86,13 +93,15 @@ if not exist %BUILDDIR%\startlazarus.exe goto END
|
||||
if exist %GDBDIR% %CP% -pr %GDBDIR% %BUILDDIR%
|
||||
|
||||
:: create the installer
|
||||
SET OutputFileName=lazarus-%LAZVERSION%-fpc-%FPCVERSION%-%DATESTAMP%-%FPCTARGETOS%
|
||||
if not [%IDE_WIDGETSET%]==[win32] SET OutputFileName=lazarus-%IDE_WIDGETSET%-%LAZVERSION%-fpc-%FPCVERSION%-%DATESTAMP%-%FPCTARGETOS%
|
||||
%ISCC% lazarus.iss >> installer.log
|
||||
|
||||
:: do not delete build dir, if installer failed.
|
||||
if not exist output\lazarus-%LAZVERSION%-fpc-%FPCVERSION%-%DATESTAMP%-%FPCTARGETOS%.exe goto END
|
||||
if not exist output\%OutputFileName%.exe goto END
|
||||
|
||||
:: delete build dir
|
||||
::rd /s /q %BUILDDIR% > NUL
|
||||
rd /s /q %BUILDDIR% > NUL
|
||||
|
||||
:END
|
||||
|
||||
@ -106,10 +115,11 @@ goto STOP
|
||||
:USAGE
|
||||
@echo off
|
||||
echo Usage:
|
||||
echo create_installer.bat FPCSVNDIR LAZSVNDIR RELEASECOMPILER [PATCHFILE]
|
||||
echo create_installer.bat FPCSVNDIR LAZSVNDIR RELEASECOMPILER [IDEWIDGETSET] [PATCHFILE]
|
||||
echo FPCSVNDIR: directory that contains a svn version of the fpcbuild repository
|
||||
echo LAZSVNDIR: directory that contains a svn version of the lazarus repository
|
||||
echo RELEASECOMPILER: bootstrapping compiler for building fpc
|
||||
echo IDEWIDGETSET: optional, LCL platform used for compiling the IDE
|
||||
echo PATCHFILE: optional patch file for the fpc sources
|
||||
|
||||
:STOP
|
@ -9,6 +9,9 @@ EnableISX=true
|
||||
#define AppName "Lazarus"
|
||||
#define SetupDate GetEnv('DateStamp')
|
||||
#define BuildDir GetEnv('BuildDir')
|
||||
#define QtInfDir GetEnv('QTINFDIR')
|
||||
#define IDEWidgetSet GetEnv('IDE_WidgetSet')
|
||||
#define OutputFileName GetEnv('OutputFileName')
|
||||
[Setup]
|
||||
AppName={#AppName}
|
||||
AppVersion={#AppVersion}
|
||||
@ -19,7 +22,7 @@ AppUpdatesURL=http://www.lazarus.freepascal.org/
|
||||
ArchitecturesInstallIn64BitMode=x64
|
||||
DefaultDirName={code:GetDefDir|c:\lazarus}
|
||||
DefaultGroupName={#AppName}
|
||||
OutputBaseFilename={#AppName}-{#AppVersion}-fpc-{#FPCLongVersion}-{#SetupDate}-{#FPCTargetOS}
|
||||
OutputBaseFilename={#OutputFileName}
|
||||
InternalCompressLevel=ultra
|
||||
SolidCompression=true
|
||||
VersionInfoVersion={#AppVersion}
|
||||
@ -34,6 +37,9 @@ ShowTasksTreeLines=true
|
||||
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
|
||||
|
||||
[Components]
|
||||
#if IDEWidgetSet!="qt"
|
||||
Name: installqtintfdll; Description: Install QT interface dll; Types: custom full compact
|
||||
#endif
|
||||
Name: associatelfm; Description: {code:GetAssociateDesc|.lfm}; Types: custom full
|
||||
Name: associatelpi; Description: {code:GetAssociateDesc|.lpi}; Types: custom full
|
||||
Name: associatelpk; Description: {code:GetAssociateDesc|.lpk}; Types: custom full
|
||||
@ -46,7 +52,12 @@ Name: associatepp; Description: {code:GetAssociateDesc|.pp}; Types: custom full
|
||||
Source: {#BuildDir}\*.*; DestDir: {app}; Flags: recursesubdirs
|
||||
Source: environmentoptions-{#FPCTargetOS}.xml; DestDir: {app}; Flags: onlyifdoesntexist; AfterInstall: UpdateEnvironmentOptions; DestName: environmentoptions.xml
|
||||
Source: editoroptions.xml; DestDir: {app}; Flags: onlyifdoesntexist
|
||||
#if FPCVersion="2.2.0"
|
||||
#if IDEWidgetSet=="qt"
|
||||
Source: {#QtInfDir}\*.dll; DestDir: {sys}; Flags: sharedfile replacesameversion
|
||||
#else
|
||||
Source: {#QtInfDir}\*.dll; DestDir: {sys}; Flags: sharedfile replacesameversion; Components: installqtintfdll; Tasks:
|
||||
#endif
|
||||
#if FPCVersion=="2.2.0"
|
||||
Source: {#BuildDir}\fpc\{#FPCVersion}\bin\{#FPCFullTarget}\cpp.exe; DestDir: {app}\ide; MinVersion: 1,0
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user