add_subdirectory(xrt++)

include_directories(
  ${CMAKE_CURRENT_SOURCE_DIR}
  ${DRM_INCLUDE_DIRS}
  ${BOOST_FILESYSTEM_INCLUDE_DIRS}
  ${BOOST_SYSTEM_INCLUDE_DIRS}
  )

set(XRT_XRT_DEVICE_DIR  "${CMAKE_CURRENT_SOURCE_DIR}/device")
set(XRT_XRT_SCHED_DIR   "${CMAKE_CURRENT_SOURCE_DIR}/scheduler")
set(XRT_XRT_UTIL_DIR    "${CMAKE_CURRENT_SOURCE_DIR}/util")
set(XRT_XRT_CPP_DIR     "${CMAKE_CURRENT_SOURCE_DIR}/xrt++")

file(GLOB XRT_XRT_DEVICE_FILES
  "${XRT_XRT_DEVICE_DIR}/*.h"
  "${XRT_XRT_DEVICE_DIR}/*.cpp"
  )

file(GLOB XRT_XRT_SCHED_FILES
  "${XRT_XRT_SCHED_DIR}/*.h"
  "${XRT_XRT_SCHED_DIR}/*.cpp"
  )

file(GLOB XRT_XRT_UTIL_FILES
  "${XRT_XRT_UTIL_DIR}/*.h"
  "${XRT_XRT_UTIL_DIR}/*.cpp"
  )

file(GLOB XRT_XRT_CPP_FILES
  "${XRT_XRT_CPP_DIR}/*.hpp"
  "${XRT_XRT_CPP_DIR}/*.cpp"
  )

set(XRT_XRT_ALL_SRC
  ${XRT_XRT_DEVICE_FILES}
  ${XRT_XRT_SCHED_FILES}
  ${XRT_XRT_UTIL_FILES}
  ${XRT_XRT_CPP_FILES}
  )

add_library(xrt OBJECT ${XRT_XRT_ALL_SRC})

set(XRT_SRC "")

add_library(xrt++ SHARED ${XRT_SRC}
  $<TARGET_OBJECTS:xrt>
  )

set_target_properties(xrt++ PROPERTIES VERSION ${XRT_VERSION_STRING}
  SOVERSION ${XRT_SOVERSION})

install (TARGETS xrt++ LIBRARY DESTINATION ${XRT_INSTALL_DIR}/lib)
