X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=development%2Fcmake%2FLyxPackaging.cmake;h=1ae425cc8e3c0515e84ba6a2a5ddce3b2f8ec33b;hb=7796ad3a3686694733b936076a3086f8d275f64b;hp=43545e2bdd8a9474e8e39fb4cb4d3fcf511bc92f;hpb=b1a409be979fe1a70caca4c8a01d2176a1dfcffe;p=lyx.git diff --git a/development/cmake/LyxPackaging.cmake b/development/cmake/LyxPackaging.cmake index 43545e2bdd..1ae425cc8e 100644 --- a/development/cmake/LyxPackaging.cmake +++ b/development/cmake/LyxPackaging.cmake @@ -6,6 +6,8 @@ if(LYX_BUNDLE) if(APPLE) set(CPACK_GENERATOR DragNDrop) + set(CPACK_DMG_BACKGROUND_IMAGE "${TOP_CMAKE_PATH}/../MacOSX/dmg-background.png") + set(CPACK_DMG_DS_STORE "${CMAKE_BINARY_DIR}/ds_store/.DS_Store") elseif(UNIX) set(CPACK_GENERATOR STGZ) elseif(WIN32) @@ -17,25 +19,69 @@ endif() # (Ignores the top project) if(APPLE) # true on all systems whre __APPLE__ is defined in header files - set(CPACK_PACKAGE_NAME LyX) + set(CPACK_PACKAGE_NAME "LyX${LYX_MAJOR_VERSION}${LYX_MINOR_VERSION}") elseif(UNIX) # True also for cygwin - set(CPACK_PACKAGE_NAME lyx) + set(CPACK_PACKAGE_NAME "lyx${LYX_MAJOR_VERSION}${LYX_MINOR_VERSION}") else() - set(CPACK_PACKAGE_NAME LyX) + set(CPACK_PACKAGE_NAME "LyX${LYX_MAJOR_VERSION}${LYX_MINOR_VERSION}") endif() set(CPACK_PACKAGE_VERSION_MAJOR "${LYX_MAJOR_VERSION}") set(CPACK_PACKAGE_VERSION_MINOR "${LYX_MINOR_VERSION}") -FILE(STRINGS "${TOP_SRC_DIR}/${LYX_CMAKE_DIR}/LyX_summary.txt" CPACK_PACKAGE_DESCRIPTION_SUMMARY) +FILE(STRINGS "${TOP_CMAKE_PATH}/LyX_summary.txt" CPACK_PACKAGE_DESCRIPTION_SUMMARY) set(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${LYX_INSTALL_SUFFIX}") -# -# needed by rpm -set(CPACK_SET_DESTDIR "ON") -FILE(READ "${TOP_SRC_DIR}/${LYX_CMAKE_DIR}/LyX_license.txt" CPACK_RPM_PACKAGE_LICENSE) +if (APPLE) + # We don't need absolute paths + set(CPACK_SET_DESTDIR "OFF") +elseif(WIN32) + set(CPACK_GENERATOR ZIP) + set(CPACK_BINARY_ZIP 1) + if(MINGW) + get_filename_component(MINGW_BIN_PATH ${CMAKE_CXX_COMPILER} PATH) + if(LYX_XMINGW) + get_filename_component(mingw_name ${LYX_XMINGW} NAME) + set(MINGW_BIN_PATH ${MINGW_BIN_PATH}/../${mingw_name}/lib) + endif() + if(EXISTS ${MINGW_BIN_PATH}/libgcc_s_sjlj-1.dll) + list(APPEND runtime ${MINGW_BIN_PATH}/libgcc_s_sjlj-1.dll) + elseif(EXISTS ${MINGW_BIN_PATH}/libgcc_s_seh-1.dll) + list(APPEND runtime ${MINGW_BIN_PATH}/libgcc_s_seh-1.dll) + elseif(EXISTS ${MINGW_BIN_PATH}/libgcc_s_dw2-1.dll) + list(APPEND runtime ${MINGW_BIN_PATH}/libgcc_s_dw2-1.dll) + endif() + if(EXISTS ${MINGW_BIN_PATH}/libstdc++-6.dll) + list(APPEND runtime ${MINGW_BIN_PATH}/libstdc++-6.dll) + endif() + if(EXISTS ${MINGW_BIN_PATH}/libwinpthread-1.dll) + list(APPEND runtime ${MINGW_BIN_PATH}/libwinpthread-1.dll) + endif() + if(NOT runtime) + message(FATAL_ERROR "No mingw runtime found in ${MINGW_BIN_PATH}") + endif() + + install(FILES + ${runtime} + ${QT_BINARY_DIR}/QtCore4.dll + ${QT_BINARY_DIR}/QtGui4.dll + ${QT_BINARY_DIR}/QtNetwork4.dll + ${QT_PLUGINS_DIR}/imageformats/qgif4.dll + ${QT_PLUGINS_DIR}/imageformats/qico4.dll + ${QT_PLUGINS_DIR}/imageformats/qmng4.dll + ${QT_PLUGINS_DIR}/imageformats/qsvg4.dll + ${QT_PLUGINS_DIR}/imageformats/qtga4.dll + ${QT_PLUGINS_DIR}/imageformats/qtiff4.dll + DESTINATION bin CONFIGURATIONS Release) + endif() +else() + # needed by rpm + set(CPACK_SET_DESTDIR "ON") +endif() + +FILE(READ "${TOP_CMAKE_PATH}/LyX_license.txt" CPACK_RPM_PACKAGE_LICENSE) set(CPACK_RPM_PACKAGE_GROUP "Applications/Publishing") set(CPACK_RPM_PACKAGE_VENDOR "The LyX team") # @@ -51,8 +97,8 @@ set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) # # for the next ones, cpack insists on data with values in some file -set(CPACK_PACKAGE_DESCRIPTION_FILE "${TOP_SRC_DIR}/${LYX_CMAKE_DIR}/LyX_description.txt") -set(CPACK_RESOURCE_FILE_LICENSE "${TOP_SRC_DIR}/${LYX_CMAKE_DIR}/LyX_license.txt") +set(CPACK_PACKAGE_DESCRIPTION_FILE "${TOP_CMAKE_PATH}/LyX_description.txt") +set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING") # Use the revision number saved in ${LYX_PACKAGE_RELEASE} # as the release in rpm-package-build.