cmake_minimum_required(VERSION 3.14)

project(power_mgmt)
find_package(PkgConfig REQUIRED)
pkg_search_module(GLIB REQUIRED glib-2.0)
pkg_search_module(GMODULE REQUIRED gmodule-2.0)

set(TARGET_LIB ${PROJECT_NAME})
set(BUILD_DIR temp)

include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup()

set(APP_INSTALL_DIR opt/bmc/apps/${PROJECT_NAME})
set(LUACLIB_INSTALL_DIR ${APP_INSTALL_DIR}/luaclib)

if(BUILD_MANUFACTURE)
    install(DIRECTORY manufacture/ DESTINATION ${APP_INSTALL_DIR} OPTIONAL)
endif()
install(DIRECTORY src/lualib DESTINATION ${APP_INSTALL_DIR} OPTIONAL)
install(DIRECTORY include/ DESTINATION opt/bmc/lualib OPTIONAL)
install(DIRECTORY src/service DESTINATION ${APP_INSTALL_DIR} OPTIONAL)
install(DIRECTORY gen/${PROJECT_NAME}/ DESTINATION ${APP_INSTALL_DIR} OPTIONAL)
install(DIRECTORY gen/class DESTINATION ${APP_INSTALL_DIR} OPTIONAL)
install(FILES mds/schema.json DESTINATION ${APP_INSTALL_DIR}/mds OPTIONAL)
install(FILES mds/service.json DESTINATION ${APP_INSTALL_DIR}/mds OPTIONAL)
install(DIRECTORY dist/user_conf/rootfs/ DESTINATION . USE_SOURCE_PERMISSIONS OPTIONAL)
install(FILES dist/config.cfg DESTINATION ${APP_INSTALL_DIR} OPTIONAL)

if (NOT $(CMAKE_BUILD_TYPE) STREQUAL Release)
    install(DIRECTORY gen/debug/ DESTINATION ${APP_INSTALL_DIR}/debug OPTIONAL)
    install(DIRECTORY src/debug/lualib DESTINATION ${APP_INSTALL_DIR} OPTIONAL)
endif()

if(CONAN_DEFS_CHIPV2_ENABLE)
    install(FILES platforms/chipv2/log_def.lua DESTINATION ${APP_INSTALL_DIR}/lualib/macros)
else()
    install(FILES platforms/chipv1/log_def.lua DESTINATION ${APP_INSTALL_DIR}/lualib/macros)
endif()
