CMAKE_MINIMUM_REQUIRED(VERSION 3.10 FATAL_ERROR)

PROJECT(vCPE_project)

OPTION(VCPE_AGENT "Enable vCPE agent test application" OFF)
OPTION(USED_LWIP "PPPoE of LWIP support for vCPE" OFF)
OPTION(USED_OPENDHCPD "DHCP server for vCPE" OFF)
OPTION(USED_OPENDHCPDDNS "DHCP And DNS server for vCPE" OFF)

# 数据库开关
OPTION(USED_REDIS "Add redis database support for vCPE" OFF)
OPTION(USED_MYSQL "Add mysql database support for vCPE" OFF)
OPTION(USED_SQLITE "Add sqlite3 database support for vCPE" OFF)

SET(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/usr/local/lib/pkgconfig")
SET(URI_HOME "${CMAKE_SOURCE_DIR}/libs")

EXECUTE_PROCESS(COMMAND git describe --tags --always --dirty=-dev
                OUTPUT_VARIABLE GIT_TAG)

IF ("${GIT_TAG}" STREQUAL "")
    STRING(TIMESTAMP COMPILE_TIME %Y-%m-%d_%H:%M:%S)
    SET(GIT_VERSION ${COMPILE_TIME})
ELSE ()
    STRING(REGEX REPLACE "\n$" "" GIT_TAG ${GIT_TAG})
    SET(GIT_VERSION ${GIT_TAG})
ENDIF ()

MESSAGE("Version: " ${GIT_VERSION})

IF (USED_LWIP)
    LIST(APPEND COMMON_DEFINE "-DLWIP_ON")
ENDIF ()

IF (USED_OPENDHCPD)
    LIST(APPEND COMMON_DEFINE "-DOPENDHCPD_ON")
ENDIF ()

IF (USED_OPENDHCPDDNS)
    LIST(APPEND COMMON_DEFINE "-DOPENDHCPDDNS_ON")
ENDIF ()

IF (VCPE_AGENT)
    MESSAGE("Select Option VCPE_AGENT")
ENDIF ()

IF (USED_LWIP)
    MESSAGE("Select Option USED_LWIP")
ENDIF ()

IF (USED_SQLITE)
    MESSAGE("Select Option USED_SQLITE")
ENDIF ()

IF (USED_OPENDHCPD)
    MESSAGE("Select Option USED_OPENDHCPD")
    ADD_SUBDIRECTORY(srcs/open_dhcp)
ENDIF ()

IF (USED_OPENDHCPDDNS)
    MESSAGE("Select Option USED_OPENDHCPDDNS")
    ADD_SUBDIRECTORY(srcs/dual_server)
ENDIF ()

IF (USED_LWIP OR VCPE_AGENT)
    ADD_SUBDIRECTORY(srcs/lwip)
ENDIF ()

ADD_SUBDIRECTORY(srcs)
ADD_SUBDIRECTORY(srcs/libs)
ADD_SUBDIRECTORY(srcs/httpserver)