From 31d6b7c48b43e58b511fb58fa453b51004b090de Mon Sep 17 00:00:00 2001 From: Alan Race Date: Tue, 11 Aug 2020 12:39:08 +0100 Subject: [PATCH] Updated deploy script to create installer when MATLAB version new enough Removed accidental addition of compiled file --- deploy/SpectralAnalysis_Linux.prj | 111 ------------ ...Analysis_Linux_StandaloneWithInstaller.prj | 160 ------------------ .../installerLogo.png | Bin 0 -> 17800 bytes .../installerSplash.png | Bin 0 -> 25504 bytes deploy/deploy.m | 51 +++++- files/SA_icon_256.ico | Bin 0 -> 110614 bytes src/util/getSpectralAnalysisFolder.m | 6 + src/util/saversion.m | 8 +- version.txt | 2 +- 9 files changed, 62 insertions(+), 276 deletions(-) delete mode 100644 deploy/SpectralAnalysis_Linux.prj delete mode 100644 deploy/SpectralAnalysis_Linux_StandaloneWithInstaller.prj create mode 100644 deploy/SpectralAnalysis_resources/installerLogo.png create mode 100644 deploy/SpectralAnalysis_resources/installerSplash.png create mode 100644 files/SA_icon_256.ico diff --git a/deploy/SpectralAnalysis_Linux.prj b/deploy/SpectralAnalysis_Linux.prj deleted file mode 100644 index e001d92..0000000 --- a/deploy/SpectralAnalysis_Linux.prj +++ /dev/null @@ -1,111 +0,0 @@ - - - SpectralAnalysis - Alan Race - alan.race@uni-marburg.de - AlanRace - ${PROJECT_ROOT}/SpectralAnalysis_resources/icon_24.png - - ${PROJECT_ROOT}/SpectralAnalysis_resources/icon_48.png - ${PROJECT_ROOT}/SpectralAnalysis_resources/icon_24.png - ${PROJECT_ROOT}/SpectralAnalysis_resources/icon_16.png - - Software for the analysis and interactive exploration of spectral imaging data. - Software for the analysis and interactive exploration of spectral imaging data (such as mass spectrometry imaging and Raman spectroscopy mapping), including visualisation of both images and spectra, preprocessing, multivariate analysis and machine learning. - ${PROJECT_ROOT}/../docs-src/static/images/SpectralAnalysis-interface-1.3.0.png - 1.4 - - MATLAB - Image Processing Toolbox - - - 1 - 17 - - - 9.8 - 11.1 - - - ${PROJECT_ROOT} - 1e1cc4fe-d019-4cfe-9bed-9bc2c1f22d7e - - - - - - - - - /home/alan/Documents/GitProjects/SpectralAnalysis/SpectralAnalysis.m - - - - /home/alan/Documents/GitProjects/SpectralAnalysis/files - /home/alan/Documents/GitProjects/SpectralAnalysis/lib - /home/alan/Documents/GitProjects/SpectralAnalysis/src - /home/alan/Documents/GitProjects/SpectralAnalysis/version.txt - - - - /home/alan/Documents/GitProjects/SpectralAnalysis/deploy - - - - /usr/local/MATLAB/R2020a - - - - - - - - - - - true - - - - - true - - - - - true - - - - - true - - - - - true - - - - - true - - - - - true - false - false - false - false - false - true - false - 5.4.0-42-generic - false - true - glnxa64 - true - - - \ No newline at end of file diff --git a/deploy/SpectralAnalysis_Linux_StandaloneWithInstaller.prj b/deploy/SpectralAnalysis_Linux_StandaloneWithInstaller.prj deleted file mode 100644 index 28318f8..0000000 --- a/deploy/SpectralAnalysis_Linux_StandaloneWithInstaller.prj +++ /dev/null @@ -1,160 +0,0 @@ - - - SpectralAnalysis - - - 1.4 - Alan Race - alan.race@uni-marburg.de - Alan Race - Software for the analysis and interactive exploration of spectral imaging data. - Software for the analysis and interactive exploration of spectral imaging data (such as mass spectrometry imaging and Raman spectroscopy mapping), including visualisation of both images and spectra, preprocessing, multivariate analysis and machine learning. - - - /SpectralAnalysis/ - option.installpath.userlocal - /home/alan/Documents/GitProjects/SpectralAnalysis/docs-src/static/images/SpectralAnalysis_logo_nobg.png - - In the following directions, replace MR/v98 by the directory on the target machine where MATLAB is installed, or MR by the directory where the MATLAB Runtime is installed. - -(1) Set the environment variable XAPPLRESDIR to this value: - -MR/v98/X11/app-defaults - - -(2) If the environment variable LD_LIBRARY_PATH is undefined, set it to the following: - -MR/v98/runtime/glnxa64:MR/v98/bin/glnxa64:MR/v98/sys/os/glnxa64:MR/v98/sys/opengl/lib/glnxa64 - -If it is defined, set it to the following: - -${LD_LIBRARY_PATH}:MR/v98/runtime/glnxa64:MR/v98/bin/glnxa64:MR/v98/sys/os/glnxa64:MR/v98/sys/opengl/lib/glnxa64 - ${PROJECT_ROOT}/SpectralAnalysis_Linux_StandaloneWithInstaller/for_testing - ${PROJECT_ROOT}/SpectralAnalysis_Linux_StandaloneWithInstaller/for_redistribution_files_only - ${PROJECT_ROOT}/SpectralAnalysis_Linux_StandaloneWithInstaller/for_redistribution - ${PROJECT_ROOT}/SpectralAnalysis_Linux_StandaloneWithInstaller - false - - subtarget.standalone - - true - false - false - SpectralAnalysisInstaller_web - MyAppInstaller_mcr - MyAppInstaller_app - false - false - - false - false - - Syntax - -? - - Input Arguments - -? print help on how to use the application - input arguments - - - - - - - - - - - - - - - - - - - - - - - - - - - /home/alan/Documents/GitProjects/SpectralAnalysis/SpectralAnalysis.m - - - /home/alan/Documents/GitProjects/SpectralAnalysis/files - /home/alan/Documents/GitProjects/SpectralAnalysis/lib - /home/alan/Documents/GitProjects/SpectralAnalysis/src - /home/alan/Documents/GitProjects/SpectralAnalysis/version.txt - - - - ${MATLAB_ROOT}/examples/slcheck/data/data.mat - - - /home/alan/Documents/GitProjects/SpectralAnalysis/deploy/SpectralAnalysis_Linux_StandaloneWithInstaller/for_testing/run_SpectralAnalysis.sh - /home/alan/Documents/GitProjects/SpectralAnalysis/deploy/SpectralAnalysis_Linux_StandaloneWithInstaller/for_testing/readme.txt - /home/alan/Documents/GitProjects/SpectralAnalysis/deploy/SpectralAnalysis_Linux_StandaloneWithInstaller/for_testing/SpectralAnalysis - /home/alan/Documents/GitProjects/SpectralAnalysis/deploy/SpectralAnalysis_Linux_StandaloneWithInstaller/for_testing/splash.png - - - - /usr/local/MATLAB/R2020a - - - - - - - - - - - true - - - - - true - - - - - true - - - - - true - - - - - true - - - - - true - - - - - true - false - false - false - false - false - true - false - 5.4.0-42-generic - false - true - glnxa64 - true - - - \ No newline at end of file diff --git a/deploy/SpectralAnalysis_resources/installerLogo.png b/deploy/SpectralAnalysis_resources/installerLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..f02f9b0d97efcd55146902d3f9c6b45dbe618185 GIT binary patch literal 17800 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 c!nG&ZUaa9I0S$VC^tC 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 Q;CUPjp00i_>zopr0Q_JvY5)KL literal 0 HcmV?d00001 diff --git a/deploy/SpectralAnalysis_resources/installerSplash.png b/deploy/SpectralAnalysis_resources/installerSplash.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ead76ee2345c00113b56a2aecd57a735635845 GIT binary patch literal 25504 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 Gg8v6r*=h*@ literal 0 HcmV?d00001 diff --git a/deploy/deploy.m b/deploy/deploy.m index 67c3763..a9f38d1 100644 --- a/deploy/deploy.m +++ b/deploy/deploy.m @@ -20,6 +20,53 @@ cd([srcPath filesep 'processing' filesep 'postprocessing' filesep 'mepca']) compileMEPCA -cd(path) +cd(curDir) -mcc -v -m SpectralAnalysis.m -a lib/ -a src/ -a *.m -a *.mex* -a version.txt +if ispc + wOption = "'WinMain:SpectralAnalysis,version=1.4'"; + osText = 'win'; +end + +saFolder = [getSpectralAnalysisFolder() filesep]; +deployFolder = [saFolder filesep 'deploy']; + +mccCommand = "mcc -o SpectralAnalysis -W %s -T link:exe -v %sSpectralAnalysis.m -d %s -a %sfiles -a %slib -a %ssrc -a %sversion.txt -r '%s'"; +mccCommand = sprintf(mccCommand, wOption, saFolder, deployFolder, saFolder, saFolder, saFolder, saFolder, [saFolder 'files' filesep 'SA_icon_256.ico']) %'C:\Program Files\MATLAB\R2020a\toolbox\compiler\resources\default_icon.ico')% + +eval(mccCommand); + +if ispc + defaultInstallDir = 'C:\Program Files\SpectralAnalysis'; +elseif isunix + defaultInstallDir = '/usr/local/SpectralAnalysis'; +end + +matlabVersion = version('-release'); +matlabYear = str2num(matlabVersion(1:end-1)); + +if matlabYear >= 2020 + installerOpts = compiler.package.InstallerOptions('ApplicationName', 'SpectralAnalysis',... + 'Version', saversion(false), ... + 'AuthorCompany', 'Alan Race',... + 'AuthorName', 'Alan Race',... + 'AuthorEmail', 'alan.race@uni-marburg.de',... + 'InstallerName', 'SpectralAnalysis_Installer',... + 'InstallerIcon', [deployFolder filesep 'SpectralAnalysis_resources' filesep 'icon_48.png'], ... + 'InstallerLogo', [deployFolder filesep 'SpectralAnalysis_resources' filesep 'installerLogo.png'], ... + 'InstallerSplash', [deployFolder filesep 'SpectralAnalysis_resources' filesep 'installerSplash.png'], ... + 'OutputDir', deployFolder, ... + 'DefaultInstallationDir', defaultInstallDir, ... + 'Summary', 'Software for the analysis and interactive exploration of spectral imaging data.', ... + 'Description', 'Software for the analysis and interactive exploration of spectral imaging data (such as mass spectrometry imaging and Raman spectroscopy mapping), including visualisation of both images and spectra, preprocessing, multivariate analysis and machine learning.'); + + compiler.package.installer([deployFolder filesep 'SpectralAnalysis.exe'], [deployFolder filesep 'requiredMCRProducts.txt'], 'Options', installerOpts); +end + + +if ispc + movefile([deployFolder filesep 'SpectralAnalysis.exe'], [deployFolder filesep 'SpectralAnalysis-' saversion(false) '-' osText '.exe']); + + if matlabYear >= 2020 + movefile([deployFolder filesep 'SpectralAnalysis_Installer.exe'], [deployFolder filesep 'SpectralAnalysis-' saversion(false) '-' osText '-installer-web.exe']); + end +end \ No newline at end of file diff --git a/files/SA_icon_256.ico b/files/SA_icon_256.ico new file mode 100644 index 0000000000000000000000000000000000000000..a8d8fc136288072e1a9c5d75fe9681d72b805f81 GIT binary patch literal 110614 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 Vzzm2V0PzKY*1M1%;UhWU{{W?Cts4LU literal 0 HcmV?d00001 diff --git a/src/util/getSpectralAnalysisFolder.m b/src/util/getSpectralAnalysisFolder.m index f8bf508..baabd7d 100644 --- a/src/util/getSpectralAnalysisFolder.m +++ b/src/util/getSpectralAnalysisFolder.m @@ -5,7 +5,13 @@ else pathstr = fileparts(mfilename('fullpath')); + curFolder = pwd; + % lib folder is ../../lib compared to current location of ./util pathstr = [pathstr filesep '..' filesep '..']; + + cd(pathstr); + pathstr = pwd; + cd(curFolder); end diff --git a/src/util/saversion.m b/src/util/saversion.m index a9713c9..da87317 100644 --- a/src/util/saversion.m +++ b/src/util/saversion.m @@ -1,8 +1,12 @@ -function version = saversion() +function version = saversion(includeCommit) +if nargin == 0 + includeCommit = true; +end + version = '1.4.0'; -if(isdeployed()) +if(isdeployed() || ~includeCommit) return end diff --git a/version.txt b/version.txt index 9080f64..5ddde6d 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -1.4.0-7457530 \ No newline at end of file +1.4.0-38ce932 \ No newline at end of file