cmake_minimum_required (VERSION 3.2)

project(udsf)

if (CMAKE_OPENXGUDSF_BUILD_TYPE STREQUAL Debug) 
	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -DDEBUG_IS_ON=1 -DTRACE_IS_ON=1 -DINFO_IS_ON=1") 
else() 
	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") 
endif()

set(EXTERNAL_INSTALL_LOCATION ${CMAKE_OPENXGUDSF_DIR}/build/ext)
set(SRC_DIR ${CMAKE_OPENXGUDSF_DIR}/src)

include_directories(${EXTERNAL_INSTALL_LOCATION}/json/include)
include_directories(${EXTERNAL_INSTALL_LOCATION}/pistache/include) 
link_directories(${EXTERNAL_INSTALL_LOCATION}/pistache/libs)

include_directories(${SRC_DIR}/connection_pool)
include_directories(${SRC_DIR}/model)
include_directories(${SRC_DIR}/api)
include_directories(${SRC_DIR}/impl)
include_directories(${SRC_DIR}/common)
include_directories(${SRC_DIR}/udsf_app)


file(GLOB SRCS
    ${SRC_DIR}/connection_pool/*.cpp
    ${SRC_DIR}/api/*.cpp
    ${SRC_DIR}/impl/*.cpp
    ${SRC_DIR}/model/*.cpp
    ${SRC_DIR}/common/*.cpp
    ${SRC_DIR}/udsf_app/*.cpp
)

add_executable(${PROJECT_NAME} ${SRCS} )
target_link_libraries(${PROJECT_NAME} pistache pthread mysqlclient config++)
