[cmake-commits] alex committed CPack.cmake 1.26 1.27 CPackDeb.cmake
1.2 1.3
cmake-commits at cmake.org
cmake-commits at cmake.org
Fri Aug 3 15:26:32 EDT 2007
Update of /cvsroot/CMake/CMake/Modules
In directory public:/mounts/ram/cvs-serv8026/Modules
Modified Files:
CPack.cmake CPackDeb.cmake
Log Message:
ENH: better error messages from the debian package generator
-don't display the cpack help if a generator failed with some problem
-check for cmSystemTools::GetErrorOccuredFlag()
Alex
Index: CPackDeb.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CPackDeb.cmake,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- CPackDeb.cmake 27 Jul 2007 12:59:59 -0000 1.2
+++ CPackDeb.cmake 3 Aug 2007 19:26:30 -0000 1.3
@@ -10,7 +10,7 @@
IF(NOT AR_EXECUTABLE)
# Is there a *NIX out there without ar ?
- MESSAGE(FATAL_ERROR "debian package require a ar executable")
+ MESSAGE(FATAL_ERROR "Debian package requires ar executable")
ENDIF(NOT AR_EXECUTABLE)
# Let's define the control file found in debian package:
@@ -18,13 +18,13 @@
# Package:
# debian policy enforce lower case for package name
IF(NOT DEBIAN_PACKAGE_NAME)
- STRING(TOLOWER ${CPACK_PACKAGE_NAME} DEBIAN_PACKAGE_NAME)
+ STRING(TOLOWER "${CPACK_PACKAGE_NAME}" DEBIAN_PACKAGE_NAME)
ENDIF(NOT DEBIAN_PACKAGE_NAME)
# Version:
IF(NOT DEBIAN_PACKAGE_VERSION)
IF(NOT CPACK_PACKAGE_VERSION)
- MESSAGE(FATAL_ERROR "debian package require a package version")
+ MESSAGE(FATAL_ERROR "Debian package requires a package version")
ENDIF(NOT CPACK_PACKAGE_VERSION)
SET(DEBIAN_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION})
ENDIF(NOT DEBIAN_PACKAGE_VERSION)
@@ -46,7 +46,7 @@
# Maintainer:
IF(NOT DEBIAN_PACKAGE_MAINTAINER)
IF(NOT CPACK_PACKAGE_CONTACT)
- MESSAGE(FATAL_ERROR "debian package require a maintainer for a package")
+ MESSAGE(FATAL_ERROR "Debian package requires a maintainer for a package, set CPACK_PACKAGE_CONTACT or DEBIAN_PACKAGE_MAINTAINER")
ENDIF(NOT CPACK_PACKAGE_CONTACT)
SET(DEBIAN_PACKAGE_MAINTAINER ${CPACK_PACKAGE_CONTACT})
ENDIF(NOT DEBIAN_PACKAGE_MAINTAINER)
@@ -54,7 +54,7 @@
# Description:
IF(NOT DEBIAN_PACKAGE_DESCRIPTION)
IF(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY)
- MESSAGE(FATAL_ERROR "debian package require a summary for a package")
+ MESSAGE(FATAL_ERROR "Debian package requires a summary for a package, set CPACK_PACKAGE_DESCRIPTION_SUMMARY or DEBIAN_PACKAGE_DESCRIPTION")
ENDIF(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY)
SET(DEBIAN_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION_SUMMARY})
ENDIF(NOT DEBIAN_PACKAGE_DESCRIPTION)
Index: CPack.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CPack.cmake,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- CPack.cmake 13 Feb 2007 19:13:51 -0000 1.26
+++ CPack.cmake 3 Aug 2007 19:26:30 -0000 1.27
@@ -80,34 +80,82 @@
cpack_set_if_not_set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY
"${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION}")
-MACRO(cpack_check_file_exists file description)
-IF(NOT EXISTS "${file}")
- MESSAGE(SEND_ERROR "CPack ${description} file: \"${file}\" could not be found.")
-ENDIF(NOT EXISTS "${file}")
-ENDMACRO(cpack_check_file_exists)
+macro(cpack_check_file_exists file description)
+ if(NOT EXISTS "${file}")
+ message(SEND_ERROR "CPack ${description} file: \"${file}\" could not be found.")
+ endif(NOT EXISTS "${file}")
+endmacro(cpack_check_file_exists)
+
cpack_check_file_exists("${CPACK_PACKAGE_DESCRIPTION_FILE}" "package description")
cpack_check_file_exists("${CPACK_RESOURCE_FILE_LICENSE}" "license resource")
cpack_check_file_exists("${CPACK_RESOURCE_FILE_README}" "readme resource")
cpack_check_file_exists("${CPACK_RESOURCE_FILE_WELCOME}" "welcome resource")
-# Pick a generator
-IF(NOT CPACK_GENERATOR)
- IF(UNIX)
- IF(APPLE)
- SET(CPACK_GENERATOR "PackageMaker;STGZ;TGZ")
- ELSE(APPLE)
- SET(CPACK_GENERATOR "STGZ;TGZ;TZ")
- ENDIF(APPLE)
- SET(CPACK_SOURCE_GENERATOR "TGZ;TZ")
- IF(CYGWIN)
- SET(CPACK_SOURCE_GENERATOR "CygwinSource")
- SET(CPACK_GENERATOR "CygwinBinary")
- ENDIF(CYGWIN)
- ELSE(UNIX)
- SET(CPACK_GENERATOR "NSIS;ZIP")
- SET(CPACK_SOURCE_GENERATOR "ZIP")
- ENDIF(UNIX)
-ENDIF(NOT CPACK_GENERATOR)
+macro(cpack_optional_append _list _cond _item)
+ if(${_cond})
+ set(${_list} ${${_list}} ${_item})
+ endif(${_cond})
+endmacro(cpack_optional_append _list _cond _item)
+
+# Provide options to choose generators
+# we might check here if the required tools for the generates exist
+# and set the defaults according to the results
+if(NOT CPACK_GENERATOR)
+ if(UNIX)
+ if(CYGWIN)
+ option(CPACK_CYGWIN_BINARY "Enable to build Cygwin binary packages" ON)
+ else(CYGWIN)
+ if(APPLE)
+ option(CPACK_PACKAGEMAKER "Enable to build PackageMaker packages" ON)
+ option(CPACK_OSXX11 "Enable to build OSX X11 packages" ON)
+ else(APPLE)
+ option(CPACK_TZ "Enable to build TZ packages" ON)
+ endif(APPLE)
+ option(CPACK_STGZ "Enable to build STGZ packages" ON)
+ option(CPACK_TGZ "Enable to build TGZ packages" ON)
+ option(CPACK_TBZ2 "Enable to build TBZ2 packages" ON)
+ option(CPACK_DEB "Enable to build Debian packages" OFF)
+ option(CPACK_NSIS "Enable to build NSIS packages" OFF)
+ endif(CYGWIN)
+ else(UNIX)
+ option(CPACK_NSIS "Enable to build NSIS packages" ON)
+ option(CPACK_ZIP "Enable to build ZIP packages" ON)
+ endif(UNIX)
+
+ cpack_optional_append(CPACK_GENERATOR CPACK_PACKAGEMAKER PackageMaker)
+ cpack_optional_append(CPACK_GENERATOR CPACK_OSXX11 OSXX11)
+ cpack_optional_append(CPACK_GENERATOR CPACK_CYGWIN_BINARY CygwinBinary)
+ cpack_optional_append(CPACK_GENERATOR CPACK_DEB DEB)
+ cpack_optional_append(CPACK_GENERATOR CPACK_NSIS NSIS)
+ cpack_optional_append(CPACK_GENERATOR CPACK_STGZ STGZ)
+ cpack_optional_append(CPACK_GENERATOR CPACK_TGZ TGZ)
+ cpack_optional_append(CPACK_GENERATOR CPACK_TBZ2 TBZ2)
+ cpack_optional_append(CPACK_GENERATOR CPACK_TZ TZ)
+ cpack_optional_append(CPACK_GENERATOR CPACK_ZIP ZIP)
+
+endif(NOT CPACK_GENERATOR)
+
+# Provide options to choose source generators
+if(NOT CPACK_SOURCE_GENERATOR)
+ if(UNIX)
+ if(CYGWIN)
+ option(CPACK_SOURCE_CYGWIN "Enable to build Cygwin source packages" ON)
+ else(CYGWIN)
+ option(CPACK_SOURCE_TBZ2 "Enable to build TBZ2 source packages" ON)
+ option(CPACK_SOURCE_TGZ "Enable to build TGZ source packages" ON)
+ option(CPACK_SOURCE_TZ "Enable to build TZ source packages" ON)
+ option(CPACK_SOURCE_ZIP "Enable to build ZIP source packages" OFF)
+ endif(CYGWIN)
+ else(UNIX)
+ option(CPACK_SOURCE_ZIP "Enable to build ZIP source packages" ON)
+ endif(UNIX)
+
+ cpack_optional_append(CPACK_SOURCE_GENERATOR CPACK_SOURCE_CYGWIN CygwinSource)
+ cpack_optional_append(CPACK_SOURCE_GENERATOR CPACK_SOURCE_TGZ TGZ)
+ cpack_optional_append(CPACK_SOURCE_GENERATOR CPACK_SOURCE_TBZ2 TBZ2)
+ cpack_optional_append(CPACK_SOURCE_GENERATOR CPACK_SOURCE_TZ TZ)
+ cpack_optional_append(CPACK_SOURCE_GENERATOR CPACK_SOURCE_ZIP ZIP)
+endif(NOT CPACK_SOURCE_GENERATOR)
# Set some other variables
cpack_set_if_not_set(CPACK_INSTALL_CMAKE_PROJECTS
@@ -127,7 +175,7 @@
cpack_set_if_not_set(CPACK_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
cpack_encode_variables()
-CONFIGURE_FILE("${cpack_input_file}" "${CPACK_OUTPUT_CONFIG_FILE}" @ONLY IMMEDIATE)
+configure_file("${cpack_input_file}" "${CPACK_OUTPUT_CONFIG_FILE}" @ONLY IMMEDIATE)
# Generate source file
cpack_set_if_not_set(CPACK_SOURCE_INSTALLED_DIRECTORIES
@@ -146,5 +194,5 @@
SET(CPACK_STRIP_FILES "${CPACK_SOURCE_STRIP_FILES}")
cpack_encode_variables()
-CONFIGURE_FILE("${cpack_source_input_file}"
+configure_file("${cpack_source_input_file}"
"${CPACK_SOURCE_OUTPUT_CONFIG_FILE}" @ONLY IMMEDIATE)
More information about the Cmake-commits
mailing list