Notepad--.cmake 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. # Notepad--.cmake
  2. # Notepad-- 核心构建
  3. # 在模块化构建中,这个部分代表着构建 Notepad--
  4. # 1. 默认构建时产出的目标为 Notepad--
  5. # 2. 在此处可对 Notepad-- 目标进行详细的构建计划
  6. if(TRUE)
  7. # 准备构建 Notepad-- 主程序
  8. set(QRC_SOURCES src/RealCompare.qrc)
  9. spark_aux_source_paths(CCEditorSources
  10. src
  11. src/cceditor
  12. )
  13. spark_add_executable(${PROJECT_NAME} ${CCEditorSources} ${QRC_SOURCES})
  14. target_include_directories(${PROJECT_NAME} PRIVATE
  15. ${PROJECT_SOURCE_DIR}/src
  16. ${PROJECT_SOURCE_DIR}/src/cceditor
  17. ${PROJECT_SOURCE_DIR}/src/qscint/src
  18. ${PROJECT_SOURCE_DIR}/src/qscint/src/Qsci
  19. ${PROJECT_SOURCE_DIR}/src/qscint/scintilla/src
  20. ${PROJECT_SOURCE_DIR}/src/qscint/scintilla/include
  21. ${PROJECT_SOURCE_DIR}/src/qscint/scintilla/lexlib
  22. ${PROJECT_SOURCE_DIR}/src/qscint/scintilla/boostregex
  23. )
  24. # target_link_libraries(${PROJECT_NAME} QSci)
  25. target_link_QSci(${PROJECT_NAME})
  26. if(USE_QT6)
  27. target_link_qt6_PrintSupport(${PROJECT_NAME})
  28. target_link_qt6_XmlPatterns(${PROJECT_NAME})
  29. else()
  30. target_link_qt5_PrintSupport(${PROJECT_NAME})
  31. target_link_qt5_XmlPatterns(${PROJECT_NAME})
  32. endif(USE_QT6)
  33. endif(TRUE)
  34. # ----------------- Notepad-- 插件支持相关 ----------------- #
  35. if(TRUE)
  36. # 开启插件支持 - 此处废弃,并由构建宏支持部分处理
  37. # target_compile_definitions(${PROJECT_NAME} PUBLIC NO_PLUGIN)
  38. # 其它有关插件的部分处理...
  39. endif(TRUE)
  40. # Notepad-- 目标在构建时依赖了一些其它内容,像先前构建的 QSci 目标、Qt5::XmlPatterns
  41. # Notepad-- 程序构建...配置
  42. # ----------------- Notepad-- 构建宏支持相关 ----------------- #
  43. if(WIN32)
  44. # 在 Windows 中构建时,需要关注此库的构建形式,QScintilla 应该以何种方式编译
  45. target_compile_definitions(${PROJECT_NAME}
  46. PRIVATE
  47. NO_PLUGIN # 开启插件支持
  48. QSCINTILLA_DLL # 目前在 Windows 中使用 QSci 库时应该采用 Q_DECL_IMPORT
  49. # 控制 QSCINTILLA_EXPORT 符号应为 Q_DECL_IMPORT
  50. )
  51. endif(WIN32)
  52. if(UNIX)
  53. # 在 Windows 中构建时,需要关注此库的构建形式,QScintilla 应该以何种方式编译
  54. target_compile_definitions(${PROJECT_NAME}
  55. PRIVATE
  56. NO_PLUGIN # 开启插件支持
  57. )
  58. endif(UNIX)