[CMake] CPack: Installing applications in separate folders (NSIS)
norulez at me.com
norulez at me.com
Tue May 22 15:31:13 EDT 2012
I got it to work.
Under windows/NSIS I set the destination to "../CustomDir" instead of $CustomDir.
With this and a custom nsis script which knows the location it is possible to run CPack.
In the NSIS script I've the following
Var $CustomDir="@CPACK_TEMPORARY_DIRECTORY@\..\CustomDir"
After this I can install files from this directory too.
The directory content after the preinstall:
.../_CPack_Packages/win32/NSIS/myproject.1.0.0.1/
.../_CPack_Packages/win32/NSIS/CustomDir/
.../_CPack_Packages/win32/NSIS/project.nsi
.
.
.
@Eric, @David: Thank you very much
Best Regards
Am 22.05.2012 um 00:38 schrieb Eric Noulard <eric.noulard at gmail.com>:
> 2012/5/21 David Cole <david.cole at kitware.com>:
>> On Mon, May 21, 2012 at 2:05 PM, <norulez at me.com> wrote:
>>>
>>> But what about other systems like linux. If I have an executable and
>>> shared libraries for example.
>>> Then it is possible to install it under /opt/myproject, but it is not
>>> possible to install the executable under /usr/bin and the shared libraries
>>> under /usr/lib? Or did I misunderstood something?
>>
>>
>> But you don't build an NSIS installer based on those.
>
> And installing lib in /usr/lib and exe in /usr/bin IS possible
> because the 2 path shares the /usr prefix.
>
> On Linux if you build an RPM or DEB package which contains various
> prefix (/usr /opt etc..) you either get a non relocatable package
> or decide that some files are "special" like config files.
>
> but David is right this does not work with NSIS.
>
>>> Sorry, for simple installers the default NSIS template is great, but for
>>> customized ones it seems to be very difficult, isn't it?
>
> As difficult as it is with NSIS alone :-]
>
>> Yes, you're correct. It takes some effort if you are not installing
>> everything underneath the directory that the end user chooses for your final
>> location.
>>
>> It's quite good for "simple installers" and "component-based installers" --
>> beyond that, and especially putting things outside the location chosen by
>> the end user ... you're on your own.
>
> If you do have 2 separate unrelated installation prefixes
> may be you can just build 2 NSIS installers
> (which contains only one prefix)
> using CPack twice out of 2 differents configurations of the same project
>
> Or craft your own project.nsi file.
>
> --
> Erk
> Le gouvernement représentatif n'est pas la démocratie --
> http://www.le-message.org
More information about the CMake
mailing list