Notepad--.cmake 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. # Notepad--.cmake
  2. # Notepad-- 核心构建
  3. # 在模块化构建中,这个部分代表着构建 Notepad--
  4. # 1. 默认构建时产出的目标为 Notepad--
  5. # 2. 在此处可对 Notepad-- 目标进行详细的构建计划
  6. # Notepad-- 版本配置
  7. configure_file(cmake/modules/config.h.in
  8. ${CMAKE_BINARY_DIR}/config.h @ONLY)
  9. if(TRUE)
  10. # 准备构建 Notepad-- 主程序
  11. set(QRC_SOURCES src/RealCompare.qrc)
  12. spark_add_executable_path(${PROJECT_NAME}
  13. ${PROJECT_SOURCE_DIR}/src
  14. ${PROJECT_SOURCE_DIR}/src/cceditor
  15. ${PROJECT_SOURCE_DIR}/src/utils
  16. ${QRC_SOURCES})
  17. target_include_directories(${PROJECT_NAME} PRIVATE
  18. ${PROJECT_SOURCE_DIR}/src
  19. ${PROJECT_SOURCE_DIR}/src/cceditor
  20. ${PROJECT_SOURCE_DIR}/src/qscint/src
  21. ${PROJECT_SOURCE_DIR}/src/qscint/src/Qsci
  22. ${PROJECT_SOURCE_DIR}/src/qscint/scintilla/src
  23. ${PROJECT_SOURCE_DIR}/src/qscint/scintilla/include
  24. ${PROJECT_SOURCE_DIR}/src/qscint/scintilla/lexlib
  25. ${PROJECT_SOURCE_DIR}/src/qscint/scintilla/boostregex
  26. )
  27. # target_link_libraries(${PROJECT_NAME} QSci)
  28. target_link_QSci(${PROJECT_NAME})
  29. if(USE_QT6)
  30. target_link_qt6_Core5Compat(${PROJECT_NAME}) # 兼容性: Qt6 可使用 Core5Compat 少量更改 Qt5 部分
  31. target_link_qt6_PrintSupport(${PROJECT_NAME})
  32. # target_link_qt6_XmlPatterns(${PROJECT_NAME}) # Bug 初期配置时无此依赖要求
  33. else()
  34. target_link_qt5_PrintSupport(${PROJECT_NAME})
  35. target_link_qt5_XmlPatterns(${PROJECT_NAME})
  36. endif(USE_QT6)
  37. endif(TRUE)
  38. # ----------------- Notepad-- 插件支持相关 ----------------- #
  39. if(TRUE)
  40. # 开启插件支持 - 此处废弃,并由构建宏支持部分处理
  41. # target_compile_definitions(${PROJECT_NAME} PUBLIC NO_PLUGIN)
  42. # 其它有关插件的部分处理...
  43. endif(TRUE)
  44. # Notepad-- 目标在构建时依赖了一些其它内容,像先前构建的 QSci 目标、Qt5::XmlPatterns
  45. # Notepad-- 程序构建...配置
  46. # ----------------- Notepad-- 构建宏支持相关 ----------------- #
  47. # 在 Windows 中构建时,需要关注此库的构建形式,QScintilla 应该以何种方式编译
  48. target_compile_definitions(${PROJECT_NAME}
  49. PRIVATE
  50. NO_PLUGIN # 开启插件支持
  51. )
  52. # 添加 Notepad-- 目标属性与生成器调试信息
  53. spark_cmake_debug(
  54. ">>>>>>>>>>>>>>>>>>>>>>>>>>> Notepad-- CMake Debug <<<<<<<<<<<<<<<<<<<<<<<<<<<"
  55. "Notepad-- LINK_LIBRARIES: $<TARGET_PROPERTY:Notepad--,LINK_LIBRARIES>"
  56. "Notepad-- COMPILE_DEFINITIONS: $<TARGET_PROPERTY:Notepad--,COMPILE_DEFINITIONS>"
  57. "Notepad-- INTERFACE: $<TARGET_PROPERTY:Notepad--,INTERFACE>"
  58. "Notepad-- TARGET_FILE_BASE_NAME: $<TARGET_FILE_BASE_NAME:Notepad-->"
  59. "Notepad-- TARGET_FILE_NAME: $<TARGET_FILE_NAME:Notepad-->"
  60. ">>>>>>>>>>>>>>>>>>>>>>>>>>> Notepad-- CMake Debug <<<<<<<<<<<<<<<<<<<<<<<<<<<"
  61. )