[CMake] CPack and NSIS failure

David Cole david.cole at kitware.com
Wed Jun 27 13:39:56 EDT 2012


On Wed, Jun 27, 2012 at 9:07 AM, David Demelier
<demelier.david at gmail.com> wrote:
> 2012/6/27 David Cole <david.cole at kitware.com>:
>> It's because you're using (in essence):
>>
>>  DESTINATION ${CMAKE_INSTALL_PREFIX}
>>
>> for your install rules.
>>
>> Try "DESTINATION ." instead. The DESTINATION is automatically under
>> CMAKE_INSTALL_PREFIX when expressed as a relative path. When you
>> express it as a full absolute path, the install rule puts it in the
>> full absolute path rather than putting it underneath
>> CMAKE_INSTALL_PREFIX.
>>
>>
>> HTH,
>> David
>>
>
> Thanks, it works now, my project is still installed to
> ${CMAKE_INSTALL_PREFIX} and NSIS is working now. However there is just
> one issue now, the Windows menu entry executable points to
> ${CMAKE_INSTALL_PREFIX}/bin/sd-tris.exe while I installed the target
> directly in ${CMAKE_INSTALL_PREFIX}
>
> Cheers,
>
>>
>> On Wed, Jun 27, 2012 at 6:24 AM, David Demelier
>> <demelier.david at gmail.com> wrote:
>>> Hello,
>>>
>>> I try to use CPack to create a Windows package using NSIS, it fails with:
>>>
>>> [100%] Built target sd-tris
>>> Run CPack packaging tool...
>>> CPack: Create package using NSIS
>>> CPack: Install projects
>>> CPack: - Run preinstall target for: sd-tris
>>> CPack: - Install project: sd-tris
>>> CPack: Create package
>>> CPack Error: Problem running NSIS command: "C:/Program Files
>>> (x86)/NSIS/makensis.exe"
>>> "C:/Users/markand/Documents/sd-tris/_build_/_CPack_Packages/win32/NSIS/project.nsi"
>>> Please check C:/Users/markand/Documents/sd-tris/_build_/_CPack_Packages/win32/NSIS/NSISOutput.log
>>> for errors
>>> CPack Error: Problem compressing the directory
>>> CPack Error: Error when generating package: sd-tris
>>> mingw32-make: *** [package] Error 1
>>>
>>> And the NSISOutput.log tail:
>>>
>>> Section: "-Core installation"
>>> SetOutPath: "$INSTDIR"
>>> File: Returning to:
>>> "C:/Users/markand/Documents/sd-tris/_build_/_CPack_Packages/win32/NSIS/sd-tris-0.1.1-win32"
>>> File: "C:/Users/markand/Documents/sd-tris/_build_/_CPack_Packages/win32/NSIS/sd-tris-0.1.1-win32\*.*"
>>> -> no files found.
>>> Usage: File [/nonfatal] [/a] ([/r] [/x filespec [...]] filespec [...] |
>>>
>>>   /oname=outfile one_file_only)
>>>
>>> Error in script
>>> "C:/Users/markand/Documents/sd-tris/_build_/_CPack_Packages/win32/NSIS/project.nsi"
>>> on line 640 -- aborting creation process
>>>
>>> There is no files under
>>> C:/Users/markand/Documents/sd-tris/_build_/_CPack_Packages/win32/NSIS/sd-tris-0.1.1-win32,
>>> that's probably why it fails to build.
>>>
>>> I've attached the CMakeLists.txt,
>>>
>>> Cheers,
>>>
>>> --
>>> Demelier David
>>>
>>> --
>>>
>>> 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
>
>
>
> --
> Demelier David


You can try:

  set(CPACK_NSIS_EXECUTABLES_DIRECTORY ".")

before you include(CPack).

This bug ( http://public.kitware.com/Bug/view.php?id=7828 ) was
resolved by adding the CPACK_NSIS_EXECUTABLES_DIRECTORY variable in
this commit:

  http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=702c8f8ba79591744449244ed47a5181fdf68a63

That change has been in CMake since version 2.8.4.


HTH,
David


More information about the CMake mailing list