Notepad--.cmake 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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_Core5Compat(${PROJECT_NAME}) # 兼容性: Qt6 可使用 Core5Compat 少量更改 Qt5 部分
  28. target_link_qt6_PrintSupport(${PROJECT_NAME})
  29. # target_link_qt6_XmlPatterns(${PROJECT_NAME}) # Bug 初期配置时无此依赖要求
  30. else()
  31. target_link_qt5_PrintSupport(${PROJECT_NAME})
  32. target_link_qt5_XmlPatterns(${PROJECT_NAME})
  33. endif(USE_QT6)
  34. endif(TRUE)
  35. # ----------------- Notepad-- 插件支持相关 ----------------- #
  36. if(TRUE)
  37. # 开启插件支持 - 此处废弃,并由构建宏支持部分处理
  38. # target_compile_definitions(${PROJECT_NAME} PUBLIC NO_PLUGIN)
  39. # 其它有关插件的部分处理...
  40. endif(TRUE)
  41. # Notepad-- 目标在构建时依赖了一些其它内容,像先前构建的 QSci 目标、Qt5::XmlPatterns
  42. # Notepad-- 程序构建...配置
  43. # ----------------- Notepad-- 构建宏支持相关 ----------------- #
  44. if(WIN32)
  45. # 在 Windows 中构建时,需要关注此库的构建形式,QScintilla 应该以何种方式编译
  46. target_compile_definitions(${PROJECT_NAME}
  47. PRIVATE
  48. NO_PLUGIN # 开启插件支持
  49. QSCINTILLA_DLL # 目前在 Windows 中使用 QSci 库时应该采用 Q_DECL_IMPORT
  50. # 控制 QSCINTILLA_EXPORT 符号应为 Q_DECL_IMPORT
  51. )
  52. endif(WIN32)
  53. if(UNIX)
  54. # 在 Windows 中构建时,需要关注此库的构建形式,QScintilla 应该以何种方式编译
  55. target_compile_definitions(${PROJECT_NAME}
  56. PRIVATE
  57. NO_PLUGIN # 开启插件支持
  58. )
  59. endif(UNIX)