| 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) |
| |