Open bovirus opened 1 month ago
Same as #252. I have not forgotten but it is difficult and will take quite some time to fix.
@ggarra13
If you like I can help to fix this.
In which file is included the nsis script?
@bovirus I would appreciate any help. Let me describe how the CMake/NSIS installer is setup, because due to the need to use cmake, it is an unfortunate mess:
The Makefile system (CMake) sets the installation targets with install() commands and with components like "applications", "python_tk", etc. This I don't think we should change, as development may need more customization.
Further CMake extensions (links, file associations, etc) for NSIS using NSIS' Modern UI template are added in the cmake/nsis directory. CMake's NSIS standard pages are automatically translated by Modern UI, but some seem to be missing as you found out.
CMake takes all that information and creates a project.nsi which is the actual full NSIS installer and runs makensis on it.
@ggarra13
Which is the cmake script file name that contains NSIS variables and strings definitions? Where can I get project.nsi?
Which is the cmake script file name that contains NSIS variables and strings definitions? Where can I get project.nsi?
Sadly, most of the string definitions come mainly from NSIS installer itself, the Modern UI (MUI) include, which is in the NSIS installation directory.
CMake's configuration for NSIS is in:
cmake/nsis/
NSISRegistry.cmake - contains the CMake's NSIS exensions to add the shortcuts on install and remove them on uninstall. It also adds an include for adding the file associations code on install.
fileext.nsh - the code to add the file associations
mrv2_translations.nsh - Translations for fileext.nsh.
project.nsi is only available when you actually build mrv2 as cmake creates it on the fly, and is not in the repository.
See the build instructions on the main github page of mrv2 for the requirements.
For the full compile of mrv2, you have to use:
runme.sh -t package
The full mrv2 build can take like 40 mins on a 16 CPU. For a faster compilation, that should take 5 minis on 16 CPUs, you can use:
bin/runme_minimal.sh -t package
With either one, the packaging of NSIS and the project.nsi file will then be located in:
BUILD-Msys-amd64/Release/mrv2/src/mrv2-build/_CPack_Packages/win64/NSIS/
Where did you define strings like
Where did you define strings like
- Install option (title and description)
cmake/packaging.cmake - CPACK_NSIS_*
variables and main title and description seems to be hard-coded.
- Section name/component name
cmake/packaging.cmake - CPACK_COMPONENT_<component>_DISPLAY_NAME
- mrv already instaleld strings
Comes from NSIS/CMake when this variable is on:
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON )
For the cmake/cpack variable definitions, you should check and search:
@ggarra13
Describe the bug In the instalelr there somne strings untranslated.
To Reproduce Steps to reproduce the behavior:
Expected behavior Add relative strings in NSIS installer script.
Screenshots
Desktop (please complete the following information):
Additional context