📄 lapackpp.iss.in
字号:
; Script generated by the Inno Setup Script Wizard and heavily
; modified by hand by Christian Stimming.
;
; Inno Setup Compiler: See http://www.jrsoftware.org/isdl.php
;
[Setup]
; Using the name here directly because we want it capitalized
AppName=Lapackpp
AppVerName=Lapackpp @VERSION@
AppPublisher=Lapackpp Development Team
AppPublisherURL=http://lapackpp.sourceforge.net
AppSupportURL=http://sourceforge.net/support/getsupport.php?group_id=99696
AppUpdatesURL=http://sourceforge.net/project/showfiles.php?group_id=99696
DefaultDirName={pf}\@PACKAGE@
DirExistsWarning=no
LicenseFile=COPYING
OutputDir=.
@ISCC_WITHOUT_DLL@OutputBaseFilename=@PACKAGE@-@VERSION@-setup
@ISCC_WITH_DLL@OutputBaseFilename=@PACKAGE@-@VERSION@-MSVC-setup
[Types]
Name: "full"; Description: "{cm:FullInstall}"
Name: "binary"; Description: "{cm:BinaryInstall}"
Name: "custom"; Description: "{cm:CustomInstall}"; Flags: iscustom
[Components]
Name: "main"; Description: "{cm:MainFiles}"; Types: full binary custom; Flags: fixed
Name: "devel"; Description: "{cm:DevelFiles}"; Types: full
Name: "doc"; Description: "{cm:DocFiles}"; Types: full
[Files]
; The main gcc DLL
;; the old name, now unused: Source: "src\@PACKAGE@32.dll"; DestDir: "{win}"; DestName: "@PACKAGE@32.dll"; Flags: sharedfile promptifolder replacesameversion; Components: main
Source: "distribution\win32-tmp\bin\*.dll"; DestDir: "{win}"; Flags: sharedfile promptifolder replacesameversion; Components: main
; Distributing these DLLs as well because there is no extra package
; for them available.
Source: "c:\WINNT\liblapack32.dll"; DestDir: "{win}"; Flags: sharedfile promptifolder; Components: main
Source: "c:\WINNT\libblas32.dll"; DestDir: "{win}"; Flags: sharedfile promptifolder; Components: main
Source: "..\..\LAPACK\liblapack32.lib"; DestDir: "{app}\lib"; Components: devel
Source: "..\..\LAPACK\libblas32.lib"; DestDir: "{app}\lib"; Components: devel
; If chosen by the configuration, also include the MSVC lib file
@ISCC_WITH_DLL@Source: "Debug\@PACKAGE@.dll"; DestDir: "{app}\bin"; Flags: sharedfile promptifolder replacesameversion; Components: main
@ISCC_WITH_DLL@Source: "Debug\@PACKAGE@.lib"; DestDir: "{app}\lib"; Flags: sharedfile promptifolder replacesameversion; Components: devel
; The library linker files
Source: "distribution\win32-tmp\lib\*"; DestDir: "{app}\lib"; Flags: ignoreversion recursesubdirs; Components: devel
; The pkgconfig file. It is post-processed by the Pascal script below.
Source: "@PACKAGE@.pc.in"; DestDir: "{app}\lib\pkgconfig"; Components: devel; AfterInstall: MyAfterInstallConfig(ExpandConstant('{app}\lib\pkgconfig\@PACKAGE@.pc'))
; The headers
Source: "distribution\win32-tmp\include\*"; DestDir: "{app}\include"; Flags: ignoreversion recursesubdirs; Components: devel
; The m4 macro
Source: "distribution\win32-tmp\share\*"; DestDir: "{app}\share"; Flags: ignoreversion recursesubdirs; Components: devel
; And all the documentation
Source: "COPYING"; DestDir: "{app}\doc\@PACKAGE@"; Flags: ignoreversion; Components: doc
Source: "README.W32"; DestDir: "{app}\doc\@PACKAGE@"; Components: doc
Source: "README"; DestDir: "{app}\doc\@PACKAGE@"; Components: doc
Source: "MAINTAINER"; DestDir: "{app}\doc\@PACKAGE@"; Components: doc
Source: "NEWS"; DestDir: "{app}\doc\@PACKAGE@"; Components: doc
Source: "ChangeLog"; DestDir: "{app}\doc\@PACKAGE@"; Components: doc
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Delete the created config script on uninstall
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[UninstallDelete]
Type: files; Name: "{app}\lib\pkgconfig\@PACKAGE@.pc"
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; This large section is a Pascal scripting program that will modify
; the lapackpp.pc config file so that it then includes the
; correct values according to our local installation. See
; http://www.remobjects.com/?ps for a syntax reference.
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[Code]
function MingwBacksl(const S: String): String;
begin
{ Modify the path name S so that it can be used by MinGW }
if Length(ExtractFileDrive(S)) = 0 then
Result := S
else begin
Result := '/'+S;
StringChange(Result, ':\', '\');
end;
StringChange(Result, '\', '/');
end;
procedure MyAfterInstallConfig(FileName: String);
var
FileString, appdir, windir, includedir: String;
Res: Boolean;
begin
{ Load the unchanged original file }
Res := LoadStringFromFile(Format('%s.in',[FileName]), FileString);
if Res = False then
MsgBox('Error on loading '+FileName+'.in for final adaptation', mbInformation, MB_OK);
{ Get the installation-specific paths }
windir := MingwBacksl(ExpandConstant('{win}'));
appdir := MingwBacksl(ExpandConstant('{app}'));
includedir := appdir + '/include';
{ Now make all the replacements }
{ Explanation: StringChange(S,FromStr,ToStr): Change all occurances in S of FromStr to ToStr. }
StringChange(FileString, '@'+'prefix@', appdir);
StringChange(FileString, '@'+'exec_prefix@', appdir);
StringChange(FileString, '@'+'libdir@', windir);
StringChange(FileString, '@'+'includedir@', includedir);
StringChange(FileString, '@'+'datadir@', appdir + '/share');
StringChange(FileString, '@'+'bindir@', appdir + '/bin');
StringChange(FileString, '@'+'VERSION@', '@VERSION@');
StringChange(FileString, '@'+'LAPACKPP_LIBS@', '@LAPACKPP_LIBS@');
StringChange(FileString, '@'+'LAPACKPP_LDFLAGS@', '-L'+windir);
{ Save the final file }
Res := SaveStringToFile(FileName, FileString, False);
if Res = False then
MsgBox('Error on saving '+FileName+' for final adaptation', mbInformation, MB_OK);
end;
[Languages]
Name: "en"; MessagesFile: "compiler:Default.isl"
Name: "de"; MessagesFile: "compiler:Languages\German.isl"
[CustomMessages]
FullInstall=Full installation
BinaryInstall=Install only libraries
CustomInstall=Custom installation
MainFiles=Lapackpp DLL Library (only for gcc compiler)
DevelFiles=Development files
DocFiles=Documentation files
de.FullInstall=Komplett-Installation
de.BinaryInstall=Nur Bibliotheken installieren
de.CustomInstall=Benutzerdefiniert
de.MainFiles=Lapackpp DLL Bibliothek (nur gcc Compiler)
de.DevelFiles=Entwickler-Dateien
de.DocFiles=Dokumentations-Dateien
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -