[CMake] cpack -G NSIS

Eric Noulard eric.noulard at gmail.com
Wed Jan 11 08:50:28 EST 2012


2012/1/11 Andrea Crotti <andrea.crotti.0 at gmail.com>:
> On 01/11/2012 12:37 PM, Eric Noulard wrote:

>
> I just wanted to try the packaging with NSIS, and since it builds exe on
> Linux
> it should probably cross compile,
> but I didn't set anything for that myselfso I
> it might just try to compile for Linux and package in an NSIS package.

Yes that the case CMake wouldn't cross-compile "by itself" in your use case
you did build a NSIS windows installer that contains Linux binaries.

This wouldn't be of any practical use but that's not the issue.


Ok then.
I cannot reproduce the crash with my current CMake version (git master)
however I do get an error:

$ cpack -G NSIS
CPack: Create package using NSIS
CPack: Install projects
CPack: - Run preinstall target for: Hello
CPack: - Install project: Hello
CPack: Create package
CPack Error: Problem running NSIS command: "/usr/bin/makensis"
"/home/erk/CMake/Contrib/CPackNSIS-crash/build/_CPack_Packages/Linux/NSIS/project.nsi"
Please check /home/erk/CMake/Contrib/CPackNSIS-crash/build/_CPack_Packages/Linux/NSIS/NSISOutput.log
for errors
CPack Error: Problem compressing the directory
CPack Error: Error when generating package: Hello

Which is due to the fact that your example did not contain any
"install" directive.
So NSIS refuses to build an empty package.

Add some install directive like:
install(TARGETS hello DESTINATION bin)

and I get a package:
$ cpack -G NSIS
CPack: Create package using NSIS
CPack: Install projects
CPack: - Run preinstall target for: Hello
CPack: - Install project: Hello
CPack: Create package
CPack: - package:
/home/erk/CMake/Contrib/CPackNSIS-crash/build/Hello-0.1.1-Linux.exe
generated.

CPack only package targets (executable, library) and/or files,
directories that appear
somewhere in an "install" command.

see
cmake --help-command install

and please read:
http://www.cmake.org/Wiki/CMake:Packaging_With_CPack
and
http://www.cmake.org/Wiki/CMake:CPackPackageGenerators

-- 
Erk
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org


More information about the CMake mailing list