[CMake] CPack doesn't recognize custom templates

norulez at me.com norulez at me.com
Sat May 19 14:51:30 EDT 2012


Sorry, but the project is a commercial application.

Did you mean this site? http://www.cmake.org/cmake/help/cmake_tutorial.html#s7

But there must something in the original *.nsi file, because if I use the original file then the files get copied (Without changing the CMakeLists.txt file)

On the workstations we use VS instead of nmake. Is there a way do call CPack with the "--verbose --debug" options under VS without using nmake from the command line?


Am 19.05.2012 um 20:26 schrieb David Cole <david.cole at kitware.com>:

> CPack does a "make install" and puts your install tree underneath _CPack_Packages.
> 
> THEN, it calls NSIS with the *.nsi script, and packages that up into an installer.
> 
> There is nothing in the *.nsi file that copies anything into _CPack_Packages. That happens before makensis is ever called.
> 
> Please post some code, so we can help you figure out what is going on here.
> 
> Is this in an open source project where we can inspect the code? Or can you replicate your problem with the CMake/Tests/Tutorial/Step7 project?
> 
> 
> 
> On Sat, May 19, 2012 at 2:02 PM, <norulez at me.com> wrote:
> Hello Eric,
> hello David,
> 
> sorry for the long response time.
> 
> I noticed that the custom CPackConfig is not necessary if I use variable names beginning with CPACK_. So first I removed the custom file.
> 
> Then the main problem...
> I don't use a changed NSIS.template.in file from the CMake installation. I use a NSIS script from a college and tried to use it under CPack. This means than I used CPACK variable names instead of hard coded values. However I'm a NSIS novice, so it seems that in a CPACK variable and/or in the original NSIS.template.in file are some commands which I didn't find. The only one I need is the command which copies the necessary files into the temporary CPack directory (_CPack_Packges).
> 
> Which CPack variable and/or NSIS commands from the original template file are required to solve this?
> 
> Thanks in advance
> 
> Best Regards
> 
> Am 09.05.2012 um 20:45 schrieb "NoRulez" <norulez at me.com>:
>> >> By the way could you try 2.8.8 instead of 2.8.7 ?
>> Yes, I will try it tomorrow (I read the changelog http://www.cmake.org/files/v2.8/CMakeChangeLog-2.8.8 but I can't find any details where this behavior may be fixed)
>> Because on our Buildserver CMake 2.8.7 is installed and if no relevant changes are made in 2.8.8, then I would be happy if I could retain the CMake 2.8.7 installation (Never change a running system ;-))
>> 
>> But I will try 2.8.8 on the workstation and send you the output from 2.8.7 ("--verbose --debug").
>> 
>> Best Regards
>> 
>> Am 09. Mai 2012 um 11:31 schrieb Eric Noulard <eric.noulard at gmail.com>:
>> 
>>> 2012/5/9 <norulez at me.com>:
>>> >>> Is it the case? Is there any file in _CPack_Packages\win32\NSIS\MyProject
>>> >>> ?
>>> > No, there aren't any files
>>> >
>>> >
>>> >>> Could you copy/paste the exact message you get and may be running cpack
>>> >>> on the command line with ---verbose and --debug.
>>> > Sure, but I can only do so tomorrow
>>> >
>>> >
>>> >>> Nope normally you don't but what are you doing in your
>>> >>> "CPackConfig.cmake.in" ?
>>> > I only set the CPACK variables and additional variables which are used in
>>> > the NSIS.template.in file.
>>> > Because if I don't use the custom CPackConfig.cmake.in file then the
>>> > variables in the NSIS.template.in files aren't resolved.
>>> 
>>> Please send us those files.
>>> As usual the devil may be in the details.
>>> 
>>> >>> And do you have any INSTALL(CODE or INSTALL(SCRIPTS in your project?
>>> > Yes, i use this for the BundleUtilities like in the BundleUtilities example
>>> >
>>> > INSTALL(CODE "
>>> > file(GLOB_RECURSE SHARED_LIBS
>>> > \"\${CMAKE_INSTALL_PREFIX}/*${CMAKE_SHARED_LIBRARY_SUFFIX}\")
>>> > include(BundleUtilities)
>>> > fixup_bundle(\"${APPS}\" \"\${SHARED_LIBS}\" \"${DIRS}\")
>>> > " COMPONENT Runtime)
>>> 
>>> I'm not a BundleUtilities user but code like that may break with CPack because
>>> CPack may internally use DESTDIR to do its local installation so that
>>> one should usually write:
>>> 
>>> $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}
>>> rather than
>>> ${CMAKE_INSTALL_PREFIX}
>>> 
>>> however since you have NO file at all in the local CPack install dir,
>>> the problem is elsewhere.
>>> 
>>> By the way could you try 2.8.8 instead of 2.8.7 ?
>>> 
>>> -- 
>>> Erk
>>> Le gouvernement représentatif n'est pas la démocratie --
>>> http://www.le-message.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
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20120519/a3437c74/attachment.htm>


More information about the CMake mailing list