[CMake] CPack - skipping licensing screen

2009-04-24 Thread Daniel Blezek
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

-- 
Daniel Blezek, PhD
Medical Imaging Informatics Innovation Center

P 127 or (77) 8 8886
T 507 538 8886
E blezek.dan...@mayo.edu

Mayo Clinic
200 First St. S.W.
Harwick SL-44
Rochester, MN 55905
mayoclinic.org


___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] CPack - skipping licensing screen

2009-04-24 Thread James Bigler
On Fri, Apr 24, 2009 at 7:07 AM, Daniel Blezek  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.
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.

James
___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] CPack - skipping licensing screen

2009-04-24 Thread Bill Hoffman

James Bigler wrote:

On Fri, Apr 24, 2009 at 7:07 AM, Daniel Blezek  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
___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] CPack - skipping licensing screen

2009-04-24 Thread Daniel Blezek
Hi Bill, James,

  Easier than I expected.  If CPACK_RESOURCE_FILE_LICENSE is not defined,
set CPACK_RESOURCE_FILE_LICENSE_PROVIDED to 0, add a !if macro to the NSIS
installer script and happiness ensues.

  Here's the patch, the change worked in my installed version of CMake, but
I didn't run the tests.

-dan

Index: Modules/CPack.cmake
===
RCS file: /cvsroot/CMake/CMake/Modules/CPack.cmake,v
retrieving revision 1.43
diff -u -r1.43 CPack.cmake
--- Modules/CPack.cmake 5 Mar 2009 15:08:03 -   1.43
+++ Modules/CPack.cmake 24 Apr 2009 20:21:50 -
@@ -641,8 +641,15 @@
 
 cpack_set_if_not_set(CPACK_PACKAGE_DESCRIPTION_FILE
   "${CMAKE_ROOT}/Templates/CPack.GenericDescription.txt")
-cpack_set_if_not_set(CPACK_RESOURCE_FILE_LICENSE
-  "${CMAKE_ROOT}/Templates/CPack.GenericLicense.txt")
+
+if ( NOT DEFINED CPACK_RESOURCE_FILE_LICENSE )
+  set(CPACK_RESOURCE_FILE_LICENSE
+"${CMAKE_ROOT}/Templates/CPack.GenericLicense.txt")
+  set(CPACK_RESOURCE_FILE_LICENSE_PROVIDED "0")
+else ( NOT DEFINED CPACK_RESOURCE_FILE_LICENSE )
+  set(CPACK_RESOURCE_FILE_LICENSE_PROVIDED "1")
+endif ( NOT DEFINED CPACK_RESOURCE_FILE_LICENSE )
+
 cpack_set_if_not_set(CPACK_RESOURCE_FILE_README
   "${CMAKE_ROOT}/Templates/CPack.GenericDescription.txt")
 cpack_set_if_not_set(CPACK_RESOURCE_FILE_WELCOME
Index: Modules/NSIS.template.in
===
RCS file: /cvsroot/CMake/CMake/Modules/NSIS.template.in,v
retrieving revision 1.36
diff -u -r1.36 NSIS.template.in
--- Modules/NSIS.template.in7 Apr 2009 19:31:51 -   1.36
+++ Modules/NSIS.template.in24 Apr 2009 20:21:50 -
@@ -516,7 +516,9 @@
 ;Pages
   !insertmacro MUI_PAGE_WELCOME
 
-  !insertmacro MUI_PAGE_LICENSE "@CPACK_RESOURCE_FILE_LICENSE@"
+  !if @CPACK_RESOURCE_FILE_LICENSE_PROVIDED@
+!insertmacro MUI_PAGE_LICENSE "@CPACK_RESOURCE_FILE_LICENSE@"
+  !endif
   Page custom InstallOptionsPage
   !insertmacro MUI_PAGE_DIRECTORY
   


  


On 4/24/09 11:39 AM, "Bill Hoffman"  wrote:

> James Bigler wrote:
>> On Fri, Apr 24, 2009 at 7:07 AM, Daniel Blezek 
>> 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
> ___
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
> 
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
> 
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake

-- 
Daniel Blezek, PhD
Medical Imaging Informatics Innovation Center

P 127 or (77) 8 8886
T 507 538 8886
E blezek.dan...@mayo.edu

Mayo Clinic
200 First St. S.W.
Harwick SL-44
Rochester, MN 55905
mayoclinic.org




NSISNoLicenseFile.patch
Description: Binary data
___
Powered