Package.cmake 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. find_program(LINUXDEPLOY_EXECUTABLE linuxdeploy linuxdeploy-x86_64.AppImage)
  2. find_program(MACDEPLOYQT_EXECUTABLE macdeployqt HINTS "${_qt_bin_dir}")
  3. set(CPACK_GENERATOR)
  4. set(CPACK_PACKAGE_EXECUTABLES qfield;QField)
  5. set(CPACK_PACKAGE_HOMEPAGE_URL "https://qfield.org")
  6. # set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/images/icons/qfield_logo.png")
  7. set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
  8. # set(CPACK_STRIP_FILES TRUE)
  9. set(CPACK_PACKAGE_VERSION_MAJOR ${CMAKE_PROJECT_VERSION_MAJOR})
  10. set(CPACK_PACKAGE_VERSION_MINOR ${CMAKE_PROJECT_VERSION_MINOR})
  11. set(CPACK_PACKAGE_VERSION_PATCH ${CMAKE_PROJECT_VERSION_PATCH})
  12. function(macdeployqt bundle targetdir _PACKAGER)
  13. file(GENERATE OUTPUT ${CMAKE_BINARY_DIR}/CPackMacDeployQt-${_PACKAGER}.cmake
  14. CONTENT "execute_process(COMMAND \"${MACDEPLOYQT_EXECUTABLE}\" \"${CPACK_PACKAGE_DIRECTORY}/_CPack_Packages/Darwin/${_PACKAGER}/${targetdir}/${bundle}\" -always-overwrite)")
  15. install(SCRIPT ${CMAKE_BINARY_DIR}/CPackMacDeployQt-${_PACKAGER}.cmake COMPONENT Runtime)
  16. include(InstallRequiredSystemLibraries)
  17. endfunction()
  18. if(WIN32)
  19. # message(STATUS " + WIX YES ")
  20. # set(CPACK_WIX_UPGRADE_GUID 357E1535-9094-4550-8B42-D01EFD885686)
  21. # set(CPACK_WIX_PRODUCT_ICON we need a ico)
  22. # set(CPACK_WIX_PRODUCT_LOGO "${CMAKE_SOURCE_DIR}/images/icons/qfield_logo.png")
  23. # set(CPACK_WIX_TEMPLATE "${CMAKE_SOURCE_DIR}/cmake/windows/template.wxs.in")
  24. # set(CPACK_WIX_EXTRA_SOURCES "${CMAKE_SOURCE_DIR}/cmake/windows/shortcuts.wxs")
  25. # set(CPACK_GENERATOR "WIX")
  26. message(STATUS " + NSIS YES ")
  27. list(APPEND CPACK_GENERATOR "NSIS")
  28. endif()
  29. get_target_property(qmake_executable Qt5::qmake IMPORTED_LOCATION)
  30. set(CPACK_OUTPUT_CONFIG_FILE "${CMAKE_BINARY_DIR}/BundleConfig.cmake")
  31. set(CPACK_PACKAGE_INSTALL_DIRECTORY "${PROJECT_NAME}")
  32. set(CPACK_PACKAGE_DIRECTORY "${CMAKE_BINARY_DIR}")
  33. set(CPACK_PACKAGING_INSTALL_PREFIX "/usr")
  34. add_custom_target(bundle
  35. COMMAND ${CMAKE_CPACK_COMMAND} "--config" "${CMAKE_BINARY_DIR}/BundleConfig.cmake"
  36. COMMENT "Running CPACK. Please wait..."
  37. DEPENDS qfield)
  38. # Qt IFW packaging framework
  39. if(BINARYCREATOR_EXECUTABLE)
  40. list(APPEND CPACK_GENERATOR IFW)
  41. message(STATUS " + Qt Installer Framework YES ")
  42. else()
  43. message(STATUS " + Qt Installer Framework NO ")
  44. endif()
  45. if(LINUXDEPLOY_EXECUTABLE)
  46. message(STATUS " + AppImage YES ")
  47. set(CPACK_GENERATOR "External;${CPACK_GENERATOR}")
  48. configure_file(${CMAKE_CURRENT_SOURCE_DIR}/platform/linux/CPackLinuxDeployQt.cmake.in "${CMAKE_BINARY_DIR}/CPackExternal.cmake")
  49. set(CPACK_EXTERNAL_PACKAGE_SCRIPT "${CMAKE_BINARY_DIR}/CPackExternal.cmake")
  50. else()
  51. message(STATUS " + AppImage NO ")
  52. endif()
  53. include(CPack)