PROJECT(mb500)
SET(PROJECT_VERSION 1.0)

CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
INCLUDE(FindPkgConfig)

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -g")
MACRO(CMAKE_USE_FULL_RPATH install_rpath)
    SET(CMAKE_SKIP_BUILD_RPATH  FALSE)
    SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) 
    SET(CMAKE_INSTALL_RPATH ${install_rpath})
    SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
ENDMACRO(CMAKE_USE_FULL_RPATH)
CMAKE_USE_FULL_RPATH("${CMAKE_INSTALL_PREFIX}/lib")

pkg_check_modules(BASE_TYPES REQUIRED "base-types")
INCLUDE_DIRECTORIES(${BASE_TYPES_INCLUDE_DIRS})
LINK_DIRECTORIES(${BASE_TYPES_LIBRARY_DIRS})
ADD_DEFINITIONS(${BASE_TYPES_CFLAGS_OTHER})

pkg_check_modules(IO REQUIRED "iodrivers_base")
INCLUDE_DIRECTORIES(${IO_INCLUDE_DIRS})
LINK_DIRECTORIES(${IO_LIBRARY_DIRS})

INCLUDE_DIRECTORIES(BEFORE ${PROJECT_SOURCE_DIR})

ADD_LIBRARY(mb500 SHARED mb500.cc)
TARGET_LINK_LIBRARIES(mb500 ${BASE_TYPES_LIBRARIES} ${IO_LIBRARIES})

ADD_EXECUTABLE(mb500_base mb500_base.cc)
TARGET_LINK_LIBRARIES(mb500_base mb500)

ADD_EXECUTABLE(mb500_rover mb500_rover.cc)
TARGET_LINK_LIBRARIES(mb500_rover mb500)

ADD_EXECUTABLE(mb500_tool mb500_tool.cc)
TARGET_LINK_LIBRARIES(mb500_tool mb500)

ADD_EXECUTABLE(mb500_test mb500_test.cc)
TARGET_LINK_LIBRARIES(mb500_test mb500)

#ADD_EXECUTABLE(mb500_acq mb500_acq.cc)
#TARGET_LINK_LIBRARIES(mb500_acq mb500)

INSTALL(TARGETS mb500 #mb500_acq
    RUNTIME DESTINATION bin
    LIBRARY DESTINATION lib)
INSTALL(FILES mb500.hh gps_types.hh mb500_types.hh DESTINATION include)

CONFIGURE_FILE(Doxyfile.in Doxyfile @ONLY)
ADD_CUSTOM_TARGET(doc doxygen Doxyfile)

CONFIGURE_FILE(mb500.pc.in mb500.pc @ONLY)
INSTALL(FILES ${CMAKE_BINARY_DIR}/mb500.pc DESTINATION lib/pkgconfig)

