[CMake] CPack doesn't recognize custom templates

norulez at me.com norulez at me.com
Mon May 21 12:49:52 EDT 2012


I don't know how, but the problem is solved. If I find out the problem I'll post it on the list.

What i've done was to begin from scratch with the installers CMakeLists.txt and the custom NSIS template.

Much thanks to Eric and David for the hint with the "--verbose --debug" command line arguments

Best Regards

Am 19.05.2012 um 20:51 schrieb <norulez at me.com>:

> 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
>> 
> --
> 
> 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/20120521/6b3fdd33/attachment.htm>


More information about the CMake mailing list