CMakeLists.txt 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. option(USE_NOTEPAD_PLUGIN "构建 Notepad-- 内部插件" ON)
  2. option(USE_NOTEPAD_PLUGIN_BASE "构建 Notepad-- 内部的插件基础模板" OFF)
  3. if(USE_NOTEPAD_PLUGIN)
  4. if(USE_NOTEPAD_PLUGIN_BASE)
  5. # 默认的测试插件
  6. add_subdirectory(test)
  7. # 被 cmake-plugins-dev 构建的 helloworld 插件
  8. add_subdirectory(helloworld-next)
  9. # 基于源代码构建的系列插件模板
  10. add_subdirectory(template-plugins/base-plugin)
  11. add_subdirectory(template-plugins/base-widget-plugin)
  12. add_subdirectory(template-plugins/base-widget-ui-plugin)
  13. add_subdirectory(template-plugins/base-secondary-menu-plugin)
  14. add_subdirectory(template-plugins/base-secondary-menu-plugin-v1)
  15. add_subdirectory(template-plugins/base-secondary-menu-ui-plugin-v1)
  16. endif(USE_NOTEPAD_PLUGIN_BASE)
  17. # 构建一个简单的基于 framwork 的 framework-helloworld 插件
  18. include(framework/framework.cmake)
  19. # add_framework_plugin [<dir>...] [<file>...]
  20. # 构建一个基于 framework 的插件
  21. # 基于提供的包含源代码文件的的路径,或指定的要构建的源代码
  22. add_framework_plugin(framework-helloworld
  23. framework-plugins/helloworld
  24. )
  25. # 一个最为简单的 framework-hello 插件
  26. add_framework_plugin(framework-hello-simple
  27. ${PROJECT_SOURCE_DIR}/src/utils
  28. framework-plugins/hello-simple
  29. framework-plugins/hello-simple/view
  30. framework-plugins/hello-simple/template
  31. framework-plugins/hello-simple/buildin.qrc)
  32. # 一个使用引用构建的插件
  33. # include(path/to/plugin.cmake)
  34. # 一个 plantuml 预览插件(使用 with_git 引用的在线构建)
  35. # add_framework_plugin_with_git(https://gitee.com/ndd-community/notepad--plugin.plantuml-preview --branch=cmake-plugins-dev)
  36. # 一个简单的 svg 预览插件(使用 with_git 引用的在线构建,它使用了 plantuml 共享的资源定义)
  37. # add_framework_plugin_with_git(https://gitee.com/ndd-community/notepad--plugin.svg-preview --branch=cmake-plugins-dev)
  38. # 一个简单的插件示例,但依赖于外部的 opencc 项目(基于 git)
  39. # add_subdirectory(opencc-demo-plugin)
  40. # # 一个简单的版本更新检查的插件
  41. # add_subdirectory(versionUpdate)
  42. # # 一个简单的可二次扩展的插件
  43. # add_subdirectory(external-plugin)
  44. # # Linux 可构建的插件
  45. # if(UNIX AND NOT APPLE)
  46. # # 一个简单的 Linux 终端插件,但依赖于外部的 lxqt-qterminal
  47. # add_subdirectory(linux-terminal-plugin)
  48. # endif(UNIX AND NOT APPLE)
  49. # # TTS 语音合成
  50. # add_subdirectory(TTS-plugin)
  51. endif(USE_NOTEPAD_PLUGIN)