mirror of https://gitee.com/cxasm/notepad--.git
73 lines
2.7 KiB
CMake
73 lines
2.7 KiB
CMake
|
# linux-uos.cmake
|
||
|
|
||
|
# 此构建表示,在独立于 Linux 的 Uos 或 Deepin 平台,以此方式构建内容
|
||
|
# 1. 主要用于规范化构建,并使用项目中准备好的目录结构进行构建
|
||
|
# 2. 安装内容
|
||
|
# 1. 起始路径要求: /opt/apps/<appid>/
|
||
|
# 2. 系统路径要求: entries
|
||
|
# 1. icon、applications、metadata 等位于 entries
|
||
|
# 3. 文件部分要求: files
|
||
|
# 1. Notepad-- 位于 files
|
||
|
# 2. themes 位于 files
|
||
|
# 3. plugin 位于 files
|
||
|
|
||
|
# /.
|
||
|
# /opt
|
||
|
# /opt/apps
|
||
|
# /opt/apps/com.hmja.notepad
|
||
|
# /opt/apps/com.hmja.notepad/entries
|
||
|
# /opt/apps/com.hmja.notepad/entries/applications
|
||
|
# /opt/apps/com.hmja.notepad/entries/applications/com.hmja.notepad.desktop
|
||
|
# /opt/apps/com.hmja.notepad/entries/icons
|
||
|
# /opt/apps/com.hmja.notepad/entries/icons/hicolor
|
||
|
# /opt/apps/com.hmja.notepad/entries/icons/hicolor/scalable
|
||
|
# /opt/apps/com.hmja.notepad/entries/icons/hicolor/scalable/apps
|
||
|
# /opt/apps/com.hmja.notepad/entries/icons/hicolor/scalable/apps/ndd.svg
|
||
|
# /opt/apps/com.hmja.notepad/files
|
||
|
# /opt/apps/com.hmja.notepad/files/Notepad--
|
||
|
# /opt/apps/com.hmja.notepad/files/themes
|
||
|
# /opt/apps/com.hmja.notepad/files/themes/....
|
||
|
# /opt/apps/com.hmja.notepad/info
|
||
|
|
||
|
option(USE_LINUX_UOS "为 Linux Uos 生成规范的软件包" OFF)
|
||
|
|
||
|
if(USE_LINUX_UOS)
|
||
|
|
||
|
# 一些相关的信息,用标准结构定义
|
||
|
set(UOS_APP_ID "com.hmja.notepad")
|
||
|
set(UOS_APP_HOME_DIR "/opt/apps/${UOS_APP_ID}")
|
||
|
set(UOS_APP_HOME_ENTRY_DIR "${UOS_APP_HOME_DIR}/entries")
|
||
|
set(UOS_APP_HOME_FILES_DIR "${UOS_APP_HOME_DIR}/files")
|
||
|
set(UOS_APP_HOME_INFO_FILE "${UOS_APP_HOME_DIR}/info")
|
||
|
|
||
|
# 当使用 Linux 构建应用时,可执行程序的资源文件应该存放在此处
|
||
|
set(LINUX_UOS_APP_HOME_DIR ${UOS_APP_HOME_DIR})
|
||
|
|
||
|
include(cmake/SparkInstallMacrosConfig.cmake)
|
||
|
|
||
|
# ------------------ 部署应用目录结构 ------------------ #
|
||
|
# 1. 将项目内准备的 Uos 应用目录安装到 /opt/apps/ 中
|
||
|
spark_install_directory(/opt/apps/
|
||
|
cmake/platforms/linux/uos/${UOS_APP_HOME_DIR}
|
||
|
)
|
||
|
|
||
|
# ------------------ 构建与资源文件安装 ------------------ #
|
||
|
# 1. 安装可执行文件到 files 目录
|
||
|
spark_install_target(${UOS_APP_HOME_FILES_DIR}
|
||
|
${PROJECT_NAME}
|
||
|
)
|
||
|
# 2. 安装 themes 目录到 files 目录
|
||
|
spark_install_directory(${UOS_APP_HOME_FILES_DIR}
|
||
|
src/themes
|
||
|
)
|
||
|
|
||
|
# ------------------ 最终打包 deb 部分 ------------------ #
|
||
|
# 1. 为即将构建的 Uos 增加 Uos 后缀
|
||
|
set(PACKAGE_SUFFIX "_Uos")
|
||
|
|
||
|
# 2. 使用同样来自 debian 系列的 deb 构建能力
|
||
|
find_package(DebPackage PATHS ${CMAKE_SOURCE_DIR})
|
||
|
add_package_descript(cmake/package-deb.descript)
|
||
|
|
||
|
endif(USE_LINUX_UOS)
|