[CMake] CMake 2.8.0 RC 7 ready for testing!

Bill Hoffman bill.hoffman at kitware.com
Thu Nov 12 17:34:29 EST 2009


James Bigler wrote:

> CMake then chokes on the PACKAGE_NAME due to the \O which should be 
> \\O.  I set the DISPLAY_NAME and INSTALL_DIRECTORY, but the PACKAGE_NAME 
> is set by the cpack_set_if_not_set and sends my string through an extra 
> processing step.
> 
> I can certainly add my own entry for CPACK_NSIS_PACKAGE_NAME to avoid 
> this now that I know about it, but PACKAGE_NAME is a new variable and my 
> old script broke.
> 
> James
> 
> 
Bummer this is certainly a regression from 2.6, (next time please try 
the rc earlier if possible.  I was just about to tag 2.8.0 when I read 
your email...  This is not an rc regression but has been broken on the 
entire 2.8 branch.)

Anyway, this all goes to this bug:

http://public.kitware.com/Bug/view.php?id=8682

So, how to fix?

Does this make sense:


# if the user has set CPACK_NSIS_DISPLAY_NAME
# remember
if(DEFINED CPACK_NSIS_DISPLAY_NAME)
   SET(CPACK_NSIS_DISPLAY_NAME_SET TRUE)
endif()
cpack_set_if_not_set(CPACK_NSIS_DISPLAY_NAME 
"${CPACK_PACKAGE_INSTALL_DIRECTORY}")

# if the user has set CPACK_NSIS_DISPLAY
# explicitly, then use that as the default
# value of CPACK_NSIS_PACKAGE_NAME  instead
# of CPACK_PACKAGE_INSTALL_DIRECTORY
if(CPACK_NSIS_DISPLAY_NAME_SET)
   cpack_set_if_not_set(CPACK_NSIS_PACKAGE_NAME 
"${CPACK_NSIS_DISPLAY_NAME}")
else()
   cpack_set_if_not_set(CPACK_NSIS_PACKAGE_NAME 
"${CPACK_PACKAGE_INSTALL_DIRECTORY}")
endif()


That should keep it working like it did for 2.6 right?  It works for 
your case, no longer crashes.

-Bill


More information about the CMake mailing list