cmake_minimum_required(VERSION 2.8.12)
project(argos3_examples)

# Deactivate RPATH for MacOSX
set(CMAKE_MACOSX_RPATH 0)

set(CMAKE_CXX_FLAGS "-std=c++11")

# Set the path where CMake will find additional scripts
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)

# Find the ARGoS package, make sure to save the ARGoS prefix
find_package(PkgConfig)
pkg_check_modules(ARGOS REQUIRED argos3_simulator)
set(ARGOS_PREFIX ${ARGOS_PREFIX} CACHE INTERNAL "")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ARGOS_PREFIX}/share/argos3/cmake)

# Check whether all the necessary libs have been installed to compile the
# code that depends on Qt and OpenGL
include(ARGoSCheckQTOpenGL)

# Find Lua lib
find_package(Lua52 REQUIRED)

# Set ARGoS include dir
include_directories(${CMAKE_SOURCE_DIR} ${ARGOS_INCLUDE_DIRS} ${LUA_INCLUDE_DIR})
include_directories(${CMAKE_SOURCE_DIR}/RoboCalcAPI)

# Set ARGoS link dir
link_directories(${ARGOS_LIBRARY_DIRS})
# Set Curses link dir
link_directories(/usr/lib/x86_64-linux-gnu/)

add_library(epuck_transport_gen MODULE 
ePuck.cpp ePuck.h HardwareComponent.h
IGoalWatch.cpp IGoalWatch.h
IGoalWatchOps.cpp IGoalWatchOps.h
IMotionControl.cpp IMotionControl.h
INeighbourWatch.cpp INeighbourWatch.h
INeighbourWatchOps.cpp INeighbourWatchOps.h
IObjectWatch.cpp IObjectWatch.h
IObjectWatchOps.cpp IObjectWatchOps.h
IWalk.cpp IWalk.h TransportController.cpp TransportController.h
Pusher.cpp Pusher.h System.cpp System.h  
ChannelTypes.h
DataTypes.h
./RoboCalcAPI/Channel.h
./RoboCalcAPI/Event.h
./RoboCalcAPI/State.cpp ./RoboCalcAPI/State.h
./RoboCalcAPI/Controller.h
./RoboCalcAPI/Optional.h
./RoboCalcAPI/Timer.h
)

target_link_libraries(epuck_transport_gen
  argos3core_simulator
  argos3plugin_simulator_footbot
  argos3plugin_simulator_genericrobot
)


