
# add the library that runs 
add_library( Hpt tree2hpt.cc tree2hpt.tab.cc tree2hpt.lex.cc
	${FLEX_t2h_lexer_OUTPUTS} ${BISON_t2h_parser_OUTPUTS}
	btn_typ.cc hpt_init.cc hpt_operators.cc hpt_sort.cc 
	hpt_tree.cc hpt_typ.cc tree2hpt.cc 
	)

target_link_libraries(Hpt Afn ${FLEX_LIBRARIES})

#target_compile_options(Hpt PRIVATE ${OpenMP_CXX_FLAGS})

# state that anybody linking to us needs to include the current source dir
include_directories("${PROJECT_SOURCE_DIR}/lib/libafn" 
#	"${PROJECT_SOURCE_DIR}/lib/libblst"
#	"${PROJECT_SOURCE_DIR}/lib/libalex"
#	"${PROJECT_SOURCE_DIR}/lib/libaln"
#	"${PROJECT_SOURCE_DIR}/lib/libtools"
#	"${PROJECT_SOURCE_DIR}/lib/libtax"
#	"${PROJECT_SOURCE_DIR}/lib/libchn"
	"${PROJECT_SOURCE_DIR}/lib/libhpt"
	"${PROJECT_SOURCE_DIR}/lib/include"
	"${CMAKE_CURRENT_BINARY_DIR}"
	) 

cmake_minimum_required(VERSION 2.8)

#=========== flex and bison (yacc) instructions =================

find_package(BISON REQUIRED)
find_package(FLEX REQUIRED)

BISON_TARGET(t2h_parser
             tree2hpt.yy
             ${CMAKE_CURRENT_BINARY_DIR}/tree2hpt.tab.cc
	    COMPILE_FLAGS " -vd -p hpt_yy "
#	    DEFINES_FILE ${CMAKE_CURRENT_BINARY_DIR}/tree2hpt.tab.hh
	)

FLEX_TARGET(t2h_lexer
            tree2hpt.ll
            ${CMAKE_CURRENT_BINARY_DIR}/tree2hpt.lex.cc
	    COMPILE_FLAGS " -Phpt_yy "
#	    DEFINES_FILE ${CMAKE_CURRENT_BINARY_DIR}/tree2hpt.lex.hh
	)
ADD_FLEX_BISON_DEPENDENCY(t2h_lexer t2h_parser)

target_include_directories(Hpt PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
	${FLEX_INCLUDE_DIRS} ${CMAKE_CURRENT_BINARY_DIR})

# set_property(TARGET my_wc PROPERTY CXX_STANDARD 14)

#include_directories(${CMAKE_CURRENT_BINARY_DIR})
#include_directories(${CMAKE_CURRENT_SOURCE_DIR})

#=========== end flex and bison =================

#target_compile_definitions(Hpt PRIVATE ${OpenMP_CXX_FLAGS} )

# setup the version numbering
set_property(TARGET Hpt PROPERTY VERSION "1.0.0")
set_property(TARGET Hpt PROPERTY SOVERSION "1")

#install(TARGETS Hpt DESTINATION lib EXPORT HptTargets)

