cmake_minimum_required (VERSION 3.2)

project(plugin)

#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -pg -g3" )
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -DDEBUG_IS_ON=1 -DTRACE_IS_ON=1 -DINFO_IS_ON=1")
include(ExternalProject)

set(CMAKE_CURRENT_SOURCE_DIR /home/ue/gnb-sbi-plugin)


set(EXTERNAL_INSTALL_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/build/ext)
set(SRC_DIR /home/ue/gnb-sbi-plugin/src)    
#ExternalProject_Add(PISTACHE
#	SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/include/pistache
#	 BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}//external/include/pistache
##    GIT_REPOSITORY https://github.com/oktal/pistache.git
##  GIT_REPOSITORY https://github.com/pistacheio/pistache
#    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTERNAL_INSTALL_LOCATION}
#)

#ExternalProject_Add(NLOHMANN
#	SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/include/json
#	BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}//external/include/json
##    GIT_REPOSITORY https://github.com/nlohmann/json.git
#    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTERNAL_INSTALL_LOCATION}

#)
include_directories(${EXTERNAL_INSTALL_LOCATION}/include)
link_directories(${EXTERNAL_INSTALL_LOCATION}/lib)


include_directories(${SRC_DIR}/sctp)
include_directories(${SRC_DIR}/sbi)
include_directories(${SRC_DIR}/common)
include_directories(${SRC_DIR}/plugin_app)
include_directories(${SRC_DIR}/api)
include_directories(${SRC_DIR}/impl)
include_directories(${SRC_DIR}/model)
include_directories(${SRC_DIR}/utils)

file(GLOB SRCS
    ${SRC_DIR}/sbi/*.cpp
    ${SRC_DIR}/sctp/*.cpp
    ${SRC_DIR}/plugin_app/*.cpp
    ${SRC_DIR}/common/*.cpp
    ${SRC_DIR}/common/*.c
    ${SRC_DIR}/api/*.cpp
    ${SRC_DIR}/impl/*.cpp
    ${SRC_DIR}/model/*.cpp
    ${SRC_DIR}/utils/*.cpp
    ${SRC_DIR}/utils/*.c
    ${EXTERNAL_INSTALL_LOCATION}/build/src/spdlog/*.cpp
)

add_executable(${PROJECT_NAME} ${SRCS} )
#add_dependencies(${PROJECT_NAME} PISTACHE)
target_link_libraries(${PROJECT_NAME} curl pistache sctp pthread config++)

