linux-uos.cmake 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. # linux-uos.cmake
  2. # 此构建表示,在独立于 Linux 的 Uos 或 Deepin 平台,以此方式构建内容
  3. # 1. 主要用于规范化构建,并使用项目中准备好的目录结构进行构建
  4. # 2. 安装内容
  5. # 1. 起始路径要求: /opt/apps/<appid>/
  6. # 2. 系统路径要求: entries
  7. # 1. icon、applications、metadata 等位于 entries
  8. # 3. 文件部分要求: files
  9. # 1. Notepad-- 位于 files
  10. # 2. themes 位于 files
  11. # 3. plugin 位于 files
  12. # /.
  13. # /opt
  14. # /opt/apps
  15. # /opt/apps/com.hmja.notepad
  16. # /opt/apps/com.hmja.notepad/entries
  17. # /opt/apps/com.hmja.notepad/entries/applications
  18. # /opt/apps/com.hmja.notepad/entries/applications/com.hmja.notepad.desktop
  19. # /opt/apps/com.hmja.notepad/entries/icons
  20. # /opt/apps/com.hmja.notepad/entries/icons/hicolor
  21. # /opt/apps/com.hmja.notepad/entries/icons/hicolor/scalable
  22. # /opt/apps/com.hmja.notepad/entries/icons/hicolor/scalable/apps
  23. # /opt/apps/com.hmja.notepad/entries/icons/hicolor/scalable/apps/ndd.svg
  24. # /opt/apps/com.hmja.notepad/files
  25. # /opt/apps/com.hmja.notepad/files/Notepad--
  26. # /opt/apps/com.hmja.notepad/files/themes
  27. # /opt/apps/com.hmja.notepad/files/themes/....
  28. # /opt/apps/com.hmja.notepad/info
  29. option(USE_LINUX_UOS "为 Linux Uos 生成规范的软件包" OFF)
  30. if(USE_LINUX_UOS)
  31. # 一些相关的信息,用标准结构定义
  32. set(UOS_APP_ID "com.hmja.notepad")
  33. set(UOS_APP_HOME_DIR "/opt/apps/${UOS_APP_ID}")
  34. set(UOS_APP_HOME_ENTRY_DIR "${UOS_APP_HOME_DIR}/entries")
  35. set(UOS_APP_HOME_FILES_DIR "${UOS_APP_HOME_DIR}/files")
  36. set(UOS_APP_HOME_INFO_FILE "${UOS_APP_HOME_DIR}/info")
  37. # 当使用 Linux 构建应用时,可执行程序的资源文件应该存放在此处
  38. set(LINUX_UOS_APP_HOME_DIR ${UOS_APP_HOME_DIR})
  39. include(cmake/SparkInstallMacrosConfig.cmake)
  40. # ------------------ 部署应用目录结构 ------------------ #
  41. # 1. 将项目内准备的 Uos 应用目录安装到 /opt/apps/ 中
  42. spark_install_directory(/opt/apps/
  43. cmake/platforms/linux/uos/${UOS_APP_HOME_DIR}
  44. )
  45. # ------------------ 构建与资源文件安装 ------------------ #
  46. # 1. 安装可执行文件到 files 目录
  47. spark_install_target(${UOS_APP_HOME_FILES_DIR}
  48. ${PROJECT_NAME}
  49. )
  50. # 2. 安装 themes 目录到 files 目录
  51. spark_install_directory(${UOS_APP_HOME_FILES_DIR}
  52. src/themes
  53. )
  54. # ------------------ 最终打包 deb 部分 ------------------ #
  55. # 1. 为即将构建的 Uos 增加 Uos 后缀
  56. # set(PACKAGE_SUFFIX "_onlyUos")
  57. # 2. 使用同样来自 debian 系列的 deb 构建能力
  58. find_package(DebPackage PATHS ${CMAKE_SOURCE_DIR})
  59. add_package_descript(cmake/package-deb.descript)
  60. endif(USE_LINUX_UOS)