#-------------------------------------------------------------------
# This file is part of the CMake build system for Scol
#
# The contents of this file are placed in the public domain. Feel
# free to make use of it in any way you like.
#-------------------------------------------------------------------

############################################################
# RespirationBelt plugin CMakeList
############################################################

PROJECT(x10)

# define header and source files for the plugin
set (X10_HEADER_FILES
  include/plugin.h
  include/thread.h
  include/x10device.h
)

if (Scol_STATIC)
	set (X10_HEADER_FILES ${X10_HEADER_FILES} include/loadScolX10.h)
endif()

set (X10_SOURCE_FILES
  src/plugin.cpp
  src/thread.cpp
  src/x10device.cpp
)

# Hard linking of the dependent library (directly compiled in plugin).
set (X10_LIB_HEADER_FILES
  include/x10lib/cm12a.h
  include/x10lib/error.h
  include/x10lib/proto.h
  include/x10lib/x10_api.h
)

set (X10_LIB_SOURCE_FILES
  src/x10lib/cm12a.cpp
  src/x10lib/error.cpp
  src/x10lib/tty.cpp
  src/x10lib/x10_lib.cpp
)

scol_include_plugin("X10" "${PROJECT_SOURCE_DIR}/include" "loadScolX10.h")

# Add directories includes
include_directories(include include/x10lib)

# This is how visual studio directories (or filters) are generated.
source_group(Header\ Files\\x10lib FILES ${X10_LIB_HEADER_FILES})

# Same thing for sources files
source_group(Source\ Files\\x10lib FILES ${X10_LIB_SOURCE_FILES})

# Add definition for P4 optimizations, warnings removal.
add_definitions(-DOPTI_P4 -D_CRT_SECURE_NO_WARNINGS)

set(LIBRARIES)

# setup Scol x10 plugin target
add_library(x10
  ${Scol_LIB_TYPE}
  ${X10_HEADER_FILES}
  ${X10_SOURCE_FILES}
  ${X10_LIB_HEADER_FILES}
  ${X10_LIB_SOURCE_FILES}
)
add_dependencies(x10 kernel)

if (ANDROID)
	set(Scol_ANDROID_DEPENDENCIES ${Scol_ANDROID_DEPENDENCIES} x10 CACHE INTERNAL "" FORCE)
	message(STATUS "[${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE}] Scol_ANDROID_DEPENDENCIES: ${Scol_ANDROID_DEPENDENCIES}  -- added serialio to android project deps")
endif()

# set the dll version.
#set_target_properties(x10 PROPERTIES VERSION ${Scol_VERSION} SOVERSION ${Scol_VERSION_MAJOR})
target_link_libraries(x10 ${LIBRARIES})

# install Scol x10
scol_config_plugin(x10)
#install(FILES ${X10_HEADER_FILES} DESTINATION include/SCOL/plugins/x10)