blob: e8b7ea4bd91c20536ce7bd8d0ffdfd4e549b056f [file] [log] [blame]
# 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 ()