From 3a359006b6c0aab4689e5fbd9e026fb8b6d5f79e Mon Sep 17 00:00:00 2001 From: Craig Ringer Date: Thu, 1 Feb 2018 12:38:49 +0800 Subject: [PATCH] Factor Crossdock support out into separate build Signed-off-by: Craig Ringer --- CMakeLists.txt | 2 ++ README.md | 10 ++++++ crossdock/CMakeLists.txt | 38 +++++++++++++++++++++ src/jaegertracing/CMakeLists-UnitTest.cmake | 32 ----------------- 4 files changed, 50 insertions(+), 32 deletions(-) create mode 100644 crossdock/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 158194d7..d1b81d2a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -131,4 +131,6 @@ if (BUILD_TESTING) enable_testing() add_custom_target(check COMMAND echo "run make test instead") endif() + add_subdirectory(src/jaegertracing) +add_subdirectory(crossdock) diff --git a/README.md b/README.md index cb9a3141..cd90b69e 100644 --- a/README.md +++ b/README.md @@ -189,6 +189,16 @@ Most other cmake standard variables are supported. +## Running tests + +A set of mocked, server-less tests may be run with + + make test + +Integration tests using Crossdock +may be enabled with the `cmake` option `-DJAEGERTRACING_BUILD_CROSSDOCK=1` +then running `make crossdock-run`. + [ci-img]: https://travis-ci.org/jaegertracing/cpp-client.svg?branch=master [ci]: https://travis-ci.org/jaegertracing/cpp-client [cov-img]: https://codecov.io/gh/jaegertracing/cpp-client/branch/master/graph/badge.svg diff --git a/crossdock/CMakeLists.txt b/crossdock/CMakeLists.txt new file mode 100644 index 00000000..79465909 --- /dev/null +++ b/crossdock/CMakeLists.txt @@ -0,0 +1,38 @@ +cmake_minimum_required(VERSION 3.3) + +project(jaegertracing_crossdock LANGUAGES CXX) + +if(JAEGERTRACING_BUILD_CROSSDOCK) + add_executable(crossdock Server.cpp) + target_include_directories(crossdock PUBLIC + $) + target_link_libraries(crossdock PUBLIC jaegertracing-static) + + set(JAEGER_CROSSDOCK_URL +"https://raw.githubusercontent.com/jaegertracing/jaeger/master/docker-compose/\ +jaeger-docker-compose.yml") + file(DOWNLOAD ${JAEGER_CROSSDOCK_URL} "${CMAKE_CURRENT_BINARY_DIR}/jaeger-docker-compose.yml") + find_program(DOCKER_COMPOSE_EXE docker-compose) + if (NOT DOCKER_COMPOSE_EXE) + message(WARNING "cannot build crossdock support requested by -DJAEGERTRACING_BUILD_CROSSDOCK: docker-compose not found") + else() + set(DOCKER_COMPOSE_CMD ${DOCKER_COMPOSE_EXE} + -f "${CMAKE_CURRENT_SOURCE_DIR}/docker-compose.yml" + -f "${CMAKE_CURRENT_BINARY_DIR}/jaeger-docker-compose.yml") + add_custom_target(crossdock-kill + COMMAND ${DOCKER_COMPOSE_CMD} kill + COMMAND ${DOCKER_COMPOSE_CMD} rm --force) + add_custom_target(crossdock-run + COMMAND ${DOCKER_COMPOSE_CMD} build + COMMAND ${DOCKER_COMPOSE_CMD} run crossdock + DEPENDS crossdock-kill) + add_custom_target(crossdock-fresh + COMMAND ${DOCKER_COMPOSE_CMD} pull + COMMAND ${DOCKER_COMPOSE_CMD} build + COMMAND ${DOCKER_COMPOSE_CMD} run crossdock + DEPENDS crossdock-kill) + add_custom_target(crossdock-logs + COMMAND ${DOCKER_COMPOSE_CMD} logs) + message(STATUS "crossdock enabled, use 'make crossdock-run'") + endif() +endif() diff --git a/src/jaegertracing/CMakeLists-UnitTest.cmake b/src/jaegertracing/CMakeLists-UnitTest.cmake index 69b20906..a6b5659c 100644 --- a/src/jaegertracing/CMakeLists-UnitTest.cmake +++ b/src/jaegertracing/CMakeLists-UnitTest.cmake @@ -14,38 +14,6 @@ if(BUILD_TESTING) "*Test.cpp") endif() -if(JAEGERTRACING_BUILD_CROSSDOCK) - set(CROSSDOCK_SRC crossdock/Server.cpp) - add_executable(crossdock ${CROSSDOCK_SRC}) - target_include_directories(crossdock PUBLIC - $) - target_link_libraries(crossdock PUBLIC jaegertracing-static) - - set(JAEGER_CROSSDOCK_URL -"https://raw.githubusercontent.com/jaegertracing/jaeger/master/docker-compose/\ -jaeger-docker-compose.yml") - file(DOWNLOAD ${JAEGER_CROSSDOCK_URL} - "${jaegertracing_SOURCE_DIR}/crossdock/jaeger-docker-compose.yml") - find_program(DOCKER_COMPOSE_EXE docker-compose REQUIRED) - set(DOCKER_COMPOSE_CMD ${DOCKER_COMPOSE_EXE} - -f ${jaegertracing_SOURCE_DIR}/crossdock/docker-compose.yml - -f ${jaegertracing_SOURCE_DIR}/crossdock/jaeger-docker-compose.yml) - add_custom_target(crossdock-kill - COMMAND ${DOCKER_COMPOSE_CMD} kill - COMMAND ${DOCKER_COMPOSE_CMD} rm --force) - add_custom_target(crossdock-run - COMMAND ${DOCKER_COMPOSE_CMD} build - COMMAND ${DOCKER_COMPOSE_CMD} run crossdock - DEPENDS crossdock-kill) - add_custom_target(crossdock-fresh - COMMAND ${DOCKER_COMPOSE_CMD} pull - COMMAND ${DOCKER_COMPOSE_CMD} build - COMMAND ${DOCKER_COMPOSE_CMD} run crossdock - DEPENDS crossdock-kill) - add_custom_target(crossdock-logs - COMMAND ${DOCKER_COMPOSE_CMD} logs) -endif() - if(BUILD_TESTING) set(TEST_SRC