RecipeAppendVersionNumberToInstallpath

From KitwarePublic
Revision as of 09:31, 9 October 2009 by Shadowland (talk | contribs)
Jump to navigationJump to search

In some situations, it's necessary to keep older versions of a program along with the newer. Here is a recipe for appending the version number to your install path:

PROJECT(MyProg C) 
SET (VERSION "0.1.4") 
... 
IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
SET(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}-${VERSION}" 
CACHE STRING "Install path" FORCE)
ENDIF() 
... 

# and if you use CPack, just default the installer to the right path using:
set(CPACK_PACKAGE_INSTALL_DIRECTORY "MyProg-${VERSION}")

The CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT is necessary here because if it's missing, the path becomes recursive and will continue to append ${PROJECT_NAME}-${VERSION} to the path infinitely. The conditional ensures that it only does this once.