From 5d5facb3e7cd85eb2e26a9a59232fcc9fdf7bf62 Mon Sep 17 00:00:00 2001 From: Maarten Bent Date: Sat, 28 Jan 2023 23:45:18 +0100 Subject: [PATCH] Update CMake with Scintilla and Lexilla changes Move Scintilla and Lexilla to separate files. Extract their include paths and compile definitions instead of redefining them for wxSTC. --- build/cmake/lib/stc/CMakeLists.txt | 196 ++-------------------------- build/cmake/lib/stc/lexilla.cmake | 177 +++++++++++++++++++++++++ build/cmake/lib/stc/scintilla.cmake | 101 ++++++++++++++ 3 files changed, 291 insertions(+), 183 deletions(-) create mode 100644 build/cmake/lib/stc/lexilla.cmake create mode 100644 build/cmake/lib/stc/scintilla.cmake diff --git a/build/cmake/lib/stc/CMakeLists.txt b/build/cmake/lib/stc/CMakeLists.txt index 5ed8f00d99..213ebeef2f 100644 --- a/build/cmake/lib/stc/CMakeLists.txt +++ b/build/cmake/lib/stc/CMakeLists.txt @@ -7,195 +7,25 @@ # Licence: wxWindows licence ############################################################################# -wx_append_sources(STC_FILES STC_CMN) +include(scintilla.cmake) +include(lexilla.cmake) +wx_append_sources(STC_FILES STC_CMN) if(WXOSX_COCOA) wx_append_sources(STC_FILES STC_OSX_COCOA) endif() -wx_add_builtin_library(wxscintilla - src/stc/scintilla/lexers/LexA68k.cxx - src/stc/scintilla/lexers/LexAbaqus.cxx - src/stc/scintilla/lexers/LexAda.cxx - src/stc/scintilla/lexers/LexAPDL.cxx - src/stc/scintilla/lexers/LexAsm.cxx - src/stc/scintilla/lexers/LexAsn1.cxx - src/stc/scintilla/lexers/LexASY.cxx - src/stc/scintilla/lexers/LexAU3.cxx - src/stc/scintilla/lexers/LexAVE.cxx - src/stc/scintilla/lexers/LexAVS.cxx - src/stc/scintilla/lexers/LexBaan.cxx - src/stc/scintilla/lexers/LexBash.cxx - src/stc/scintilla/lexers/LexBasic.cxx - src/stc/scintilla/lexers/LexBatch.cxx - src/stc/scintilla/lexers/LexBibTeX.cxx - src/stc/scintilla/lexers/LexBullant.cxx - src/stc/scintilla/lexers/LexCaml.cxx - src/stc/scintilla/lexers/LexCIL.cxx - src/stc/scintilla/lexers/LexCLW.cxx - src/stc/scintilla/lexers/LexCmake.cxx - src/stc/scintilla/lexers/LexCOBOL.cxx - src/stc/scintilla/lexers/LexCoffeeScript.cxx - src/stc/scintilla/lexers/LexConf.cxx - src/stc/scintilla/lexers/LexCPP.cxx - src/stc/scintilla/lexers/LexCrontab.cxx - src/stc/scintilla/lexers/LexCsound.cxx - src/stc/scintilla/lexers/LexCSS.cxx - src/stc/scintilla/lexers/LexD.cxx - src/stc/scintilla/lexers/LexDataflex.cxx - src/stc/scintilla/lexers/LexDiff.cxx - src/stc/scintilla/lexers/LexDMAP.cxx - src/stc/scintilla/lexers/LexDMIS.cxx - src/stc/scintilla/lexers/LexECL.cxx - src/stc/scintilla/lexers/LexEDIFACT.cxx - src/stc/scintilla/lexers/LexEiffel.cxx - src/stc/scintilla/lexers/LexErlang.cxx - src/stc/scintilla/lexers/LexErrorList.cxx - src/stc/scintilla/lexers/LexEScript.cxx - src/stc/scintilla/lexers/LexFlagship.cxx - src/stc/scintilla/lexers/LexForth.cxx - src/stc/scintilla/lexers/LexFortran.cxx - src/stc/scintilla/lexers/LexGAP.cxx - src/stc/scintilla/lexers/LexGui4Cli.cxx - src/stc/scintilla/lexers/LexHaskell.cxx - src/stc/scintilla/lexers/LexHex.cxx - src/stc/scintilla/lexers/LexHollywood.cxx - src/stc/scintilla/lexers/LexHTML.cxx - src/stc/scintilla/lexers/LexIndent.cxx - src/stc/scintilla/lexers/LexInno.cxx - src/stc/scintilla/lexers/LexJSON.cxx - src/stc/scintilla/lexers/LexKix.cxx - src/stc/scintilla/lexers/LexKVIrc.cxx - src/stc/scintilla/lexers/LexLaTeX.cxx - src/stc/scintilla/lexers/LexLisp.cxx - src/stc/scintilla/lexers/LexLout.cxx - src/stc/scintilla/lexers/LexLPeg.cxx - src/stc/scintilla/lexers/LexLua.cxx - src/stc/scintilla/lexers/LexMagik.cxx - src/stc/scintilla/lexers/LexMake.cxx - src/stc/scintilla/lexers/LexMarkdown.cxx - src/stc/scintilla/lexers/LexMatlab.cxx - src/stc/scintilla/lexers/LexMaxima.cxx - src/stc/scintilla/lexers/LexMetapost.cxx - src/stc/scintilla/lexers/LexMMIXAL.cxx - src/stc/scintilla/lexers/LexModula.cxx - src/stc/scintilla/lexers/LexMPT.cxx - src/stc/scintilla/lexers/LexMSSQL.cxx - src/stc/scintilla/lexers/LexMySQL.cxx - src/stc/scintilla/lexers/LexNim.cxx - src/stc/scintilla/lexers/LexNimrod.cxx - src/stc/scintilla/lexers/LexNsis.cxx - src/stc/scintilla/lexers/LexNull.cxx - src/stc/scintilla/lexers/LexOpal.cxx - src/stc/scintilla/lexers/LexOScript.cxx - src/stc/scintilla/lexers/LexPascal.cxx - src/stc/scintilla/lexers/LexPB.cxx - src/stc/scintilla/lexers/LexPerl.cxx - src/stc/scintilla/lexers/LexPLM.cxx - src/stc/scintilla/lexers/LexPO.cxx - src/stc/scintilla/lexers/LexPOV.cxx - src/stc/scintilla/lexers/LexPowerPro.cxx - src/stc/scintilla/lexers/LexPowerShell.cxx - src/stc/scintilla/lexers/LexProgress.cxx - src/stc/scintilla/lexers/LexProps.cxx - src/stc/scintilla/lexers/LexPS.cxx - src/stc/scintilla/lexers/LexPython.cxx - src/stc/scintilla/lexers/LexR.cxx - src/stc/scintilla/lexers/LexRaku.cxx - src/stc/scintilla/lexers/LexRebol.cxx - src/stc/scintilla/lexers/LexRegistry.cxx - src/stc/scintilla/lexers/LexRuby.cxx - src/stc/scintilla/lexers/LexRust.cxx - src/stc/scintilla/lexers/LexSAS.cxx - src/stc/scintilla/lexers/LexScriptol.cxx - src/stc/scintilla/lexers/LexSmalltalk.cxx - src/stc/scintilla/lexers/LexSML.cxx - src/stc/scintilla/lexers/LexSorcus.cxx - src/stc/scintilla/lexers/LexSpecman.cxx - src/stc/scintilla/lexers/LexSpice.cxx - src/stc/scintilla/lexers/LexSQL.cxx - src/stc/scintilla/lexers/LexStata.cxx - src/stc/scintilla/lexers/LexSTTXT.cxx - src/stc/scintilla/lexers/LexTACL.cxx - src/stc/scintilla/lexers/LexTADS3.cxx - src/stc/scintilla/lexers/LexTAL.cxx - src/stc/scintilla/lexers/LexTCL.cxx - src/stc/scintilla/lexers/LexTCMD.cxx - src/stc/scintilla/lexers/LexTeX.cxx - src/stc/scintilla/lexers/LexTxt2tags.cxx - src/stc/scintilla/lexers/LexVB.cxx - src/stc/scintilla/lexers/LexVerilog.cxx - src/stc/scintilla/lexers/LexVHDL.cxx - src/stc/scintilla/lexers/LexVisualProlog.cxx - src/stc/scintilla/lexers/LexX12.cxx - src/stc/scintilla/lexers/LexYAML.cxx - src/stc/scintilla/lexlib/Accessor.cxx - src/stc/scintilla/lexlib/CharacterCategory.cxx - src/stc/scintilla/lexlib/CharacterSet.cxx - src/stc/scintilla/lexlib/DefaultLexer.cxx - src/stc/scintilla/lexlib/LexerBase.cxx - src/stc/scintilla/lexlib/LexerModule.cxx - src/stc/scintilla/lexlib/LexerNoExceptions.cxx - src/stc/scintilla/lexlib/LexerSimple.cxx - src/stc/scintilla/lexlib/PropSetSimple.cxx - src/stc/scintilla/lexlib/StyleContext.cxx - src/stc/scintilla/lexlib/WordList.cxx - src/stc/scintilla/src/AutoComplete.cxx - src/stc/scintilla/src/CallTip.cxx - src/stc/scintilla/src/CaseConvert.cxx - src/stc/scintilla/src/CaseFolder.cxx - src/stc/scintilla/src/Catalogue.cxx - src/stc/scintilla/src/CellBuffer.cxx - src/stc/scintilla/src/CharClassify.cxx - src/stc/scintilla/src/ContractionState.cxx - src/stc/scintilla/src/DBCS.cxx - src/stc/scintilla/src/Decoration.cxx - src/stc/scintilla/src/Document.cxx - src/stc/scintilla/src/EditModel.cxx - src/stc/scintilla/src/Editor.cxx - src/stc/scintilla/src/EditView.cxx - src/stc/scintilla/src/ExternalLexer.cxx - src/stc/scintilla/src/Indicator.cxx - src/stc/scintilla/src/KeyMap.cxx - src/stc/scintilla/src/LineMarker.cxx - src/stc/scintilla/src/MarginView.cxx - src/stc/scintilla/src/PerLine.cxx - src/stc/scintilla/src/PositionCache.cxx - src/stc/scintilla/src/RESearch.cxx - src/stc/scintilla/src/RunStyles.cxx - src/stc/scintilla/src/ScintillaBase.cxx - src/stc/scintilla/src/Selection.cxx - src/stc/scintilla/src/Style.cxx - src/stc/scintilla/src/UniConversion.cxx - src/stc/scintilla/src/UniqueString.cxx - src/stc/scintilla/src/ViewStyle.cxx - src/stc/scintilla/src/XPM.cxx -) -target_include_directories(wxscintilla PRIVATE - ${wxSOURCE_DIR}/src/stc/scintilla/include - ${wxSOURCE_DIR}/src/stc/scintilla/lexlib - ${wxSOURCE_DIR}/src/stc/scintilla/src -) -target_compile_definitions(wxscintilla PRIVATE - __WX__ - SCI_LEXER - LINK_LEXERS - LPEG_LEXER=0 -) - -wx_target_enable_precomp(wxscintilla "${wxSOURCE_DIR}/src/stc/scintilla/include/Scintilla.h") wx_add_library(wxstc ${STC_FILES}) -wx_lib_include_directories(wxstc - ${wxSOURCE_DIR}/src/stc/scintilla/include - ${wxSOURCE_DIR}/src/stc/scintilla/lexlib - ${wxSOURCE_DIR}/src/stc/scintilla/src -) -wx_lib_compile_definitions(wxstc - __WX__ - SCI_LEXER - LINK_LEXERS -) -wx_lib_link_libraries(wxstc PRIVATE wxscintilla) + +get_target_property(SCINTILLA_INCLUDE wxscintilla INCLUDE_DIRECTORIES) +get_target_property(LEXILLA_INCLUDE wxlexilla INCLUDE_DIRECTORIES) +wx_lib_include_directories(wxstc PRIVATE ${SCINTILLA_INCLUDE} ${LEXILLA_INCLUDE}) + +get_target_property(SCINTILLA_DEFINITIONS wxscintilla COMPILE_DEFINITIONS) +get_target_property(LEXILLA_DEFINITIONS wxlexilla COMPILE_DEFINITIONS) +wx_lib_compile_definitions(wxstc PRIVATE ${SCINTILLA_DEFINITIONS} ${LEXILLA_DEFINITIONS}) + +wx_lib_link_libraries(wxstc PRIVATE wxscintilla wxlexilla) if(WXMSW) wx_lib_link_libraries(wxstc PRIVATE imm32) endif() diff --git a/build/cmake/lib/stc/lexilla.cmake b/build/cmake/lib/stc/lexilla.cmake new file mode 100644 index 0000000000..c2d991458c --- /dev/null +++ b/build/cmake/lib/stc/lexilla.cmake @@ -0,0 +1,177 @@ +############################################################################# +# Name: build/cmake/lib/stc/lexilla.cmake +# Purpose: CMake file for Lexilla library +# Author: Maarten Bent +# Created: 2022-12-28 +# Copyright: (c) 2022 wxWidgets development team +# Licence: wxWindows licence +############################################################################# + +include(../../source_groups.cmake) +set(LEXILLA_SRC_DIR src/stc/lexilla) + +wx_add_builtin_library(wxlexilla + ${LEXILLA_SRC_DIR}/access/LexillaAccess.cxx + ${LEXILLA_SRC_DIR}/access/LexillaAccess.h + ${LEXILLA_SRC_DIR}/include/Lexilla.h + ${LEXILLA_SRC_DIR}/include/SciLexer.h + ${LEXILLA_SRC_DIR}/lexers/LexA68k.cxx + ${LEXILLA_SRC_DIR}/lexers/LexAPDL.cxx + ${LEXILLA_SRC_DIR}/lexers/LexASY.cxx + ${LEXILLA_SRC_DIR}/lexers/LexAU3.cxx + ${LEXILLA_SRC_DIR}/lexers/LexAVE.cxx + ${LEXILLA_SRC_DIR}/lexers/LexAVS.cxx + ${LEXILLA_SRC_DIR}/lexers/LexAbaqus.cxx + ${LEXILLA_SRC_DIR}/lexers/LexAda.cxx + ${LEXILLA_SRC_DIR}/lexers/LexAsm.cxx + ${LEXILLA_SRC_DIR}/lexers/LexAsn1.cxx + ${LEXILLA_SRC_DIR}/lexers/LexBaan.cxx + ${LEXILLA_SRC_DIR}/lexers/LexBash.cxx + ${LEXILLA_SRC_DIR}/lexers/LexBasic.cxx + ${LEXILLA_SRC_DIR}/lexers/LexBatch.cxx + ${LEXILLA_SRC_DIR}/lexers/LexBibTeX.cxx + ${LEXILLA_SRC_DIR}/lexers/LexBullant.cxx + ${LEXILLA_SRC_DIR}/lexers/LexCIL.cxx + ${LEXILLA_SRC_DIR}/lexers/LexCLW.cxx + ${LEXILLA_SRC_DIR}/lexers/LexCOBOL.cxx + ${LEXILLA_SRC_DIR}/lexers/LexCPP.cxx + ${LEXILLA_SRC_DIR}/lexers/LexCSS.cxx + ${LEXILLA_SRC_DIR}/lexers/LexCaml.cxx + ${LEXILLA_SRC_DIR}/lexers/LexCmake.cxx + ${LEXILLA_SRC_DIR}/lexers/LexCoffeeScript.cxx + ${LEXILLA_SRC_DIR}/lexers/LexConf.cxx + ${LEXILLA_SRC_DIR}/lexers/LexCrontab.cxx + ${LEXILLA_SRC_DIR}/lexers/LexCsound.cxx + ${LEXILLA_SRC_DIR}/lexers/LexD.cxx + ${LEXILLA_SRC_DIR}/lexers/LexDMAP.cxx + ${LEXILLA_SRC_DIR}/lexers/LexDMIS.cxx + ${LEXILLA_SRC_DIR}/lexers/LexDataflex.cxx + ${LEXILLA_SRC_DIR}/lexers/LexDiff.cxx + ${LEXILLA_SRC_DIR}/lexers/LexECL.cxx + ${LEXILLA_SRC_DIR}/lexers/LexEDIFACT.cxx + ${LEXILLA_SRC_DIR}/lexers/LexEScript.cxx + ${LEXILLA_SRC_DIR}/lexers/LexEiffel.cxx + ${LEXILLA_SRC_DIR}/lexers/LexErlang.cxx + ${LEXILLA_SRC_DIR}/lexers/LexErrorList.cxx + ${LEXILLA_SRC_DIR}/lexers/LexFSharp.cxx + ${LEXILLA_SRC_DIR}/lexers/LexFlagship.cxx + ${LEXILLA_SRC_DIR}/lexers/LexForth.cxx + ${LEXILLA_SRC_DIR}/lexers/LexFortran.cxx + ${LEXILLA_SRC_DIR}/lexers/LexGAP.cxx + ${LEXILLA_SRC_DIR}/lexers/LexGui4Cli.cxx + ${LEXILLA_SRC_DIR}/lexers/LexHTML.cxx + ${LEXILLA_SRC_DIR}/lexers/LexHaskell.cxx + ${LEXILLA_SRC_DIR}/lexers/LexHex.cxx + ${LEXILLA_SRC_DIR}/lexers/LexHollywood.cxx + ${LEXILLA_SRC_DIR}/lexers/LexIndent.cxx + ${LEXILLA_SRC_DIR}/lexers/LexInno.cxx + ${LEXILLA_SRC_DIR}/lexers/LexJSON.cxx + ${LEXILLA_SRC_DIR}/lexers/LexKVIrc.cxx + ${LEXILLA_SRC_DIR}/lexers/LexKix.cxx + ${LEXILLA_SRC_DIR}/lexers/LexLaTeX.cxx + ${LEXILLA_SRC_DIR}/lexers/LexLisp.cxx + ${LEXILLA_SRC_DIR}/lexers/LexLout.cxx + ${LEXILLA_SRC_DIR}/lexers/LexLua.cxx + ${LEXILLA_SRC_DIR}/lexers/LexMMIXAL.cxx + ${LEXILLA_SRC_DIR}/lexers/LexMPT.cxx + ${LEXILLA_SRC_DIR}/lexers/LexMSSQL.cxx + ${LEXILLA_SRC_DIR}/lexers/LexMagik.cxx + ${LEXILLA_SRC_DIR}/lexers/LexMake.cxx + ${LEXILLA_SRC_DIR}/lexers/LexMarkdown.cxx + ${LEXILLA_SRC_DIR}/lexers/LexMatlab.cxx + ${LEXILLA_SRC_DIR}/lexers/LexMaxima.cxx + ${LEXILLA_SRC_DIR}/lexers/LexMetapost.cxx + ${LEXILLA_SRC_DIR}/lexers/LexModula.cxx + ${LEXILLA_SRC_DIR}/lexers/LexMySQL.cxx + ${LEXILLA_SRC_DIR}/lexers/LexNim.cxx + ${LEXILLA_SRC_DIR}/lexers/LexNimrod.cxx + ${LEXILLA_SRC_DIR}/lexers/LexNsis.cxx + ${LEXILLA_SRC_DIR}/lexers/LexNull.cxx + ${LEXILLA_SRC_DIR}/lexers/LexOScript.cxx + ${LEXILLA_SRC_DIR}/lexers/LexOpal.cxx + ${LEXILLA_SRC_DIR}/lexers/LexPB.cxx + ${LEXILLA_SRC_DIR}/lexers/LexPLM.cxx + ${LEXILLA_SRC_DIR}/lexers/LexPO.cxx + ${LEXILLA_SRC_DIR}/lexers/LexPOV.cxx + ${LEXILLA_SRC_DIR}/lexers/LexPS.cxx + ${LEXILLA_SRC_DIR}/lexers/LexPascal.cxx + ${LEXILLA_SRC_DIR}/lexers/LexPerl.cxx + ${LEXILLA_SRC_DIR}/lexers/LexPowerPro.cxx + ${LEXILLA_SRC_DIR}/lexers/LexPowerShell.cxx + ${LEXILLA_SRC_DIR}/lexers/LexProgress.cxx + ${LEXILLA_SRC_DIR}/lexers/LexProps.cxx + ${LEXILLA_SRC_DIR}/lexers/LexPython.cxx + ${LEXILLA_SRC_DIR}/lexers/LexR.cxx + ${LEXILLA_SRC_DIR}/lexers/LexRaku.cxx + ${LEXILLA_SRC_DIR}/lexers/LexRebol.cxx + ${LEXILLA_SRC_DIR}/lexers/LexRegistry.cxx + ${LEXILLA_SRC_DIR}/lexers/LexRuby.cxx + ${LEXILLA_SRC_DIR}/lexers/LexRust.cxx + ${LEXILLA_SRC_DIR}/lexers/LexSAS.cxx + ${LEXILLA_SRC_DIR}/lexers/LexSML.cxx + ${LEXILLA_SRC_DIR}/lexers/LexSQL.cxx + ${LEXILLA_SRC_DIR}/lexers/LexSTTXT.cxx + ${LEXILLA_SRC_DIR}/lexers/LexScriptol.cxx + ${LEXILLA_SRC_DIR}/lexers/LexSmalltalk.cxx + ${LEXILLA_SRC_DIR}/lexers/LexSorcus.cxx + ${LEXILLA_SRC_DIR}/lexers/LexSpecman.cxx + ${LEXILLA_SRC_DIR}/lexers/LexSpice.cxx + ${LEXILLA_SRC_DIR}/lexers/LexStata.cxx + ${LEXILLA_SRC_DIR}/lexers/LexTACL.cxx + ${LEXILLA_SRC_DIR}/lexers/LexTADS3.cxx + ${LEXILLA_SRC_DIR}/lexers/LexTAL.cxx + ${LEXILLA_SRC_DIR}/lexers/LexTCL.cxx + ${LEXILLA_SRC_DIR}/lexers/LexTCMD.cxx + ${LEXILLA_SRC_DIR}/lexers/LexTeX.cxx + ${LEXILLA_SRC_DIR}/lexers/LexTxt2tags.cxx + ${LEXILLA_SRC_DIR}/lexers/LexVB.cxx + ${LEXILLA_SRC_DIR}/lexers/LexVHDL.cxx + ${LEXILLA_SRC_DIR}/lexers/LexVerilog.cxx + ${LEXILLA_SRC_DIR}/lexers/LexVisualProlog.cxx + ${LEXILLA_SRC_DIR}/lexers/LexX12.cxx + ${LEXILLA_SRC_DIR}/lexers/LexYAML.cxx + ${LEXILLA_SRC_DIR}/lexlib/Accessor.cxx + ${LEXILLA_SRC_DIR}/lexlib/Accessor.h + ${LEXILLA_SRC_DIR}/lexlib/CatalogueModules.h + # ${LEXILLA_SRC_DIR}/lexlib/CharacterCategory.cxx + # ${LEXILLA_SRC_DIR}/lexlib/CharacterCategory.h + # ${LEXILLA_SRC_DIR}/lexlib/CharacterSet.cxx + # ${LEXILLA_SRC_DIR}/lexlib/CharacterSet.h + ${LEXILLA_SRC_DIR}/lexlib/DefaultLexer.cxx + ${LEXILLA_SRC_DIR}/lexlib/DefaultLexer.h + ${LEXILLA_SRC_DIR}/lexlib/LexAccessor.h + ${LEXILLA_SRC_DIR}/lexlib/LexerBase.cxx + ${LEXILLA_SRC_DIR}/lexlib/LexerBase.h + ${LEXILLA_SRC_DIR}/lexlib/LexerModule.cxx + ${LEXILLA_SRC_DIR}/lexlib/LexerModule.h + ${LEXILLA_SRC_DIR}/lexlib/LexerNoExceptions.cxx + ${LEXILLA_SRC_DIR}/lexlib/LexerNoExceptions.h + ${LEXILLA_SRC_DIR}/lexlib/LexerSimple.cxx + ${LEXILLA_SRC_DIR}/lexlib/LexerSimple.h + ${LEXILLA_SRC_DIR}/lexlib/OptionSet.h + ${LEXILLA_SRC_DIR}/lexlib/PropSetSimple.cxx + ${LEXILLA_SRC_DIR}/lexlib/PropSetSimple.h + ${LEXILLA_SRC_DIR}/lexlib/SparseState.h + ${LEXILLA_SRC_DIR}/lexlib/StringCopy.h + ${LEXILLA_SRC_DIR}/lexlib/StyleContext.cxx + ${LEXILLA_SRC_DIR}/lexlib/StyleContext.h + ${LEXILLA_SRC_DIR}/lexlib/SubStyles.h + ${LEXILLA_SRC_DIR}/lexlib/WordList.cxx + ${LEXILLA_SRC_DIR}/lexlib/WordList.h + ${LEXILLA_SRC_DIR}/src/Lexilla.cxx +) + +get_target_property(SCINTILLA_INCLUDE wxscintilla INCLUDE_DIRECTORIES) + +target_include_directories(wxlexilla PRIVATE + ${wxSOURCE_DIR}/${LEXILLA_SRC_DIR}/access + ${wxSOURCE_DIR}/${LEXILLA_SRC_DIR}/include + ${wxSOURCE_DIR}/${LEXILLA_SRC_DIR}/lexlib + ${SCINTILLA_INCLUDE} +) + + +wx_target_enable_precomp(wxlexilla + "${wxSOURCE_DIR}/${SCINTILLA_SRC_DIR}/include/Scintilla.h" + "${wxSOURCE_DIR}/${LEXILLA_SRC_DIR}/include/Lexilla.h" +) diff --git a/build/cmake/lib/stc/scintilla.cmake b/build/cmake/lib/stc/scintilla.cmake new file mode 100644 index 0000000000..86ed92485c --- /dev/null +++ b/build/cmake/lib/stc/scintilla.cmake @@ -0,0 +1,101 @@ +############################################################################# +# Name: build/cmake/lib/stc/scintilla.cmake +# Purpose: CMake file for Scintilla library +# Author: Maarten Bent +# Created: 2022-12-28 +# Copyright: (c) 2022 wxWidgets development team +# Licence: wxWindows licence +############################################################################# + +include(../../source_groups.cmake) +set(SCINTILLA_SRC_DIR src/stc/scintilla) + +wx_add_builtin_library(wxscintilla + ${SCINTILLA_SRC_DIR}/include/Compat.h + ${SCINTILLA_SRC_DIR}/include/ILexer.h + ${SCINTILLA_SRC_DIR}/include/ILoader.h + ${SCINTILLA_SRC_DIR}/include/Platform.h + ${SCINTILLA_SRC_DIR}/include/Sci_Position.h + ${SCINTILLA_SRC_DIR}/include/Scintilla.h + ${SCINTILLA_SRC_DIR}/include/ScintillaWidget.h + ${SCINTILLA_SRC_DIR}/src/AutoComplete.cxx + ${SCINTILLA_SRC_DIR}/src/AutoComplete.h + ${SCINTILLA_SRC_DIR}/src/CallTip.cxx + ${SCINTILLA_SRC_DIR}/src/CallTip.h + ${SCINTILLA_SRC_DIR}/src/CaseConvert.cxx + ${SCINTILLA_SRC_DIR}/src/CaseConvert.h + ${SCINTILLA_SRC_DIR}/src/CaseFolder.cxx + ${SCINTILLA_SRC_DIR}/src/CaseFolder.h + ${SCINTILLA_SRC_DIR}/src/CellBuffer.cxx + ${SCINTILLA_SRC_DIR}/src/CellBuffer.h + ${SCINTILLA_SRC_DIR}/src/CharClassify.cxx + ${SCINTILLA_SRC_DIR}/src/CharClassify.h + ${SCINTILLA_SRC_DIR}/src/CharacterCategory.cxx + ${SCINTILLA_SRC_DIR}/src/CharacterCategory.h + ${SCINTILLA_SRC_DIR}/src/CharacterSet.cxx + ${SCINTILLA_SRC_DIR}/src/CharacterSet.h + ${SCINTILLA_SRC_DIR}/src/ContractionState.cxx + ${SCINTILLA_SRC_DIR}/src/ContractionState.h + ${SCINTILLA_SRC_DIR}/src/DBCS.cxx + ${SCINTILLA_SRC_DIR}/src/DBCS.h + ${SCINTILLA_SRC_DIR}/src/Decoration.cxx + ${SCINTILLA_SRC_DIR}/src/Decoration.h + ${SCINTILLA_SRC_DIR}/src/Document.cxx + ${SCINTILLA_SRC_DIR}/src/Document.h + ${SCINTILLA_SRC_DIR}/src/EditModel.cxx + ${SCINTILLA_SRC_DIR}/src/EditModel.h + ${SCINTILLA_SRC_DIR}/src/EditView.cxx + ${SCINTILLA_SRC_DIR}/src/EditView.h + ${SCINTILLA_SRC_DIR}/src/Editor.cxx + ${SCINTILLA_SRC_DIR}/src/Editor.h + ${SCINTILLA_SRC_DIR}/src/ElapsedPeriod.h + ${SCINTILLA_SRC_DIR}/src/FontQuality.h + ${SCINTILLA_SRC_DIR}/src/Indicator.cxx + ${SCINTILLA_SRC_DIR}/src/Indicator.h + ${SCINTILLA_SRC_DIR}/src/IntegerRectangle.h + ${SCINTILLA_SRC_DIR}/src/KeyMap.cxx + ${SCINTILLA_SRC_DIR}/src/KeyMap.h + ${SCINTILLA_SRC_DIR}/src/LineMarker.cxx + ${SCINTILLA_SRC_DIR}/src/LineMarker.h + ${SCINTILLA_SRC_DIR}/src/MarginView.cxx + ${SCINTILLA_SRC_DIR}/src/MarginView.h + ${SCINTILLA_SRC_DIR}/src/Partitioning.h + ${SCINTILLA_SRC_DIR}/src/PerLine.cxx + ${SCINTILLA_SRC_DIR}/src/PerLine.h + ${SCINTILLA_SRC_DIR}/src/Position.h + ${SCINTILLA_SRC_DIR}/src/PositionCache.cxx + ${SCINTILLA_SRC_DIR}/src/PositionCache.h + ${SCINTILLA_SRC_DIR}/src/RESearch.cxx + ${SCINTILLA_SRC_DIR}/src/RESearch.h + ${SCINTILLA_SRC_DIR}/src/RunStyles.cxx + ${SCINTILLA_SRC_DIR}/src/RunStyles.h + ${SCINTILLA_SRC_DIR}/src/ScintillaBase.cxx + ${SCINTILLA_SRC_DIR}/src/ScintillaBase.h + ${SCINTILLA_SRC_DIR}/src/Selection.cxx + ${SCINTILLA_SRC_DIR}/src/Selection.h + ${SCINTILLA_SRC_DIR}/src/SparseVector.h + ${SCINTILLA_SRC_DIR}/src/SplitVector.h + ${SCINTILLA_SRC_DIR}/src/Style.cxx + ${SCINTILLA_SRC_DIR}/src/Style.h + ${SCINTILLA_SRC_DIR}/src/UniConversion.cxx + ${SCINTILLA_SRC_DIR}/src/UniConversion.h + ${SCINTILLA_SRC_DIR}/src/UniqueString.cxx + ${SCINTILLA_SRC_DIR}/src/UniqueString.h + ${SCINTILLA_SRC_DIR}/src/ViewStyle.cxx + ${SCINTILLA_SRC_DIR}/src/ViewStyle.h + ${SCINTILLA_SRC_DIR}/src/XPM.cxx + ${SCINTILLA_SRC_DIR}/src/XPM.h +) + +target_include_directories(wxscintilla PRIVATE + ${wxSOURCE_DIR}/${SCINTILLA_SRC_DIR}/include + ${wxSOURCE_DIR}/${SCINTILLA_SRC_DIR}/src +) + +target_compile_definitions(wxscintilla PUBLIC + __WX__ +) + +wx_target_enable_precomp(wxscintilla + "${wxSOURCE_DIR}/${SCINTILLA_SRC_DIR}/include/Scintilla.h" +)