]> git.lyx.org Git - lyx.git/blob - development/cmake/LyxPackaging.cmake
50de73bdf2a12a4071b675dd4899d081a4f0c29b
[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 # This is experimental, valid on _my_ system (Kornel)
36 set(CPACK_DEBIAN_PACKAGE_DEPENDS "libqtgui4 (>= 4.4.3-0)")
37 if(ASPELL_FOUND)
38         set(CPACK_DEBIAN_PACKAGE_DEPENDS "libaspell15 (>= 0.60.6-1),${CPACK_DEBIAN_PACKAGE_DEPENDS}")
39 endif()
40 if(ENCHANT_FOUND)
41         set(CPACK_DEBIAN_PACKAGE_DEPENDS "libenchant1c2a (>= 1.6.0-0),${CPACK_DEBIAN_PACKAGE_DEPENDS}")
42 endif()
43 if(LYX_EXTERNAL_BOOST)
44         if(Boost_FOUND)
45                 set(CPACK_DEBIAN_PACKAGE_DEPENDS "libboost-regex1.40.0 (>= 1.40.0-4),libboost-signals1.40.0 (>= 1.40.0-4),${CPACK_DEBIAN_PACKAGE_DEPENDS}")
46         endif()
47 endif()
48 #
49 # for the next ones, cpack insists on data with values in some file
50 set(CPACK_PACKAGE_DESCRIPTION_FILE "${TOP_SRC_DIR}/${LYX_CMAKE_DIR}/LyX_description.txt")
51 set(CPACK_RESOURCE_FILE_LICENSE "${TOP_SRC_DIR}/${LYX_CMAKE_DIR}/LyX_license.txt")
52
53 # Use the revision number saved in ${LYX_PACKAGE_RELEASE}
54 # as the release in rpm-package-build.
55 # This way we maycan omit the otherwise needed "--force" parameter when
56 # installing from that rpm package.
57 set(CPACK_RPM_PACKAGE_RELEASE ${LYX_PACKAGE_RELEASE})
58 set(CPACK_PACKAGE_VERSION_PATCH ${LYX_REVISION_VERSION})
59
60 # we do not have a readme or welcome data,
61 # so we do not provide infofiles for
62 # CPACK_RESOURCE_FILE_README and CPACK_RESOURCE_FILE_WELCOME
63
64 # sources
65 set(CPACK_SOURCE_INSTALLED_DIRECTORIES "${TOP_SRC_DIR};/") # http://www.mail-archive.com/cmake@cmake.org/msg33720.html
66
67
68 set(CPACK_STRIP_FILES 1)
69
70
71
72 if(LYX_CPACK)
73         include(CPack)
74 endif()
75
76
77 #Now it is possible to create some packages
78 # cd <BuildDir>
79 # make package
80 #############################################################################################
81 # So, e.g. for variables
82 #    CMAKE_PROJECT_NAME                     : lyx
83 #    CPACK_PACKAGE_VERSION_MAJOR            : 2
84 #    CPACK_PACKAGE_VERSION_MINOR            : 0
85 #    CPACK_PACKAGE_VERSION_PATCH            : 1
86 #    CMAKE_SYSTEM_NAME                      : Linux
87 #    CPACK_BINARY_DEB:BOOL                  : ON
88 #
89 # the package name builds as "lyx-2.0.1-Linux.deb"
90 #
91 ############################## rpm ################################### deb ##################
92 # create    # cpack -G RPM --config CPackConfig.cmake   # cpack -G DEB --config CPackConfig.cmake
93 # creates =># lyx-2.0.1-Linux.rpm                       # lyx-2.0.1-Linux.deb
94 # list      # rpm -qlp lyx-2.0.1-Linux.rpm              # dpkg-deb -c lyx-2.0.1-Linux.deb
95 # install   # rpm -U lyx-2.0.1-Linux.rpm                # dpkg -i lyx-2.0.1-Linux.deb
96 #
97