[CMake] CPACK_PACKAGING_INSTALL_PREFIX Documentation and Behavior

Stewart, Robert Robert.Stewart at sig.com
Wed Sep 4 09:00:13 EDT 2013


The documentation for CPACK_PACKAGING_INSTALL_PREFIX fails to convey the point of the variable: "The prefix used in the built package."  The documentation also says that the variable has a different purpose from CMAKE_INSTALL_PREFIX.  However, I still don't understand its purpose from that.

What's worse, when I try setting CPACK_PACKAGING_INSTALL_PREFIX to something like "foo", in order to see where that value appears in the package, CPack makes no complaint but fails to package any files.  This is bad behavior.  There should be at least a warning.  What's worse, CPack actually creates an empty package in that case.

I found http://www.cmake.org/pipermail/cmake/2011-December/048137.html, which explains that CPACK_PACKAGING_INSTALL_PREFIX controls the prefix of the tree in which CPack does its "internal" make install.  If you put something like that in the CPACK_PACKAGING_INSTALL_PREFIX description, you'll be helping many people besides me.  IOW, I suggest documenting CPACK_PACKAGING_INSTALL_PREFIX something like the following:

"CPACK_PACKAGING_INSTALL_PREFIX: The prefix for building the package.

"To build a package, CPack must first install the files, without overriding the files produced when installing normally.  This prefix specifies where CPack may install the files to be packaged.

"Each CPack generator has a default value, like /usr. Setting this variable, in CMakeLists.txt, overrides those defaults.

"Note: This variable differs from CMAKE_INSTALL_PREFIX.  The latter is used when installing, rather than packaging, files."

_____
Rob Stewart
Software Engineer
Dev Tools & Components
Susquehanna International Group, LLP

________________________________

IMPORTANT: The information contained in this email and/or its attachments is confidential. If you are not the intended recipient, please notify the sender immediately by reply and immediately delete this message and all its attachments. Any review, use, reproduction, disclosure or dissemination of this message or any attachment by an unintended recipient is strictly prohibited. Neither this message nor any attachment is intended as or should be construed as an offer, solicitation or recommendation to buy or sell any security or other financial instrument. Neither the sender, his or her employer nor any of their respective affiliates makes any warranties as to the completeness or accuracy of any of the information contained herein or that this message or any of its attachments is free of viruses.


More information about the CMake mailing list