mirror of https://gitee.com/cxasm/notepad--.git
cmake/modules: 重新设计 QScintilla 库构建的宏控制形式
This commit is contained in:
parent
661a165f8e
commit
4a463afbb1
|
@ -185,6 +185,7 @@ macro(add_notepad_plugin PLUGIN_VAR PLUGIN_SRC)
|
||||||
target_link_directories(${PLUGIN_VAR} PUBLIC
|
target_link_directories(${PLUGIN_VAR} PUBLIC
|
||||||
${NOTEPAD_PLUGIN_LIBDIR})
|
${NOTEPAD_PLUGIN_LIBDIR})
|
||||||
target_link_libraries(${PLUGIN_VAR} ${NOTEPAD_PLUGIN_CORELIB})
|
target_link_libraries(${PLUGIN_VAR} ${NOTEPAD_PLUGIN_CORELIB})
|
||||||
|
|
||||||
if(NOTEPAD_BUILD_BY_QT5)
|
if(NOTEPAD_BUILD_BY_QT5)
|
||||||
target_link_libraries(${PLUGIN_VAR} Qt5::Core Qt5::Widgets)
|
target_link_libraries(${PLUGIN_VAR} Qt5::Core Qt5::Widgets)
|
||||||
endif(NOTEPAD_BUILD_BY_QT5)
|
endif(NOTEPAD_BUILD_BY_QT5)
|
||||||
|
@ -195,7 +196,17 @@ macro(add_notepad_plugin PLUGIN_VAR PLUGIN_SRC)
|
||||||
|
|
||||||
# 这是插件实现接口中增加的 NOTEPAD_PLUGIN_MANAGER 宏开关
|
# 这是插件实现接口中增加的 NOTEPAD_PLUGIN_MANAGER 宏开关
|
||||||
# 来处理减少 Notepad-- 在编译时不需要,但在插件编译时所需要的模板内容
|
# 来处理减少 Notepad-- 在编译时不需要,但在插件编译时所需要的模板内容
|
||||||
target_compile_definitions(${PLUGIN_VAR} PUBLIC NOTEPAD_PLUGIN_MANAGER=)
|
if(WIN32)
|
||||||
|
target_compile_definitions(${PLUGIN_VAR}
|
||||||
|
PUBLIC
|
||||||
|
NOTEPAD_PLUGIN_MANAGER
|
||||||
|
QSCINTILLA_DLL # 在 Windows 中使用 QSci 库时应该采用 Q_DECL_IMPORT
|
||||||
|
# 控制 QSCINTILLA_EXPORT 符号应为 Q_DECL_IMPORT
|
||||||
|
)
|
||||||
|
else()
|
||||||
|
target_compile_definitions(${PLUGIN_VAR}
|
||||||
|
PUBLIC NOTEPAD_PLUGIN_MANAGER)
|
||||||
|
endif(WIN32)
|
||||||
|
|
||||||
endmacro(add_notepad_plugin PLUGIN_VAR PLUGIN_SRC)
|
endmacro(add_notepad_plugin PLUGIN_VAR PLUGIN_SRC)
|
||||||
|
|
||||||
|
|
|
@ -32,10 +32,31 @@ endif(TRUE)
|
||||||
|
|
||||||
# ----------------- Notepad-- 插件支持相关 ----------------- #
|
# ----------------- Notepad-- 插件支持相关 ----------------- #
|
||||||
if(TRUE)
|
if(TRUE)
|
||||||
# 开启插件支持
|
# 开启插件支持 - 此处废弃,并由构建宏支持部分处理
|
||||||
target_compile_definitions(${PROJECT_NAME} PUBLIC NO_PLUGIN=0)
|
# target_compile_definitions(${PROJECT_NAME} PUBLIC NO_PLUGIN)
|
||||||
# 其它有关插件的部分处理...
|
# 其它有关插件的部分处理...
|
||||||
endif(TRUE)
|
endif(TRUE)
|
||||||
|
|
||||||
|
|
||||||
# Notepad-- 目标在构建时依赖了一些其它内容,像先前构建的 QSci 目标、Qt5::XmlPatterns
|
# Notepad-- 目标在构建时依赖了一些其它内容,像先前构建的 QSci 目标、Qt5::XmlPatterns
|
||||||
|
# Notepad-- 程序构建...配置
|
||||||
|
|
||||||
|
# ----------------- Notepad-- 构建宏支持相关 ----------------- #
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
# 在 Windows 中构建时,需要关注此库的构建形式,QScintilla 应该以何种方式编译
|
||||||
|
target_compile_definitions(${PROJECT_NAME}
|
||||||
|
PRIVATE
|
||||||
|
NO_PLUGIN # 开启插件支持
|
||||||
|
QSCINTILLA_DLL # 目前在 Windows 中使用 QSci 库时应该采用 Q_DECL_IMPORT
|
||||||
|
# 控制 QSCINTILLA_EXPORT 符号应为 Q_DECL_IMPORT
|
||||||
|
)
|
||||||
|
endif(WIN32)
|
||||||
|
|
||||||
|
if(UNIX)
|
||||||
|
# 在 Windows 中构建时,需要关注此库的构建形式,QScintilla 应该以何种方式编译
|
||||||
|
target_compile_definitions(${PROJECT_NAME}
|
||||||
|
PRIVATE
|
||||||
|
NO_PLUGIN # 开启插件支持
|
||||||
|
)
|
||||||
|
endif(UNIX)
|
||||||
|
|
|
@ -20,7 +20,6 @@ if(TRUE)
|
||||||
# FAIL: only *.ui will spark_file_glob(MOC_HEADER ...)
|
# FAIL: only *.ui will spark_file_glob(MOC_HEADER ...)
|
||||||
)
|
)
|
||||||
spark_add_library(QSci STATIC ${QSciSources} ${MOC_HEADER})
|
spark_add_library(QSci STATIC ${QSciSources} ${MOC_HEADER})
|
||||||
target_compile_definitions(QSci PRIVATE SCINTILLA_QT SCI_LEXER INCLUDE_DEPRECATED_FEATURES QSCINTILLA_MAKE_DLL)
|
|
||||||
target_include_directories(QSci PRIVATE
|
target_include_directories(QSci PRIVATE
|
||||||
src/qscint/scintilla/boostregex
|
src/qscint/scintilla/boostregex
|
||||||
src/qscint/scintilla/lexlib)
|
src/qscint/scintilla/lexlib)
|
||||||
|
@ -36,4 +35,30 @@ endif(TRUE)
|
||||||
|
|
||||||
|
|
||||||
# QSci 库构建时依赖了一些其它内容,像 PrintSupport,Concurrent 等
|
# QSci 库构建时依赖了一些其它内容,像 PrintSupport,Concurrent 等
|
||||||
# QSci 库构建...
|
# QSci 库构建...配置
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
# 在 Windows 中构建时,需要关注此库的构建形式,QScintilla 应该以何种方式编译
|
||||||
|
target_compile_definitions(QSci
|
||||||
|
PRIVATE
|
||||||
|
SCINTILLA_QT #
|
||||||
|
SCI_LEXER #
|
||||||
|
INCLUDE_DEPRECATED_FEATURES #
|
||||||
|
QSCINTILLA_MAKE_DLL # 在 Windows 中构建此库时应该采用 Q_DECL_EXPORT
|
||||||
|
# 并且在 Windows 中使用此库时应该采用 Q_DECL_IMPORT
|
||||||
|
# 控制 QSCINTILLA_EXPORT 符号应为:
|
||||||
|
# 构建时(导出),由外部使用时(导入)
|
||||||
|
)
|
||||||
|
endif(WIN32)
|
||||||
|
|
||||||
|
if(UNIX)
|
||||||
|
# 在 Linux 中构建时,需要关注此库的构建形式,QScintilla 应该以何种方式编译
|
||||||
|
target_compile_definitions(QSci
|
||||||
|
PRIVATE
|
||||||
|
SCINTILLA_QT #
|
||||||
|
SCI_LEXER #
|
||||||
|
INCLUDE_DEPRECATED_FEATURES #
|
||||||
|
# QSCINTILLA_MAKE_DLL # 在 Linux 未使用 Q_DECL_EXPORT 、 Q_DECL_IMPORT
|
||||||
|
# 控制 QSCINTILLA_EXPORT 符号应为留空
|
||||||
|
)
|
||||||
|
endif(UNIX)
|
||||||
|
|
Loading…
Reference in New Issue