]> git.lyx.org Git - lyx.git/blob - development/cmake/LyxPackaging.cmake
We nowadays require python >=2.4
[lyx.git] / development / cmake / LyxPackaging.cmake
1
2 # CPack packaging
3 #
4 # http://cmake.org/cmake/help/cmake-2-8-docs.html#module:CPack
5
6 if(LYX_BUNDLE)
7         if(APPLE)
8                 set(CPACK_GENERATOR DragNDrop)
9         elseif(UNIX)
10                 set(CPACK_GENERATOR STGZ)
11         elseif(WIN32)
12                 set(CPACK_GENERATOR ZIP)
13         endif()
14 endif()
15
16
17 set(CPACK_PACKAGE_VERSION_MAJOR "${LYX_MAJOR_VERSION}")
18 set(CPACK_PACKAGE_VERSION_MINOR "${LYX_MINOR_VERSION}")
19 FILE(STRINGS "${TOP_SRC_DIR}/${LYX_CMAKE_DIR}/LyX_summary.txt" CPACK_PACKAGE_DESCRIPTION_SUMMARY)
20
21
22 set(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${LYX_INSTALL_SUFFIX}")
23
24 #
25 # needed by rpm
26 set(CPACK_SET_DESTDIR "ON")
27 FILE(READ "${TOP_SRC_DIR}/${LYX_CMAKE_DIR}/LyX_license.txt" CPACK_RPM_PACKAGE_LICENSE)
28 set(CPACK_RPM_PACKAGE_GROUP "Applications/Publishing")
29 set(CPACK_RPM_PACKAGE_VENDOR "The LyX team")
30 #
31 # the next ones are needed by deb
32 set(CPACK_PACKAGE_CONTACT "${PACKAGE_BUGREPORT}")
33 set(CPACK_SOURCE_PACKAGE_FILE_NAME "${LYX_PROJECT}-${LYX_INSTALL_SUFFIX}")
34
35 # We depend on python scripting
36 set(CPACK_DEBIAN_PACKAGE_DEPENDS "python (>= 2.6)")
37
38 # use dpkg-shlibdeps to generate additional info for package dependency list.
39 set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
40
41 #
42 # for the next ones, cpack insists on data with values in some file
43 set(CPACK_PACKAGE_DESCRIPTION_FILE "${TOP_SRC_DIR}/${LYX_CMAKE_DIR}/LyX_description.txt")
44 set(CPACK_RESOURCE_FILE_LICENSE "${TOP_SRC_DIR}/${LYX_CMAKE_DIR}/LyX_license.txt")
45
46 # Use the revision number saved in ${LYX_PACKAGE_RELEASE}
47 # as the release in rpm-package-build.
48 # This way we maycan omit the otherwise needed "--force" parameter when
49 # installing from that rpm package.
50 set(CPACK_RPM_PACKAGE_RELEASE ${LYX_PACKAGE_RELEASE})
51 set(CPACK_PACKAGE_VERSION_PATCH ${LYX_REVISION_VERSION})
52
53 # we do not have a readme or welcome data,
54 # so we do not provide infofiles for
55 # CPACK_RESOURCE_FILE_README and CPACK_RESOURCE_FILE_WELCOME
56
57 # sources
58 set(CPACK_SOURCE_INSTALLED_DIRECTORIES "${TOP_SRC_DIR};/") # http://www.mail-archive.com/cmake@cmake.org/msg33720.html
59
60
61 set(CPACK_STRIP_FILES 1)
62
63 # Finaly give some hints about files not to be included in source package
64 SET(CPACK_SOURCE_IGNORE_FILES
65 "/CVS/"
66 "/\\\\.svn/"
67 "/\\\\.bzr/"
68 "/\\\\.hg/"
69 "/\\\\.git/"
70 "/\\\\.project$"
71 "/\\\\.cproject$"
72 "/\\\\.history$"
73 "\\\\.#"
74 "\\\\.swp$"
75 "~$"
76 "/#"
77 "/_CPack_Packages/"
78 "/CMakeCache.txt$"
79 "/CPackSourceConfig\\\\.cmake$"
80 "/configCompiler\\\\.h$"
81 "/install_manifest\\\\.txt$"
82 "/cmake_install\\\\.cmake$"
83 "/POTFILES"
84 "\\\\.tar\\\\.gz$"
85 "\\\\.tar\\\\.bz2$"
86 "\\\\.tar\\\\.Z$"
87 "\\\\.deb$"
88 "\\\\.rpm$"
89 "\\\\.rej$"
90 "\\\\.orig$"
91 "/core$"
92 "/CMakeFiles/"
93 "/Makefile\\\\.in$"
94 "/Makefile$"
95 "/autom4te\\\\.cache/"
96 "/\\\\.deps/"
97 "/build/"
98 "/lyx-2\\\\."
99 )
100
101 if(LYX_CPACK)
102         include(CPack)
103 endif()
104
105
106 #Now it is possible to create some packages
107 # cd <BuildDir>
108 # make package
109 #############################################################################################
110 # So, e.g. for variables
111 #    CMAKE_PROJECT_NAME                     : lyx
112 #    CPACK_PACKAGE_VERSION_MAJOR            : 2
113 #    CPACK_PACKAGE_VERSION_MINOR            : 0
114 #    CPACK_PACKAGE_VERSION_PATCH            : 1
115 #    CMAKE_SYSTEM_NAME                      : Linux
116 #    CPACK_BINARY_DEB:BOOL                  : ON
117 #
118 # the package name builds as "lyx-2.0.1-Linux.deb"
119 #
120 ############################## rpm ################################### deb ##################
121 # create    # cpack -G RPM --config CPackConfig.cmake   # cpack -G DEB --config CPackConfig.cmake
122 # creates =># lyx-2.0.1-Linux.rpm                       # lyx-2.0.1-Linux.deb
123 # list      # rpm -qlp lyx-2.0.1-Linux.rpm              # dpkg-deb -c lyx-2.0.1-Linux.deb
124 # install   # rpm -U lyx-2.0.1-Linux.rpm                # dpkg -i lyx-2.0.1-Linux.deb
125 #
126