add_subdirectory(plugins)
#add_subdirectory(bindings)

include_directories(${picviz_SOURCE_DIR}/src/libpicviz/include ${picviz_SOURCE_DIR}/src/libpicviz/parser ${picviz_SOURCE_DIR}/src/libpicviz/props ${PCRE_INCLUDE_DIR})

#set(CMAKE_SHARED_LINKER_FLAGS "-lm -lfl -ly")
configure_file(
${picviz_SOURCE_DIR}/src/libpicviz/picviz.pc.cmake
${picviz_BINARY_DIR}/src/libpicviz/picviz.pc
)

IF(PCRE_FOUND)
  ADD_LIBRARY(picviz ${PCRE_INCLUDE_DIR})
  TARGET_LINK_LIBRARIES(picviz ${PCRE_LIBRARIES})
ENDIF(PCRE_FOUND)

# Parser
BISON_TARGET(picviz ${picviz_SOURCE_DIR}/src/libpicviz/parser/parser.y ${picviz_SOURCE_DIR}/src/libpicviz/parser/parser.c)
FLEX_TARGET(picviz ${picviz_SOURCE_DIR}/src/libpicviz/parser/lexer.l ${picviz_SOURCE_DIR}/src/libpicviz/parser/lexer.c)

# Filter
BISON_TARGET(picviz ${picviz_SOURCE_DIR}/src/libpicviz/filters/filter.yac.y ${picviz_SOURCE_DIR}/src/libpicviz/filters/filter-parser.c)
FLEX_TARGET(picviz ${picviz_SOURCE_DIR}/src/libpicviz/filters/filter.lex.l ${picviz_SOURCE_DIR}/src/libpicviz/filters/filter-lexer.c)

add_library(picviz SHARED axis.c correlation.c debug.c fifo-read.c filter.c image.c learn.c line.c plugins.c engine.c picviz-pcre.c properties.c render.c values-mapping.c variable.c utils.c filters/filter-parser.c filters/filter-lexer.c parser/parser.c parser/lexer.c props/color.c)

set_target_properties(picviz PROPERTIES SOVERSION 1)

target_link_libraries(picviz "-lm -ldl -levent")

install(TARGETS picviz LIBRARY DESTINATION ${LIB_INSTALL_DIR})
install(FILES
		include/axis.h
		include/common.h
		include/correlation.h
		include/debug.h
		include/defaults.h
		include/draw.h
		include/engine.h
		include/fifo-read.h
		include/filter.h
		include/image.h
		include/learn.h
		include/line.h
		include/linuxlist.h
		include/pcimage.h
		include/picviz.h
		include/picviz-pcre.h
		include/plugins.h
		include/properties.h
		include/render.h
		include/types.h
		include/values-mapping.h
		include/variable.h
	DESTINATION include/picviz
        PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)

INSTALL(FILES ${picviz_BINARY_DIR}/src/libpicviz/picviz.pc
	DESTINATION ${LIB_INSTALL_DIR}/pkgconfig/ )

