project(io_node_operator C)
cmake_minimum_required(VERSION 3.0)

if(NOT DEFINED CMAKE_TOOLCHAIN_FILE)
    set(CMAKE_TOOLCHAIN_FILE toolchain-native.cmake)
endif(NOT DEFINED CMAKE_TOOLCHAIN_FILE)

include(${CMAKE_TOOLCHAIN_FILE})

find_library(
    IOTHINXIO_LIB
    NAMES iothinxio
    HINTS ${IOTHINXIO_LIB_DIR}
    )
include_directories(${MX_NODE_SDK_INC_DIR})
include_directories(${IOTHINXIO_INC_DIR})

set(CMAKE_BUILD_TYPE "Release")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -rdynamic")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,-rpath -Wl,/usr/lib/iothinx")
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

add_library(operator SHARED
    io_node_operator.c
    cJSON.c
)

target_link_libraries(operator ${IOTHINXIO_LIB})
