PROJECT(xmllexer)

SET(bin_dir ${xmllexer_BINARY_DIR})

ADD_EXECUTABLE(make_xmllexer lexcode.cpp)
TARGET_LINK_LIBRARIES(make_xmllexer lexgen)

GET_TARGET_PROPERTY(make_xmllexer_exe make_xmllexer LOCATION)

ADD_CUSTOM_COMMAND(
	OUTPUT ${bin_dir}/XmlLexerCore.h ${bin_dir}/XmlLexerCore.cpp
	COMMAND ${make_xmllexer_exe} XmlLexerCore
		${bin_dir}/XmlLexerCore.h ${bin_dir}/XmlLexerCore.cpp
		XmlLexerDefinitions XmlLexerDefinitions.h XmlLexer XmlLexer.h
	DEPENDS make_xmllexer XmlLexerDefinitions.h
)

INCLUDE_DIRECTORIES(
	${xmllexer_SOURCE_DIR}
	${xmllexer_BINARY_DIR}
	${lexgen_SOURCE_DIR}
)

ADD_LIBRARY(
	xmllexer STATIC
	XmlLexer.h XmlLexerDefinitions.h
	${bin_dir}/XmlLexerCore.cpp ${bin_dir}/XmlLexerCore.h
)

SET_SOURCE_FILES_PROPERTIES(
	${bin_dir}/XmlLexerCore.cpp ${bin_dir}/XmlLexerCore.h
	PROPERTIES
	GENERATED TRUE
)