4 # http://cmake.org/cmake/help/cmake-2-8-docs.html#module:CPack
8 set(CPACK_GENERATOR DragNDrop)
9 set(CPACK_DMG_BACKGROUND_IMAGE "${TOP_CMAKE_PATH}/../MacOSX/dmg-background.png")
10 set(CPACK_DMG_DS_STORE "${CMAKE_BINARY_DIR}/ds_store/.DS_Store")
12 set(CPACK_GENERATOR STGZ)
14 set(CPACK_GENERATOR ZIP)
18 # Overwrite package name dependent on platform
19 # (Ignores the top project)
21 # true on all systems whre __APPLE__ is defined in header files
22 set(CPACK_PACKAGE_NAME "LyX${LYX_MAJOR_VERSION}${LYX_MINOR_VERSION}")
24 # True also for cygwin
25 set(CPACK_PACKAGE_NAME "lyx${LYX_MAJOR_VERSION}${LYX_MINOR_VERSION}")
27 set(CPACK_PACKAGE_NAME "LyX${LYX_MAJOR_VERSION}${LYX_MINOR_VERSION}")
30 set(CPACK_PACKAGE_VERSION_MAJOR "${LYX_MAJOR_VERSION}")
31 set(CPACK_PACKAGE_VERSION_MINOR "${LYX_MINOR_VERSION}")
32 FILE(STRINGS "${TOP_CMAKE_PATH}/LyX_summary.txt" CPACK_PACKAGE_DESCRIPTION_SUMMARY)
35 set(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${LYX_INSTALL_SUFFIX}")
38 # We don't need absolute paths
39 set(CPACK_SET_DESTDIR "OFF")
41 set(CPACK_GENERATOR ZIP)
42 set(CPACK_BINARY_ZIP 1)
46 execute_process(COMMAND ${CMAKE_CXX_COMPILER} -print-libgcc-file-name OUTPUT_VARIABLE GCC_LIBGCC OUTPUT_STRIP_TRAILING_WHITESPACE)
48 set(GCC_LIBGCC ${CMAKE_CXX_COMPILER})
52 # get_filename_component(MINGW_RUNTIME_PATH ${GCC_LIBGCC} PATH)
53 set(MINGW_RUNTIME_PATH "/usr/i686-w64-mingw32/sys-root/mingw/bin")
54 macro(add_runtime_dll _DLL)
55 file(GLOB GCC_RUNTIME ${MINGW_RUNTIME_PATH}/${_DLL})
56 list(APPEND runtime ${GCC_RUNTIME})
58 add_runtime_dll(iconv.dll)
59 add_runtime_dll(libgcc*.dll)
60 add_runtime_dll(libstd*.dll)
61 add_runtime_dll(libwin*.dll)
62 add_runtime_dll(libbz2-1.dll)
63 add_runtime_dll(libfreetype-6.dll)
64 add_runtime_dll(libglib-2.0-0.dll)
65 add_runtime_dll(libgraphite2.dll)
66 add_runtime_dll(libharfbuzz-0.dll)
67 add_runtime_dll(libicudt6*.dll)
68 add_runtime_dll(libicuin6*.dll)
69 add_runtime_dll(libicuuc6*.dll)
70 add_runtime_dll(libintl-8.dll)
71 add_runtime_dll(libjpeg-62.dll)
72 add_runtime_dll(libpcre-1.dll)
73 add_runtime_dll(libpcre2-16-0.dll)
74 add_runtime_dll(libpng16-16.dll)
75 add_runtime_dll(libtiff-5.dll)
76 add_runtime_dll(libwebp-7.dll)
77 add_runtime_dll(libwebpdemux-2.dll)
78 add_runtime_dll(zlib1.dll)
81 message(FATAL_ERROR "No mingw runtime found in ${MINGW_RUNTIME_PATH}")
84 if(LYX_USE_QT MATCHES "QT5")
85 get_target_property(qmakebin Qt5::qmake IMPORTED_LOCATION)
87 # get_filename_component(QT_BINARY_DIR ${qmakebin} PATH)
88 set(QT_BINARY_DIR "/usr/i686-w64-mingw32/sys-root/mingw/bin")
91 ${QT_BINARY_DIR}/Qt5Core.dll
92 ${QT_BINARY_DIR}/Qt5Network.dll
93 ${QT_BINARY_DIR}/Qt5Gui.dll
94 ${QT_BINARY_DIR}/Qt5Widgets.dll
95 ${QT_BINARY_DIR}/Qt5Concurrent.dll
96 ${QT_BINARY_DIR}/Qt5OpenGL.dll
97 ${QT_BINARY_DIR}/Qt5PrintSupport.dll
98 ${QT_BINARY_DIR}/Qt5Svg.dll
99 ${QT_BINARY_DIR}/Qt5WinExtras.dll
102 ${QT_BINARY_DIR}/../lib/qt5/plugins/platforms/qminimal.dll
103 ${QT_BINARY_DIR}/../lib/qt5/plugins/platforms/qwindows.dll
104 DESTINATION bin/platforms)
106 ${QT_BINARY_DIR}/../lib/qt5/plugins/printsupport/windowsprintersupport.dll
107 DESTINATION bin/printsupport)
109 ${QT_BINARY_DIR}/../lib/qt5/plugins/imageformats/qgif.dll
110 ${QT_BINARY_DIR}/../lib/qt5/plugins/imageformats/qicns.dll
111 ${QT_BINARY_DIR}/../lib/qt5/plugins/imageformats/qico.dll
112 ${QT_BINARY_DIR}/../lib/qt5/plugins/imageformats/qjpeg.dll
113 ${QT_BINARY_DIR}/../lib/qt5/plugins/imageformats/qsvg.dll
114 ${QT_BINARY_DIR}/../lib/qt5/plugins/imageformats/qtga.dll
115 ${QT_BINARY_DIR}/../lib/qt5/plugins/imageformats/qtiff.dll
116 ${QT_BINARY_DIR}/../lib/qt5/plugins/imageformats/qwbmp.dll
117 ${QT_BINARY_DIR}/../lib/qt5/plugins/imageformats/qwebp.dll
118 DESTINATION bin/imageformats)
120 ${QT_BINARY_DIR}/../lib/qt5/plugins/styles/qwindowsvistastyle.dll
121 DESTINATION bin/styles)
123 ${QT_BINARY_DIR}/../lib/qt5/plugins/iconengines/qsvgicon.dll
124 DESTINATION bin/iconengines)
128 ${QT_BINARY_DIR}/QtCore4.dll
129 ${QT_BINARY_DIR}/QtGui4.dll
130 ${QT_BINARY_DIR}/QtNetwork4.dll
131 ${QT_PLUGINS_DIR}/imageformats/qgif4.dll
132 ${QT_PLUGINS_DIR}/imageformats/qico4.dll
133 ${QT_PLUGINS_DIR}/imageformats/qmng4.dll
134 ${QT_PLUGINS_DIR}/imageformats/qsvg4.dll
135 ${QT_PLUGINS_DIR}/imageformats/qtga4.dll
136 ${QT_PLUGINS_DIR}/imageformats/qtiff4.dll
142 set(CPACK_SET_DESTDIR "ON")
145 FILE(READ "${TOP_CMAKE_PATH}/LyX_license.txt" CPACK_RPM_PACKAGE_LICENSE)
146 set(CPACK_RPM_PACKAGE_GROUP "Applications/Publishing")
147 set(CPACK_RPM_PACKAGE_VENDOR "The LyX team")
149 # the next ones are needed by deb
150 set(CPACK_PACKAGE_CONTACT "${PACKAGE_BUGREPORT}")
151 set(CPACK_SOURCE_PACKAGE_FILE_NAME "${LYX_PROJECT}-${LYX_INSTALL_SUFFIX}")
153 # We depend on python scripting
154 set(CPACK_DEBIAN_PACKAGE_DEPENDS "python (>= 2.6)")
156 # use dpkg-shlibdeps to generate additional info for package dependency list.
157 set(CPACK_DEBIAN_PACKAGE_RELEASE ${LYX_PACKAGE_RELEASE})
158 set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
159 set(CPACK_DEBIAN_PACKAGE_DEBUG ON)
162 # for the next ones, cpack insists on data with values in some file
163 set(CPACK_PACKAGE_DESCRIPTION_FILE "${TOP_CMAKE_PATH}/LyX_description.txt")
164 set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING")
166 # Use the revision number saved in ${LYX_PACKAGE_RELEASE}
167 # as the release in rpm-package-build.
168 # This way we maycan omit the otherwise needed "--force" parameter when
169 # installing from that rpm package.
170 set(CPACK_RPM_PACKAGE_RELEASE ${LYX_PACKAGE_RELEASE})
171 set(CPACK_PACKAGE_VERSION_PATCH ${LYX_REVISION_VERSION})
173 # we do not have a readme or welcome data,
174 # so we do not provide infofiles for
175 # CPACK_RESOURCE_FILE_README and CPACK_RESOURCE_FILE_WELCOME
178 set(CPACK_SOURCE_INSTALLED_DIRECTORIES "${TOP_SRC_DIR};/") # http://www.mail-archive.com/cmake@cmake.org/msg33720.html
181 set(CPACK_STRIP_FILES 1)
183 # Finaly give some hints about files not to be included in source package
184 SET(CPACK_SOURCE_IGNORE_FILES
194 "/\\\\.gitattributes$"
204 "/CPackSourceConfig\\\\.cmake$"
205 "/configCompiler\\\\.h$"
206 "/install_manifest\\\\.txt$"
207 "/cmake_install\\\\.cmake$"
220 "/autom4te\\\\.cache/"
226 "/expectedTestFailures$"
227 "/MergedManuals.lyx$"
235 #Now it is possible to create some packages
238 #############################################################################################
239 # So, e.g. for variables
240 # CMAKE_PROJECT_NAME : lyx
241 # CPACK_PACKAGE_VERSION_MAJOR : 2
242 # CPACK_PACKAGE_VERSION_MINOR : 0
243 # CPACK_PACKAGE_VERSION_PATCH : 1
244 # CMAKE_SYSTEM_NAME : Linux
245 # CPACK_BINARY_DEB:BOOL : ON
247 # the package name builds as "lyx-2.0.1-Linux.deb"
249 ############################## rpm ################################### deb ##################
250 # create # cpack -G RPM --config CPackConfig.cmake # cpack -G DEB --config CPackConfig.cmake
251 # creates =># lyx-2.0.1-Linux.rpm # lyx-2.0.1-Linux.deb
252 # list # rpm -qlp lyx-2.0.1-Linux.rpm # dpkg-deb -c lyx-2.0.1-Linux.deb
253 # install # rpm -U lyx-2.0.1-Linux.rpm # dpkg -i lyx-2.0.1-Linux.deb