include_directories(include)
set(SRCS src/mock_span_context.cpp
src/mock_span.cpp
src/in_memory_recorder.cpp
src/json_recorder.cpp
src/base64.cpp
src/propagation.cpp
src/utility.cpp
src/json.cpp
src/tracer.cpp
src/tracer_factory.cpp)
if (BUILD_SHARED_LIBS)
add_library(opentracing_mocktracer SHARED ${SRCS} src/dynamic_load.cpp)
target_include_directories(opentracing_mocktracer INTERFACE "$")
set_target_properties(opentracing_mocktracer PROPERTIES VERSION ${OPENTRACING_VERSION_STRING}
SOVERSION ${OPENTRACING_VERSION_MAJOR})
target_link_libraries(opentracing_mocktracer PUBLIC opentracing)
target_compile_definitions(opentracing_mocktracer PRIVATE OPENTRACING_MOCK_TRACER_EXPORTS)
install(TARGETS opentracing_mocktracer
COMPONENT DIST
EXPORT OpenTracingTargets
LIBRARY DESTINATION ${LIB_INSTALL_DIR}
ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
endif()
if (BUILD_STATIC_LIBS)
add_library(opentracing_mocktracer-static STATIC ${SRCS})
# Windows generates a lib and dll files for a shared library. using the same name will override the lib file generated by the shared target
if (NOT WIN32)
set_target_properties(opentracing_mocktracer-static PROPERTIES OUTPUT_NAME opentracing_mocktracer)
endif()
target_compile_definitions(opentracing_mocktracer-static PUBLIC OPENTRACING_MOCK_TRACER_STATIC)
target_include_directories(opentracing_mocktracer-static INTERFACE "$")
target_link_libraries(opentracing_mocktracer-static opentracing-static)
install(TARGETS opentracing_mocktracer-static EXPORT OpenTracingTargets
ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
endif()
install(DIRECTORY include/opentracing DESTINATION include
FILES_MATCHING PATTERN "*.h")
# ==============================================================================
# Testing
include(CTest)
if(BUILD_TESTING)
add_subdirectory(test)
endif()