cmake_minimum_required(VERSION 2.8)
set(CMAKE_DISABLE_SOURCE_CHANGES ON)
set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
project(transducer)

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

if(DECODER_CHECK)
  set(CMAKE_CXX_FLAGS
    "${CMAKE_CXX_FLAGS} -DDECODER_CHECK")
endif()

set(Boost_USE_STATIC_LIBS OFF)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
find_package(Boost COMPONENTS program_options filesystem REQUIRED)

set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib/)
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}/)

include_directories(${Boost_INCLUDE_DIRS})
include_directories(${PROJECT_SOURCE_DIR}/src/)

file(GLOB COMMON_FILES
  "src/io/*.cpp"
  "src/main.cpp"
  "src/common/transducer/*.cpp"
  "src/baseline/*.cpp"
  "src/data_driven/*.cpp")

add_executable(transducer ${COMMON_FILES})
target_link_libraries(transducer ${Boost_LIBRARIES})
