[CMake] CPack - skipping licensing screen

Bill Hoffman bill.hoffman at kitware.com
Fri Apr 24 12:39:16 EDT 2009


James Bigler wrote:
> On Fri, Apr 24, 2009 at 7:07 AM, Daniel Blezek <Blezek.Daniel at mayo.edu> wrote:
>> Hi,
>>
>>   I’m not sure if there is a CPack-specific mailing list, direct me if I’m
>> wrong.
>>
>>   I find the empty license screen a little annoying in the NSIS installer
>> for windows.  This occurs when you don’t specify a license file for your
>> installer.  CPack generates one for you, but a better behavior would be to
>> skip that step of the install entirely.
>>
>>   Is this an easy fix?
>>
>> Thanks,
>> -dan
> 
> Depends on your definition of easy.  The NSIS installer is script
> based.  The script that is used to generate the installer is found in
> the Modules/NSIS.template.in file.  In that file you will see a pages
> section:
> 
> ;--------------------------------
> ;Pages
>   !insertmacro MUI_PAGE_WELCOME
> 
>   !insertmacro MUI_PAGE_LICENSE "@CPACK_RESOURCE_FILE_LICENSE@"
>   Page custom InstallOptionsPage
>   !insertmacro MUI_PAGE_DIRECTORY
> 
>   ;Start Menu Folder Page Configuration
> ...
> 
> See the insertmacro MUI_PAGE_LICENSE line?  That's the one that
> inserts the license dialog in your installer.  You can see the
> documentation for these pages here:
> http://nsis.sourceforge.net/Docs/Modern%20UI/Readme.html
> 
> Unfortunately, I don't see an option to deactivate a MUI page after
> you inserted it.  There could be one (I'm only just learning NSIS
> script).
> 
> You have a some of options at this point that increase in complexity
> and time to solution.
> 
> 1. Edit your installed copy of NSIS.template.in to exclude that page.
> Easiest to do, but least maintainable or portable.
> 2. Copy NSIS.template.in and somehow get CMake/CPack to use that
> version instead of the installed version.  You have to maintain your
> own copy, but it should be portable.

All you have to do is use CMAKE_MODULE_PATH to change to a different 
NSIS.template.in file.


> 3. Submit a patch to CMake that makes that page optional (say for
> example if you don't specify a license file).  Everyone gets to
> benefit, but you have to put in the effort and wait for a release or
> use a nightly.
That would be good as well.

-Bill


More information about the CMake mailing list