cmake_minimum_required(VERSION 2.8.3)
project(homer_map_manager)

find_package(catkin REQUIRED COMPONENTS roscpp roslib tf homer_mapnav_msgs homer_nav_libs std_srvs cmake_modules)

find_package( Eigen REQUIRED )

find_package(PkgConfig REQUIRED)
pkg_check_modules(YAML_CPP REQUIRED yaml-cpp)

if(NOT ${YAML_CPP_VERSION} VERSION_LESS "0.5")
	add_definitions(-DHAVE_NEW_YAMLCPP)
endif()

catkin_package(
	CATKIN_DEPENDS
		roscpp
		roslib
		tf
		homer_mapnav_msgs
		homer_nav_libs
		std_srvs
	INCLUDE_DIRS include
)

include_directories(
	include
	${catkin_INCLUDE_DIRS}
	${EIGEN_INCLUDE_DIRS}
)

add_subdirectory(${PROJECT_SOURCE_DIR}/src/Managers)
add_subdirectory(${PROJECT_SOURCE_DIR}/src/MapIO)

add_executable(map_manager src/map_manager_node.cpp)

target_link_libraries(
	map_manager
		${catkin_LIBRARIES}
		Managers
		image_io
)

add_dependencies(
	map_manager
		${catkin_EXPORTED_TARGETS}
		homer_mapnav_msgs_gencpp
)

install(TARGETS map_manager DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})
install(DIRECTORY include/homer_map_manager/ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION})
