project(statistical-edges)
cmake_minimum_required(VERSION 2.8)

# Use local headers
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)

# Use OpenCV
find_package (OpenCV REQUIRED)
include_directories (${OpenCV_INCLUDE_DIR})

# Use PCL
find_package(PCL 1.8 COMPONENTS visualization features io keypoints)
INCLUDE_DIRECTORIES (${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})

# Compilation flags
set (CMAKE_C_FLAGS "-W -Wall -Wextra --pedantic -Wno-unused-function -Wno-unused-parameter -Wno-strict-aliasing -fno-strict-aliasing -std=gnu99 -O3 -ffast-math -funroll-loops")
set (CMAKE_CXX_FLAGS "-W -Wno-strict-aliasing -fno-strict-aliasing -ffast-math -std=gnu++0x -O3 -funroll-loops")


# Binaries in build_directory/bin
set (EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)

# Add library
set (LIB_SOURCES
  src/statistical_edges.cpp
  src/yaml_io.cpp
  src/fast_math_funcs.h
  src/ped0.cpp
  src/ped1.cpp
  src/ped2.cpp
  src/pdfs.h
)

add_library(statisticaledges SHARED ${LIB_SOURCES})
target_link_libraries(statisticaledges m ${OpenCV_LIBS})

# Add examples
add_subdirectory (examples)

# Install the header files
install (DIRECTORY include DESTINATION include/${CMAKE_PROJECT_NAME})

