pkg_check_modules(LM75_CHIP_SRV REQUIRED lbDriverLm75Chip-server)
pkg_check_modules(LM75_CONF_SRV REQUIRED lbDriverLm75Config-server)
pkg_check_modules(LB_SENSOR REQUIRED lbSensor-server)
if (BUILD_ENABLE_SIMULATION)
pkg_check_modules(LM75_SIMU_SRV REQUIRED lbDriverLm75Simulation-server)
endif()

if (CMAKE_BUILD_TYPE STREQUAL "Release")
    add_definitions("-DG_DISABLE_ASSERT")
endif()

aux_source_directory(. SRC_LIST)
list(SORT SRC_LIST)
add_library(lm75 SHARED ${SRC_LIST})

target_include_directories(lm75 PUBLIC
    ${GLIB2_INCLUDE_DIRS}
    ${LB_CORE_INCLUDE_DIRS}
    ${HWMON_PUB_INCLUDE_DIRS}
    ${LB_SENSOR_INCLUDE_DIRS}
    ${LM75_CHIP_SRV_INCLUDE_DIRS}
    ${LM75_CONF_SRV_INCLUDE_DIRS}
    )
    target_link_libraries(lm75 PUBLIC
    ${GLIB2_LIBRARIES}
    ${LB_CORE_LIBRARIES}
    ${HWMON_PUB_LIBRARIES}
    ${LB_SENSOR_LIBRARIES}
    ${LM75_CHIP_SRV_LIBRARIES}
    ${LM75_CONF_SRV_LIBRARIES}
    )
    target_link_directories(lm75 PUBLIC
    ${HWMON_PUB_LIBRARY_DIRS}
    ${LB_SENSOR_LIBRARY_DIRS}
    ${LM75_CHIP_SRV_LIBRARY_DIRS}
    ${LM75_CONF_SRV_LIBRARY_DIRS}
    ${LB_CORE_LIBRARY_DIRS}
    )
if (BUILD_ENABLE_SIMULATION)
    target_include_directories(lm75 PUBLIC
        ${LM75_SIMU_SRV_INCLUDE_DIRS}
    )
    target_link_directories(lm75 PUBLIC
        ${LM75_SIMU_SRV_LIBRARY_DIRS}
    )
    target_link_libraries(lm75 PUBLIC
        ${LM75_SIMU_SRV_LIBRARIES}
    )
endif()

install(TARGETS lm75 LIBRARY DESTINATION opt/litebmc/apps/lb_hwmon/plugin)
