CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

AUTO_SOURCES(function_SOURCES "*.cpp" "RECURSE" "${CMAKE_CURRENT_SOURCE_DIR}")

INCLUDE_DIRECTORIES(${gmock_INCLUDE_DIR} ${gtest_INCLUDE_DIR} ${libyarn_ROOT_SOURCES_DIR})

IF(NEED_BOOST)
    INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
ENDIF(NEED_BOOST)

INCLUDE_DIRECTORIES(${libyarn_ROOT_SOURCES_DIR})
INCLUDE_DIRECTORIES(${libyarn_COMMON_SOURCES_DIR})
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
INCLUDE_DIRECTORIES(${PROTOBUF_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(${libyarn_PLATFORM_HEADER_DIR})
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
INCLUDE_DIRECTORIES(${KERBEROS_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(${GSASL_INCLUDE_DIR})
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/mock)

PROTOBUF_GENERATE_CPP(libyarn_PROTO_SOURCES libyarn_PROTO_HEADERS ${libyarn_PROTO_FILES})

IF(ENABLE_DEBUG STREQUAL ON)
    SET(libyarn_SOURCES ${libyarn_SOURCES} ${libyarn_MOCK_SOURCES})
ENDIF(ENABLE_DEBUG STREQUAL ON)

IF(NOT HDFS_SUPERUSER)
    SET(HDFS_SUPERUSER $ENV{USER})
ENDIF(NOT HDFS_SUPERUSER)

ADD_DEFINITIONS(-DHDFS_SUPERUSER="${HDFS_SUPERUSER}")
ADD_DEFINITIONS(-DUSER="$ENV{USER}")

ADD_EXECUTABLE(function EXCLUDE_FROM_ALL
    ${gtest_SOURCES}
    ${gmock_SOURCES}
    ${libyarn_SOURCES} 
    ${libyarn_PROTO_SOURCES} 
    ${libyarn_PROTO_HEADERS}
    ${function_SOURCES}
)

TARGET_LINK_LIBRARIES(function pthread)

IF(NEED_BOOST)
    INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
    SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L${Boost_LIBRARY_DIRS}")
    TARGET_LINK_LIBRARIES(function boost_thread)
    TARGET_LINK_LIBRARIES(function boost_chrono)
    TARGET_LINK_LIBRARIES(function boost_system)
ENDIF(NEED_BOOST)

IF(NEED_GCCEH)
	TARGET_LINK_LIBRARIES(function gcc_eh)
ENDIF(NEED_GCCEH)

IF(OS_LINUX)
	TARGET_LINK_LIBRARIES(function uuid)
ENDIF(OS_LINUX)

TARGET_LINK_LIBRARIES(function ${PROTOBUF_LIBRARIES})
TARGET_LINK_LIBRARIES(function ${LIBXML2_LIBRARIES})
TARGET_LINK_LIBRARIES(function ${KERBEROS_LIBRARIES})
TARGET_LINK_LIBRARIES(function ${GSASL_LIBRARIES})
TARGET_LINK_LIBRARIES(function ${GoogleTest_LIBRARIES})

SET(function_SOURCES ${function_SOURCES} PARENT_SCOPE)

