# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Test module sources.
######################
set(TEST_ALLOCATOR_SRC          test_allocator_module.cpp)
set(TEST_ANONYMOUS_SRC          test_anonymous_module.cpp)
set(TEST_AUTHENTICATION_SRC     test_authentication_modules.cpp)
set(TEST_AUTHORIZER_SRC         test_authorizer_module.cpp)
set(TEST_CONTAINER_LOGGER_SRC   test_container_logger_module.cpp)
set(TEST_EXAMPLEMODULE_SRC      example_module_impl.cpp)
set(TEST_HOOK_SRC               test_hook_module.cpp)
set(TEST_HTTPAUTHENTICATOR_SRC  test_http_authenticator_module.cpp)
set(TEST_ISOLATOR_SRC           test_isolator_module.cpp)
set(TEST_MASTER_CONTENDER_SRC   test_master_contender_module.cpp)
set(TEST_MASTER_DETECTOR_SRC    test_master_detector_module.cpp)
set(TEST_QOS_CONTROLLER_SRC     test_qos_controller_module.cpp)
set(TEST_RESOURCE_ESTIMATOR_SRC test_resource_estimator_module.cpp)


# Example framework and executor sources.
#########################################
set(BALLOON_EXECUTOR_SRC              balloon_executor.cpp)
set(BALLOON_FRAMEWORK_SRC             balloon_framework.cpp)
set(DISK_FULL_FRAMEWORK_SRC           disk_full_framework.cpp)
set(DOCKER_NO_EXECUTOR_FRAMEWORK_SRC  docker_no_executor_framework.cpp)
set(DYNAMIC_RESERVATION_FRAMEWORK_SRC dynamic_reservation_framework.cpp)
set(LOAD_GENERATOR_FRAMEWORK_SRC      load_generator_framework.cpp)
set(LONG_LIVED_EXECUTOR_SRC           long_lived_executor.cpp)
set(LONG_LIVED_FRAMEWORK_SRC          long_lived_framework.cpp)
set(NO_EXECUTOR_FRAMEWORK_SRC         no_executor_framework.cpp)
set(PERSISTENT_VOLUME_FRAMEWORK_SRC   persistent_volume_framework.cpp)
set(TEST_EXECUTOR_SRC                 test_executor.cpp)
set(TEST_FRAMEWORK_SRC                test_framework.cpp)
set(TEST_HTTP_EXECUTOR_SRC            test_http_executor.cpp)
set(TEST_HTTP_FRAMEWORK_SRC           test_http_framework.cpp)


# Build the test modules.
#########################
# NOTE: Modules are not supported on Windows.
if (NOT WIN32)
  add_library(${TEST_ALLOCATOR}          SHARED EXCLUDE_FROM_ALL ${TEST_ALLOCATOR_SRC})
  add_library(${TEST_ANONYMOUS}          SHARED EXCLUDE_FROM_ALL ${TEST_ANONYMOUS_SRC})
  add_library(${TEST_AUTHENTICATION}     SHARED EXCLUDE_FROM_ALL ${TEST_AUTHENTICATION_SRC})
  add_library(${TEST_AUTHORIZER}         SHARED EXCLUDE_FROM_ALL ${TEST_AUTHORIZER_SRC})
  add_library(${TEST_CONTAINER_LOGGER}   SHARED EXCLUDE_FROM_ALL ${TEST_CONTAINER_LOGGER_SRC})
  add_library(${TEST_EXAMPLEMODULE}      SHARED EXCLUDE_FROM_ALL ${TEST_EXAMPLEMODULE_SRC})
  add_library(${TEST_HOOK}               SHARED EXCLUDE_FROM_ALL ${TEST_HOOK_SRC})
  add_library(${TEST_HTTPAUTHENTICATOR}  SHARED EXCLUDE_FROM_ALL ${TEST_HTTPAUTHENTICATOR_SRC})
  add_library(${TEST_ISOLATOR}           SHARED EXCLUDE_FROM_ALL ${TEST_ISOLATOR_SRC})
  add_library(${TEST_MASTER_CONTENDER}   SHARED EXCLUDE_FROM_ALL ${TEST_MASTER_CONTENDER_SRC})
  add_library(${TEST_MASTER_DETECTOR}    SHARED EXCLUDE_FROM_ALL ${TEST_MASTER_DETECTOR_SRC})
  add_library(${TEST_QOS_CONTROLLER}     SHARED EXCLUDE_FROM_ALL ${TEST_QOS_CONTROLLER_SRC})
  add_library(${TEST_RESOURCE_ESTIMATOR} SHARED EXCLUDE_FROM_ALL ${TEST_RESOURCE_ESTIMATOR_SRC})
endif ()


# Build the example frameworks and executors.
#############################################
# TODO(josephw): The scheduler driver is current not built on Windows.
if (NOT WIN32)
  add_executable(${BALLOON_EXECUTOR}              ${BALLOON_EXECUTOR_SRC})
  add_executable(${BALLOON_FRAMEWORK}             ${BALLOON_FRAMEWORK_SRC})
  add_executable(${DISK_FULL_FRAMEWORK}           ${DISK_FULL_FRAMEWORK_SRC})
  add_executable(${DOCKER_NO_EXECUTOR_FRAMEWORK}  ${DOCKER_NO_EXECUTOR_FRAMEWORK_SRC})
  add_executable(${DYNAMIC_RESERVATION_FRAMEWORK} ${DYNAMIC_RESERVATION_FRAMEWORK_SRC})
  add_executable(${LOAD_GENERATOR_FRAMEWORK}      ${LOAD_GENERATOR_FRAMEWORK_SRC})
  add_executable(${LONG_LIVED_EXECUTOR}           ${LONG_LIVED_EXECUTOR_SRC})
  add_executable(${LONG_LIVED_FRAMEWORK}          ${LONG_LIVED_FRAMEWORK_SRC})
  add_executable(${NO_EXECUTOR_FRAMEWORK}         ${NO_EXECUTOR_FRAMEWORK_SRC})
  add_executable(${PERSISTENT_VOLUME_FRAMEWORK}   ${PERSISTENT_VOLUME_FRAMEWORK_SRC})
  add_executable(${TEST_EXECUTOR}                 ${TEST_EXECUTOR_SRC})
  add_executable(${TEST_FRAMEWORK}                ${TEST_FRAMEWORK_SRC})
  add_executable(${TEST_HTTP_EXECUTOR}            ${TEST_HTTP_EXECUTOR_SRC})
  add_executable(${TEST_HTTP_FRAMEWORK}           ${TEST_HTTP_FRAMEWORK_SRC})
endif ()


# ADD LINKER FLAGS (generates, e.g., -lglog on Linux).
######################################################
if (NOT WIN32)
  target_link_libraries(${TEST_ALLOCATOR}          ${MESOS_LIBS_TARGET})
  target_link_libraries(${TEST_ANONYMOUS}          ${MESOS_LIBS_TARGET})
  target_link_libraries(${TEST_AUTHENTICATION}     ${MESOS_LIBS_TARGET})
  target_link_libraries(${TEST_AUTHORIZER}         ${MESOS_LIBS_TARGET})
  target_link_libraries(${TEST_CONTAINER_LOGGER}   ${MESOS_LIBS_TARGET})
  target_link_libraries(${TEST_EXAMPLEMODULE}      ${MESOS_LIBS_TARGET})
  target_link_libraries(${TEST_HOOK}               ${MESOS_LIBS_TARGET})
  target_link_libraries(${TEST_HTTPAUTHENTICATOR}  ${MESOS_LIBS_TARGET})
  target_link_libraries(${TEST_ISOLATOR}           ${MESOS_LIBS_TARGET})
  target_link_libraries(${TEST_MASTER_CONTENDER}   ${MESOS_LIBS_TARGET})
  target_link_libraries(${TEST_MASTER_DETECTOR}    ${MESOS_LIBS_TARGET})
  target_link_libraries(${TEST_QOS_CONTROLLER}     ${MESOS_LIBS_TARGET})
  target_link_libraries(${TEST_RESOURCE_ESTIMATOR} ${MESOS_LIBS_TARGET})

  target_link_libraries(${BALLOON_EXECUTOR}              ${MESOS_LIBS_TARGET})
  target_link_libraries(${BALLOON_FRAMEWORK}             ${MESOS_LIBS_TARGET})
  target_link_libraries(${DISK_FULL_FRAMEWORK}           ${MESOS_LIBS_TARGET})
  target_link_libraries(${DOCKER_NO_EXECUTOR_FRAMEWORK}  ${MESOS_LIBS_TARGET})
  target_link_libraries(${DYNAMIC_RESERVATION_FRAMEWORK} ${MESOS_LIBS_TARGET})
  target_link_libraries(${LOAD_GENERATOR_FRAMEWORK}      ${MESOS_LIBS_TARGET})
  target_link_libraries(${LONG_LIVED_EXECUTOR}           ${MESOS_LIBS_TARGET})
  target_link_libraries(${LONG_LIVED_FRAMEWORK}          ${MESOS_LIBS_TARGET})
  target_link_libraries(${NO_EXECUTOR_FRAMEWORK}         ${MESOS_LIBS_TARGET})
  target_link_libraries(${PERSISTENT_VOLUME_FRAMEWORK}   ${MESOS_LIBS_TARGET})
  target_link_libraries(${TEST_EXECUTOR}                 ${MESOS_LIBS_TARGET})
  target_link_libraries(${TEST_FRAMEWORK}                ${MESOS_LIBS_TARGET})
  target_link_libraries(${TEST_HTTP_EXECUTOR}            ${MESOS_LIBS_TARGET})
  target_link_libraries(${TEST_HTTP_FRAMEWORK}           ${MESOS_LIBS_TARGET})
endif ()


# ADD BINARY DEPENDENCIES (tells CMake what to compile/build first).
####################################################################
if (NOT WIN32)
  add_dependencies(${TEST_ALLOCATOR}          ${MESOS_LIBS_TARGET})
  add_dependencies(${TEST_ANONYMOUS}          ${MESOS_LIBS_TARGET})
  add_dependencies(${TEST_AUTHENTICATION}     ${MESOS_LIBS_TARGET})
  add_dependencies(${TEST_AUTHORIZER}         ${MESOS_LIBS_TARGET})
  add_dependencies(${TEST_CONTAINER_LOGGER}   ${MESOS_LIBS_TARGET})
  add_dependencies(${TEST_EXAMPLEMODULE}      ${MESOS_LIBS_TARGET})
  add_dependencies(${TEST_HOOK}               ${MESOS_LIBS_TARGET})
  add_dependencies(${TEST_HTTPAUTHENTICATOR}  ${MESOS_LIBS_TARGET})
  add_dependencies(${TEST_ISOLATOR}           ${MESOS_LIBS_TARGET})
  add_dependencies(${TEST_MASTER_CONTENDER}   ${MESOS_LIBS_TARGET})
  add_dependencies(${TEST_MASTER_DETECTOR}    ${MESOS_LIBS_TARGET})
  add_dependencies(${TEST_QOS_CONTROLLER}     ${MESOS_LIBS_TARGET})
  add_dependencies(${TEST_RESOURCE_ESTIMATOR} ${MESOS_LIBS_TARGET})

  add_dependencies(${BALLOON_EXECUTOR}              ${MESOS_LIBS_TARGET})
  add_dependencies(${BALLOON_FRAMEWORK}             ${MESOS_LIBS_TARGET})
  add_dependencies(${DISK_FULL_FRAMEWORK}           ${MESOS_LIBS_TARGET})
  add_dependencies(${DOCKER_NO_EXECUTOR_FRAMEWORK}  ${MESOS_LIBS_TARGET})
  add_dependencies(${DYNAMIC_RESERVATION_FRAMEWORK} ${MESOS_LIBS_TARGET})
  add_dependencies(${LOAD_GENERATOR_FRAMEWORK}      ${MESOS_LIBS_TARGET})
  add_dependencies(${LONG_LIVED_EXECUTOR}           ${MESOS_LIBS_TARGET})
  add_dependencies(${LONG_LIVED_FRAMEWORK}          ${MESOS_LIBS_TARGET})
  add_dependencies(${NO_EXECUTOR_FRAMEWORK}         ${MESOS_LIBS_TARGET})
  add_dependencies(${PERSISTENT_VOLUME_FRAMEWORK}   ${MESOS_LIBS_TARGET})
  add_dependencies(${TEST_EXECUTOR}                 ${MESOS_LIBS_TARGET})
  add_dependencies(${TEST_FRAMEWORK}                ${MESOS_LIBS_TARGET})
  add_dependencies(${TEST_HTTP_EXECUTOR}            ${MESOS_LIBS_TARGET})
  add_dependencies(${TEST_HTTP_FRAMEWORK}           ${MESOS_LIBS_TARGET})
endif ()
