cmake Scintilla

project(Scintilla)

set(INCLUDE_FILES		
	${CMAKE_CURRENT_SOURCE_DIR}/include/ILexer.h
	${CMAKE_CURRENT_SOURCE_DIR}/include/Platform.h
	${CMAKE_CURRENT_SOURCE_DIR}/include/SciLexer.h
	${CMAKE_CURRENT_SOURCE_DIR}/include/Scintilla.h
	${CMAKE_CURRENT_SOURCE_DIR}/include/ScintillaWidget.h
)

source_group(include FILES ${INCLUDE_FILES})

set(lexers
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexA68k.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexAPDL.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexASY.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexAU3.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexAVE.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexAVS.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexAbaqus.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexAda.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexAsm.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexAsn1.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexBaan.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexBash.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexBasic.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexBullant.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexCLW.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexCOBOL.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexCPP.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexCSS.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexCaml.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexCmake.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexCoffeeScript.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexConf.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexCrontab.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexCsound.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexD.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexECL.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexEScript.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexEiffel.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexErlang.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexFlagship.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexForth.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexFortran.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexGAP.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexGui4Cli.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexHTML.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexHaskell.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexInno.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexKix.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexLaTeX.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexLisp.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexLout.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexLua.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexMMIXAL.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexMPT.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexMSSQL.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexMagik.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexMarkdown.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexMatlab.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexMetapost.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexModula.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexMySQL.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexNimrod.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexNsis.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexOScript.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexOpal.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexOthers.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexPB.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexPLM.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexPO.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexPOV.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexPS.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexPascal.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexPerl.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexPowerPro.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexPowerShell.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexProgress.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexPython.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexR.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexRebol.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexRuby.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexSML.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexSQL.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexScriptol.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexSmalltalk.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexSorcus.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexSpecman.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexSpice.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexTACL.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexTADS3.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexTAL.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexTCL.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexTCMD.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexTeX.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexTxt2tags.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexVB.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexVHDL.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexVerilog.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexVisualProlog.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexers/LexYAML.cxx
)

source_group(lexers FILES ${lexers})

set(lexlib
	${CMAKE_CURRENT_SOURCE_DIR}/lexlib/Accessor.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexlib/Accessor.h
	${CMAKE_CURRENT_SOURCE_DIR}/lexlib/CharacterSet.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexlib/CharacterSet.h
	${CMAKE_CURRENT_SOURCE_DIR}/lexlib/LexAccessor.h
	${CMAKE_CURRENT_SOURCE_DIR}/lexlib/LexerBase.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexlib/LexerBase.h
	${CMAKE_CURRENT_SOURCE_DIR}/lexlib/LexerModule.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexlib/LexerModule.h
	${CMAKE_CURRENT_SOURCE_DIR}/lexlib/LexerNoExceptions.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexlib/LexerNoExceptions.h
	${CMAKE_CURRENT_SOURCE_DIR}/lexlib/LexerSimple.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexlib/LexerSimple.h
	${CMAKE_CURRENT_SOURCE_DIR}/lexlib/OptionSet.h
	${CMAKE_CURRENT_SOURCE_DIR}/lexlib/PropSetSimple.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexlib/PropSetSimple.h
	${CMAKE_CURRENT_SOURCE_DIR}/lexlib/SparseState.h
	${CMAKE_CURRENT_SOURCE_DIR}/lexlib/StyleContext.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexlib/StyleContext.h
	${CMAKE_CURRENT_SOURCE_DIR}/lexlib/SubStyles.h
	${CMAKE_CURRENT_SOURCE_DIR}/lexlib/WordList.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/lexlib/WordList.h

)

source_group(lexlib FILES ${lexlib})

set(WIN32_FILES
	#${CMAKE_CURRENT_SOURCE_DIR}/win32/CheckD2D.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/win32/PlatWin.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/win32/PlatWin.h
	${CMAKE_CURRENT_SOURCE_DIR}/win32/ScintillaWin.cxx
)

source_group(win32 FILES ${WIN32_FILES})

set(SRC

	${CMAKE_CURRENT_SOURCE_DIR}/src/AutoComplete.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/src/AutoComplete.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/CallTip.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/src/CallTip.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/Catalogue.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/src/Catalogue.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/CellBuffer.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/src/CellBuffer.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/CharClassify.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/src/CharClassify.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/ContractionState.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/src/ContractionState.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/Decoration.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/src/Decoration.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/Document.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/src/Document.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/Editor.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/src/Editor.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/ExternalLexer.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/src/ExternalLexer.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/FontQuality.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/Indicator.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/src/Indicator.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/KeyMap.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/src/KeyMap.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/LineMarker.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/src/LineMarker.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/Partitioning.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/PerLine.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/src/PerLine.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/PositionCache.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/src/PositionCache.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/RESearch.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/src/RESearch.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/RunStyles.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/src/RunStyles.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/SVector.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/ScintillaBase.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/src/ScintillaBase.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/Selection.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/src/Selection.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/SplitVector.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/Style.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/src/Style.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/UniConversion.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/src/UniConversion.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/ViewStyle.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/src/ViewStyle.h
	${CMAKE_CURRENT_SOURCE_DIR}/src/XPM.cxx
	${CMAKE_CURRENT_SOURCE_DIR}/src/XPM.h

)

source_group(sources FILES ${SRC})
ADD_DEFINITIONS(-DSCI_LEXER=1  -DSCI_NAMESPACE=1 )#-DSCI_OWNREGEX)

INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/win32)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/lexers)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/lexlib)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src)


ADD_LIBRARY(SciLexerDLL SHARED ${INCLUDE_FILES} ${lexers} ${lexlib} ${WIN32_FILES} ${SRC})
target_link_libraries(SciLexerDLL imm32 ole32 uuid)

#add_subdirectory(dmapp)

你可能感兴趣的:(cmake Scintilla)