# cmake.spark-build-skeleton **Repository Path**: zinface/cmake.spark-build-skeleton ## Basic Information - **Project Name**: cmake.spark-build-skeleton - **Description**: 适用于 cmake 构建的 Spark 概念骨架(模块) - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-08-15 - **Last Updated**: 2024-08-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: cmake-spark ## README # Spark 构建骨架 > 探索具有更现代化设计语言的 cmake 项目构建 ### Spark Modules - [SparkEnvConfig.cmake][SparkEnvConfig.cmake]: :设置一些有关 `QT` 构建的开关 - [SparkMacrosConfig.cmake][SparkMacrosConfig.cmake]: :声明了一些 `spark_` 开头的 `macro` 宏 - [SparkFindLibraries.cmake][SparkFindLibraries.cmake]: :提供了基于 spark_ 宏生成的 target_link_ 用于目标链接 的库 - [SparkFindQt5Config.cmake][SparkFindQt5Config.cmake]: :提供了 `target_link_qt5` 用于目标链接 `qt5` 的库 - [SparkFindQt6Config.cmake][SparkFindQt6Config.cmake]: :提供了 `target_link_qt6` 用于目标链接 `qt6` 的库 - [SparkFindDtkConfig.cmake][SparkFindDtkConfig.cmake]: :提供了 `target_link_dtk` 用于目标链接 `dtk` 的库 - [SparkMacrosExtendConfig.cmake][SparkMacrosExtendConfig.cmake]: :提供了 `SparkMacrosConfig.cmake` 的扩展 - [SparkBuildGraphviz.cmake][SparkBuildGraphviz.cmake]: :提供了参与构建时提供生成 graphviz 的 builddeps 目标 - [SparkDesktopMacros.cmake][SparkDesktopMacros.cmake]: :提供了 `desktop` 文件生成 - [SparkDebPackageConfig.cmake][SparkDebPackageConfig.cmake]: :提供了 `debian` 系列软件包 `deb` 文件的简化生成 - [SparkAppimageConfig.cmake][SparkAppimageConfig.cmake]: :提供了 `AppImage` 独立程序的生成 - [SparkTranslatorConfig.cmake][SparkTranslatorConfig.cmake]: :提供了 `translator_qt[?]` 用于项目的 `ts转qm` 的翻译 - [SparkExternalProject.cmake][SparkExternalProject.cmake]: :提供了基于 `ExternalProject_Add` 封装的外部项目抽象构建 - [SparkFramework.cmake][SparkFramework.cmake]: :提供了 `spark_framework_include[_with_git]` 宏用于引用构建 - [SparkCMakeInfoBeforeConfig.cmake][SparkCMakeInfoBeforeConfig.cmake]: :提供了用于 `project()` 指令前的 cmake 全局信息打印 - [SparkCMakeInfoAfterConfig.cmake][SparkCMakeInfoAfterConfig.cmake]: :提供了用于 `project()` 指令后的 cmake 全局信息打印 [SparkEnvConfig.cmake]: https://gitee.com/zinface/cmake.spark-build-skeleton/blob/master/cmake/SparkEnvConfig.cmake [SparkMacrosConfig.cmake]: https://gitee.com/zinface/cmake.spark-build-skeleton/blob/master/cmake/SparkMacrosConfig.cmake [SparkFindLibraries.cmake]: https://gitee.com/zinface/cmake.spark-build-skeleton/blob/master/cmake/SparkFindLibraries.cmake [SparkFindQt5Config.cmake]: https://gitee.com/zinface/cmake.spark-build-skeleton/blob/master/cmake/SparkFindQt5Config.cmake [SparkFindQt6Config.cmake]: https://gitee.com/zinface/cmake.spark-build-skeleton/blob/master/cmake/SparkFindQt6Config.cmake [SparkFindDtkConfig.cmake]: https://gitee.com/zinface/cmake.spark-build-skeleton/blob/master/cmake/SparkFindDtkConfig.cmake [SparkMacrosExtendConfig.cmake]: https://gitee.com/zinface/cmake.spark-build-skeleton/blob/master/cmake/SparkMacrosExtendConfig.cmake [SparkBuildGraphviz.cmake]: https://gitee.com/zinface/cmake.spark-build-skeleton/blob/master/cmake/SparkBuildGraphviz.cmake [SparkDesktopMacros.cmake]: https://gitee.com/zinface/cmake.spark-build-skeleton/blob/master/cmake/SparkDesktopMacros.cmake [SparkDebPackageConfig.cmake]: https://gitee.com/zinface/cmake.spark-build-skeleton/blob/master/cmake/SparkDebPackageConfig.cmake [SparkAppimageConfig.cmake]: https://gitee.com/zinface/cmake.spark-build-skeleton/blob/master/cmake/SparkAppimageConfig.cmake [SparkTranslatorConfig.cmake]: https://gitee.com/zinface/cmake.spark-build-skeleton/blob/master/cmake/SparkTranslatorConfig.cmake [SparkExternalProject.cmake]: https://gitee.com/zinface/cmake.spark-build-skeleton/blob/master/cmake/SparkExternalProject.cmake [SparkFramework.cmake]: https://gitee.com/zinface/cmake.spark-build-skeleton/blob/master/cmake/SparkFramework.cmake [SparkCMakeInfoBeforeConfig.cmake]: https://gitee.com/zinface/cmake.spark-build-skeleton/blob/master/cmake/SparkCMakeInfoBeforeConfig.cmake [SparkCMakeInfoAfterConfig.cmake]: https://gitee.com/zinface/cmake.spark-build-skeleton/blob/master/cmake/SparkCMakeInfoAfterConfig.cmake ### 构建起点 > 从原始项目到改版项目再到分离出 Spark 构建骨架 - [星火应用商店 Spark-Store][spark-store]: 原始的应用商店项目 - [cmake-spark-store][cmake-spark-store]: 由社区改版的星火应用商店,开始了从原始 qmake 项目到 cmake 构建的探索起点 [spark-store]: https://gitee.com/deepin-community-store/spark-store [cmake-spark-store]: https://gitee.com/spark-community-works-collections/qt.cmake-spark-store/blob/cmake-spark-store/CMakeLists.txt ### 已有采用此构建骨架项目 - [动态图片屏保][picture-screensaver]: 一个适用于深度操作系统的动态图片屏保程序 - [星火商店投稿器][spark-store-submitter]: 一个用于星火商店投稿的专属极品利器 - ... [picture-screensaver]: https://gitee.com/zinface/qt.picture-screensaver [spark-store-submitter]: https://gitee.com/zinface/dcs-submitter