-# Copyright (C) 2018 Intel Corporation
+# Copyright (C) 2018-2019 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
#
-cmake_minimum_required(VERSION 2.8)
set(TARGET_NAME helpers)
file(GLOB HELPERS_SRC
)
## Enable Models multiple search pathes
-message("configuring file: ${PROJECT_BINARY_DIR}/test_model_repo.h")
-configure_file(test_model_repo.hpp.in ${PROJECT_BINARY_DIR}/test_model_repo.hpp @ONLY)
+message("configuring file: ${CMAKE_CURRENT_BINARY_DIR}/test_model_repo.h")
+configure_file(test_model_repo.hpp.in ${CMAKE_CURRENT_BINARY_DIR}/test_model_repo.hpp @ONLY)
add_library(${TARGET_NAME} STATIC
${HELPERS_SRC}
${HELPERS_HEADERS})
-target_include_directories(${TARGET_NAME} PUBLIC ${PROJECT_BINARY_DIR})
-target_compile_definitions(${TARGET_NAME} PUBLIC -DMODELS_PATH=\"${MODELS_PATH}\")
+# detecting regex support
+if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9)
+ target_compile_definitions(${TARGET_NAME} PUBLIC USE_BOOST_RE)
+
+ debug_message(STATUS "Adding boost dependency")
+ if (VERBOSE_BUILD)
+ set(Boost_DEBUG on)
+ endif ()
+ find_package(Boost REQUIRED COMPONENTS regex)
+ target_link_libraries(${TARGET_NAME} PUBLIC ${Boost_REGEX_LIBRARY})
+ target_include_directories(${TARGET_NAME} PUBLIC ${Boost_INCLUDE_DIRS})
+endif()
+
+if(MSVC)
+ set(PUGI pugixml_mt)
+else()
+ set(PUGI pugixml)
+endif()
+
+if(WIN32)
+ target_include_directories(${TARGET_NAME} PUBLIC "${IE_MAIN_SOURCE_DIR}/samples/common")
+endif()
+
+target_link_libraries(${TARGET_NAME} PUBLIC inference_engine ${PUGI})
+
+target_include_directories(${TARGET_NAME} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${gtest_SOURCE_DIR}/include"
+ "${IE_MAIN_SOURCE_DIR}/src" "${IE_MAIN_SOURCE_DIR}/thirdparty/pugixml/src"
+ "${gmock_SOURCE_DIR}/include"
+ PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
+
+# TODO: eliminate dependency on samples
+target_include_directories(${TARGET_NAME} PUBLIC
+ "${IE_MAIN_SOURCE_DIR}/samples/common")
+
+target_compile_definitions(${TARGET_NAME} PUBLIC MODELS_PATH=\"${MODELS_PATH}\" DATA_PATH=\"${VALIDATION_SET}\")
set_property(TARGET ${TARGET_NAME} PROPERTY CXX_STANDARD 11)
set_property(TARGET ${TARGET_NAME} PROPERTY CXX_STANDARD_REQUIRED ON)