[cmake-commits] alex committed CPackDeb.cmake 1.1 1.2 FindPythonLibs.cmake 1.34 1.35

cmake-commits at cmake.org cmake-commits at cmake.org
Fri Jul 27 09:00:01 EDT 2007


Update of /cvsroot/CMake/CMake/Modules
In directory public:/mounts/ram/cvs-serv13797/Modules

Modified Files:
	CPackDeb.cmake FindPythonLibs.cmake 
Log Message:

ENH: deb generator can now generate deb packages
-remove the unscriptable commands also from the cpack cmake
-use CPACK_PACKAGE_CONTACT in CMakeCPack.cmake, it's used in the nsis and
the deb generator
-make set_properties() scriptable
-use a non-const char array for adding the python modules

Alex


Index: FindPythonLibs.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/FindPythonLibs.cmake,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -d -r1.34 -r1.35
--- FindPythonLibs.cmake	25 Jul 2007 19:08:37 -0000	1.34
+++ FindPythonLibs.cmake	27 Jul 2007 12:59:59 -0000	1.35
@@ -127,7 +127,7 @@
   ENDFOREACH(_currentModule ${PY_STATIC_MODULES_LIST})
 
   FOREACH(_currentModule ${PY_STATIC_MODULES_LIST})
-    FILE(APPEND ${_filename} "int CMakeLoadPythonModule_${_currentModule}(void) \n{\n  return PyImport_AppendInittab(\"${_currentModule}\", init${_currentModule});\n}\n\n")
+    FILE(APPEND ${_filename} "int CMakeLoadPythonModule_${_currentModule}(void) \n{\n  char name[]=\"${PYTHON_MODULE_PREFIX}${_currentModule}\"; return PyImport_AppendInittab(name, init${PYTHON_MODULE_PREFIX}${_currentModule});\n}\n\n")
   ENDFOREACH(_currentModule ${PY_STATIC_MODULES_LIST})
 
   FILE(APPEND ${_filename} "#ifndef EXCLUDE_LOAD_ALL_FUNCTION\nvoid CMakeLoadAllPythonModules(void)\n{\n")

Index: CPackDeb.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CPackDeb.cmake,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- CPackDeb.cmake	25 Jul 2007 14:57:33 -0000	1.1
+++ CPackDeb.cmake	27 Jul 2007 12:59:59 -0000	1.2
@@ -8,3 +8,53 @@
 
 FIND_PROGRAM(AR_EXECUTABLE ar)
 
+IF(NOT AR_EXECUTABLE)
+  # Is there a *NIX out there without ar ?
+  MESSAGE(FATAL_ERROR "debian package require a ar executable")
+ENDIF(NOT AR_EXECUTABLE)
+
+# Let's define the control file found in debian package:
+
+# Package:
+# debian policy enforce lower case for package name
+IF(NOT 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")
+  ENDIF(NOT CPACK_PACKAGE_VERSION)
+  SET(DEBIAN_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION})
+ENDIF(NOT DEBIAN_PACKAGE_VERSION)
+
+# Architecture:
+IF(NOT DEBIAN_PACKAGE_ARCHITECTURE)
+# There is no such thing as i686 architecture on debian, you should use i386 instead
+# $ dpkg --print-architecture
+  SET(DEBIAN_PACKAGE_ARCHITECTURE i386)
+ENDIF(NOT DEBIAN_PACAKGE_ARCHITECTURE)
+
+# Depends:
+IF(NOT DEBIAN_PACKAGE_DEPENDS)
+  SET(DEBIAN_PACKAGE_DEPENDS
+    "libc6 (>= 2.3.1-6), libgcc1 (>= 1:3.4.2-12)"
+  )
+ENDIF(NOT DEBIAN_PACKAGE_DEPENDS)
+
+# Maintainer:
+IF(NOT DEBIAN_PACKAGE_MAINTAINER)
+  IF(NOT CPACK_PACKAGE_CONTACT)
+    MESSAGE(FATAL_ERROR "debian package require a maintainer for a package")
+  ENDIF(NOT CPACK_PACKAGE_CONTACT)
+  SET(DEBIAN_PACKAGE_MAINTAINER ${CPACK_PACKAGE_CONTACT})
+ENDIF(NOT DEBIAN_PACKAGE_MAINTAINER)
+
+# Description:
+IF(NOT DEBIAN_PACKAGE_DESCRIPTION)
+  IF(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY)
+    MESSAGE(FATAL_ERROR "debian package require a summary for a package")
+  ENDIF(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY)
+  SET(DEBIAN_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION_SUMMARY})
+ENDIF(NOT DEBIAN_PACKAGE_DESCRIPTION)



More information about the Cmake-commits mailing list