Skip to content
Snippets Groups Projects
CMakeLists.txt 2.1 KiB
Newer Older
########## libwccl ###############

PROJECT(wccl)

include_directories( ${CMAKE_CURRENT_BINARY_DIR}/include/ )

find_package(PwrUtils 0.0.3 REQUIRED)
set(LIBS ${LIBS} ${PwrUtils_LIBRARY})

link_directories(${Boost_LIBRARY_DIRS})
set(LIBS ${LIBS} ${Boost_LIBRARIES})

find_package(ICU REQUIRED)
include_directories(${ICU_INCLUDE_DIR})
set(LIBS ${LIBS} ${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES})

find_package(ANTLR REQUIRED)
include_directories(${ANTLR_INCLUDE_DIR})
set(LIBS ${LIBS} ${ANTLR_LIBRARY})

ilor's avatar
ilor committed
	exception.cpp
Adam Wardyński's avatar
Adam Wardyński committed
	ops/and.cpp
	ops/predicate.cpp
Adam Wardyński's avatar
Adam Wardyński committed
	ops/tolower.cpp
	ops/toupper.cpp
rk's avatar
rk committed
	parser/Parser.cpp
	parser/ParserException.cpp
	values/bool.cpp
	values/position.cpp
ilor's avatar
ilor committed
	values/strset.cpp
ilor's avatar
ilor committed
	values/tset.cpp
	values/value.cpp
rk's avatar
rk committed
SET(libwccl_STAT_SRC ${libwccl_STAT_SRC}
	${PROJECT_BINARY_DIR}/parser/ANTLRLexer.cpp
	${PROJECT_BINARY_DIR}/parser/ANTLRParser.cpp
rk's avatar
rk committed
)

include_directories(${PROJECT_BINARY_DIR}/parser)

rk's avatar
rk committed
ADD_CUSTOM_COMMAND(
ilor's avatar
ilor committed
	OUTPUT ${PROJECT_BINARY_DIR}/parser/ANTLRLexer.cpp
		${PROJECT_BINARY_DIR}/parser/ANTLRLexer.hpp
		${PROJECT_BINARY_DIR}/parser/ANTLRParser.cpp
		${PROJECT_BINARY_DIR}/parser/ANTLRParser.hpp
		${PROJECT_BINARY_DIR}/parser/ANTLRExprTokenTypes.hpp
		${PROJECT_BINARY_DIR}/parser/ANTLRExprTokenTypes.txt
	COMMAND runantlr -o parser ${PROJECT_SOURCE_DIR}/parser/grammar.g
	DEPENDS ${PROJECT_SOURCE_DIR}/parser/grammar.g
ilor's avatar
ilor committed
	COMMENT "-- Generating ANTLR parser cpp/hpp/txt files")
rk's avatar
rk committed

file(GLOB_RECURSE INCS "*.h")

add_library(wccl SHARED ${libwccl_STAT_SRC} ${INCS})
rk's avatar
rk committed
target_link_libraries ( wccl ${LIBS})

set_target_properties(wccl PROPERTIES
	VERSION "${ver_major}.${ver_minor}"
	SOVERSION ${ver_major})


if(UNIX)
	install(TARGETS wccl
		LIBRARY DESTINATION lib
	)
	install(
		DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
		DESTINATION include
		FILES_MATCHING PATTERN "*.h"
		PATTERN ".svn" EXCLUDE
		PATTERN "bin" EXCLUDE
		PATTERN "build" EXCLUDE
		PATTERN "CMake*" EXCLUDE
	)
endif(UNIX)