diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/predef/architecture/x86/32.h b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/predef/architecture/x86/32.h new file mode 100644 index 00000000000..17fbff554a8 --- /dev/null +++ b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/predef/architecture/x86/32.h @@ -0,0 +1,87 @@ +/* +Copyright Rene Rivera 2008-2015 +Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt or copy at +http://www.boost.org/LICENSE_1_0.txt) +*/ + +#ifndef BOOST_PREDEF_ARCHITECTURE_X86_32_H +#define BOOST_PREDEF_ARCHITECTURE_X86_32_H + +#include +#include + +/*` +[heading `BOOST_ARCH_X86_32`] + +[@http://en.wikipedia.org/wiki/X86 Intel x86] architecture: +If available versions \[3-6\] are specifically detected. + +[table + [[__predef_symbol__] [__predef_version__]] + + [[`i386`] [__predef_detection__]] + [[`__i386__`] [__predef_detection__]] + [[`__i486__`] [__predef_detection__]] + [[`__i586__`] [__predef_detection__]] + [[`__i686__`] [__predef_detection__]] + [[`__i386`] [__predef_detection__]] + [[`_M_IX86`] [__predef_detection__]] + [[`_X86_`] [__predef_detection__]] + [[`__THW_INTEL__`] [__predef_detection__]] + [[`__I86__`] [__predef_detection__]] + [[`__INTEL__`] [__predef_detection__]] + + [[`__I86__`] [V.0.0]] + [[`_M_IX86`] [V.0.0]] + [[`__i686__`] [6.0.0]] + [[`__i586__`] [5.0.0]] + [[`__i486__`] [4.0.0]] + [[`__i386__`] [3.0.0]] + ] + */ + +#define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER_NOT_AVAILABLE + +#if defined(i386) || defined(__i386__) || \ + defined(__i486__) || defined(__i586__) || \ + defined(__i686__) || defined(__i386) || \ + defined(_M_IX86) || defined(_X86_) || \ + defined(__THW_INTEL__) || defined(__I86__) || \ + defined(__INTEL__) +# undef BOOST_ARCH_X86_32 +# if !defined(BOOST_ARCH_X86_32) && defined(__I86__) +# define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER(__I86__,0,0) +# endif +# if !defined(BOOST_ARCH_X86_32) && defined(_M_IX86) +# define BOOST_ARCH_X86_32 BOOST_PREDEF_MAKE_10_VV00(_M_IX86) +# endif +# if !defined(BOOST_ARCH_X86_32) && defined(__i686__) +# define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER(6,0,0) +# endif +# if !defined(BOOST_ARCH_X86_32) && defined(__i586__) +# define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER(5,0,0) +# endif +# if !defined(BOOST_ARCH_X86_32) && defined(__i486__) +# define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER(4,0,0) +# endif +# if !defined(BOOST_ARCH_X86_32) && defined(__i386__) +# define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER(3,0,0) +# endif +# if !defined(BOOST_ARCH_X86_32) +# define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER_AVAILABLE +# endif +#endif + +#if BOOST_ARCH_X86_32 +# define BOOST_ARCH_X86_32_AVAILABLE +#endif + +#define BOOST_ARCH_X86_32_NAME "Intel x86-32" + +#include + +#endif + +#include +BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_X86_32,BOOST_ARCH_X86_32_NAME) diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/predef/architecture/x86/64.h b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/predef/architecture/x86/64.h new file mode 100644 index 00000000000..f761c92596c --- /dev/null +++ b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/predef/architecture/x86/64.h @@ -0,0 +1,50 @@ +/* +Copyright Rene Rivera 2008-2015 +Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt or copy at +http://www.boost.org/LICENSE_1_0.txt) +*/ + +#ifndef BOOST_PREDEF_ARCHITECTURE_X86_64_H +#define BOOST_PREDEF_ARCHITECTURE_X86_64_H + +#include +#include + +/*` +[heading `BOOST_ARCH_X86_64`] + +[@http://en.wikipedia.org/wiki/Ia64 Intel IA-64] architecture. + +[table + [[__predef_symbol__] [__predef_version__]] + + [[`__x86_64`] [__predef_detection__]] + [[`__x86_64__`] [__predef_detection__]] + [[`__amd64__`] [__predef_detection__]] + [[`__amd64`] [__predef_detection__]] + [[`_M_X64`] [__predef_detection__]] + ] + */ + +#define BOOST_ARCH_X86_64 BOOST_VERSION_NUMBER_NOT_AVAILABLE + +#if defined(__x86_64) || defined(__x86_64__) || \ + defined(__amd64__) || defined(__amd64) || \ + defined(_M_X64) +# undef BOOST_ARCH_X86_64 +# define BOOST_ARCH_X86_64 BOOST_VERSION_NUMBER_AVAILABLE +#endif + +#if BOOST_ARCH_X86_64 +# define BOOST_ARCH_X86_64_AVAILABLE +#endif + +#define BOOST_ARCH_X86_64_NAME "Intel x86-64" + +#include + +#endif + +#include +BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_X86_64,BOOST_ARCH_X86_64_NAME) diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/predef/hardware/simd/x86/versions.h b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/predef/hardware/simd/x86/versions.h new file mode 100644 index 00000000000..0c7a4d38132 --- /dev/null +++ b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/predef/hardware/simd/x86/versions.h @@ -0,0 +1,129 @@ +/* +Copyright Charly Chevalier 2015 +Copyright Joel Falcou 2015 +Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt or copy at +http://www.boost.org/LICENSE_1_0.txt) +*/ + +#ifndef BOOST_PREDEF_HARDWARE_SIMD_X86_VERSIONS_H +#define BOOST_PREDEF_HARDWARE_SIMD_X86_VERSIONS_H + +#include + +/*` + Those defines represent x86 SIMD extensions versions. + + [note You *MUST* compare them with the predef `BOOST_HW_SIMD_X86`.] + */ + +// --------------------------------- + +/*` + [heading `BOOST_HW_SIMD_X86_MMX_VERSION`] + + The [@https://en.wikipedia.org/wiki/MMX_(instruction_set) MMX] x86 extension + version number. + + Version number is: *0.99.0*. + */ +#define BOOST_HW_SIMD_X86_MMX_VERSION BOOST_VERSION_NUMBER(0, 99, 0) + +/*` + [heading `BOOST_HW_SIMD_X86_SSE_VERSION`] + + The [@https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions SSE] x86 extension + version number. + + Version number is: *1.0.0*. + */ +#define BOOST_HW_SIMD_X86_SSE_VERSION BOOST_VERSION_NUMBER(1, 0, 0) + +/*` + [heading `BOOST_HW_SIMD_X86_SSE2_VERSION`] + + The [@https://en.wikipedia.org/wiki/SSE2 SSE2] x86 extension version number. + + Version number is: *2.0.0*. + */ +#define BOOST_HW_SIMD_X86_SSE2_VERSION BOOST_VERSION_NUMBER(2, 0, 0) + +/*` + [heading `BOOST_HW_SIMD_X86_SSE3_VERSION`] + + The [@https://en.wikipedia.org/wiki/SSE3 SSE3] x86 extension version number. + + Version number is: *3.0.0*. + */ +#define BOOST_HW_SIMD_X86_SSE3_VERSION BOOST_VERSION_NUMBER(3, 0, 0) + +/*` + [heading `BOOST_HW_SIMD_X86_SSSE3_VERSION`] + + The [@https://en.wikipedia.org/wiki/SSSE3 SSSE3] x86 extension version number. + + Version number is: *3.1.0*. + */ +#define BOOST_HW_SIMD_X86_SSSE3_VERSION BOOST_VERSION_NUMBER(3, 1, 0) + +/*` + [heading `BOOST_HW_SIMD_X86_SSE4_1_VERSION`] + + The [@https://en.wikipedia.org/wiki/SSE4#SSE4.1 SSE4_1] x86 extension version + number. + + Version number is: *4.1.0*. + */ +#define BOOST_HW_SIMD_X86_SSE4_1_VERSION BOOST_VERSION_NUMBER(4, 1, 0) + +/*` + [heading `BOOST_HW_SIMD_X86_SSE4_2_VERSION`] + + The [@https://en.wikipedia.org/wiki/SSE4##SSE4.2 SSE4_2] x86 extension version + number. + + Version number is: *4.2.0*. + */ +#define BOOST_HW_SIMD_X86_SSE4_2_VERSION BOOST_VERSION_NUMBER(4, 2, 0) + +/*` + [heading `BOOST_HW_SIMD_X86_AVX_VERSION`] + + The [@https://en.wikipedia.org/wiki/Advanced_Vector_Extensions AVX] x86 + extension version number. + + Version number is: *5.0.0*. + */ +#define BOOST_HW_SIMD_X86_AVX_VERSION BOOST_VERSION_NUMBER(5, 0, 0) + +/*` + [heading `BOOST_HW_SIMD_X86_FMA3_VERSION`] + + The [@https://en.wikipedia.org/wiki/FMA_instruction_set FMA3] x86 extension + version number. + + Version number is: *5.2.0*. + */ +#define BOOST_HW_SIMD_X86_FMA3_VERSION BOOST_VERSION_NUMBER(5, 2, 0) + +/*` + [heading `BOOST_HW_SIMD_X86_AVX2_VERSION`] + + The [@https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2 AVX2] + x86 extension version number. + + Version number is: *5.3.0*. + */ +#define BOOST_HW_SIMD_X86_AVX2_VERSION BOOST_VERSION_NUMBER(5, 3, 0) + +/*` + [heading `BOOST_HW_SIMD_X86_MIC_VERSION`] + + The [@https://en.wikipedia.org/wiki/Xeon_Phi MIC] (Xeon Phi) x86 extension + version number. + + Version number is: *9.0.0*. + */ +#define BOOST_HW_SIMD_X86_MIC_VERSION BOOST_VERSION_NUMBER(9, 0, 0) + +#endif diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/preprocessor/debug/error.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/preprocessor/debug/error.hpp new file mode 100644 index 00000000000..c8ae5e75056 --- /dev/null +++ b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/preprocessor/debug/error.hpp @@ -0,0 +1,33 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_DEBUG_ERROR_HPP +# define BOOST_PREPROCESSOR_DEBUG_ERROR_HPP +# +# include +# include +# +# /* BOOST_PP_ERROR */ +# +# if BOOST_PP_CONFIG_ERRORS +# define BOOST_PP_ERROR(code) BOOST_PP_CAT(BOOST_PP_ERROR_, code) +# endif +# +# define BOOST_PP_ERROR_0x0000 BOOST_PP_ERROR(0x0000, BOOST_PP_INDEX_OUT_OF_BOUNDS) +# define BOOST_PP_ERROR_0x0001 BOOST_PP_ERROR(0x0001, BOOST_PP_WHILE_OVERFLOW) +# define BOOST_PP_ERROR_0x0002 BOOST_PP_ERROR(0x0002, BOOST_PP_FOR_OVERFLOW) +# define BOOST_PP_ERROR_0x0003 BOOST_PP_ERROR(0x0003, BOOST_PP_REPEAT_OVERFLOW) +# define BOOST_PP_ERROR_0x0004 BOOST_PP_ERROR(0x0004, BOOST_PP_LIST_FOLD_OVERFLOW) +# define BOOST_PP_ERROR_0x0005 BOOST_PP_ERROR(0x0005, BOOST_PP_SEQ_FOLD_OVERFLOW) +# define BOOST_PP_ERROR_0x0006 BOOST_PP_ERROR(0x0006, BOOST_PP_ARITHMETIC_OVERFLOW) +# define BOOST_PP_ERROR_0x0007 BOOST_PP_ERROR(0x0007, BOOST_PP_DIVISION_BY_ZERO) +# +# endif diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-d.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-d.a new file mode 100644 index 00000000000..5637c5c6ea8 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-d.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-d.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-d.so new file mode 100644 index 00000000000..1582167dfb1 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-d.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-d.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-d.so.1.64.0 new file mode 100644 index 00000000000..1582167dfb1 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-d.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-mt-d.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-mt-d.a new file mode 100644 index 00000000000..b9ba7d5ba9c Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-mt-d.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-mt-d.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-mt-d.so new file mode 100644 index 00000000000..9ae721497be Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-mt-d.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-mt-d.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-mt-d.so.1.64.0 new file mode 100644 index 00000000000..9ae721497be Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-mt-d.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-mt-s.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-mt-s.a new file mode 100644 index 00000000000..e7b8b6373fc Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-mt-s.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-mt-sd.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-mt-sd.a new file mode 100644 index 00000000000..1547442c680 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-mt-sd.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-mt.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-mt.a new file mode 100644 index 00000000000..46d04c4d87f Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-mt.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-mt.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-mt.so new file mode 100644 index 00000000000..eaca2e1661a Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-mt.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-mt.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-mt.so.1.64.0 new file mode 100644 index 00000000000..eaca2e1661a Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-mt.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-s.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-s.a new file mode 100644 index 00000000000..62eef7117ab Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-s.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-sd.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-sd.a new file mode 100644 index 00000000000..8f27926001d Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time-sd.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time.a new file mode 100644 index 00000000000..960ab074791 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time.so new file mode 100644 index 00000000000..e81c0c6f1e5 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time.so.1.64.0 new file mode 100644 index 00000000000..e81c0c6f1e5 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_date_time.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-d.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-d.a new file mode 100644 index 00000000000..76b39bdef1b Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-d.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-d.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-d.so new file mode 100644 index 00000000000..957bedaf9cf Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-d.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-d.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-d.so.1.64.0 new file mode 100644 index 00000000000..957bedaf9cf Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-d.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-mt-d.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-mt-d.a new file mode 100644 index 00000000000..14d251b46bc Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-mt-d.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-mt-d.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-mt-d.so new file mode 100644 index 00000000000..b11b153c247 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-mt-d.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-mt-d.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-mt-d.so.1.64.0 new file mode 100644 index 00000000000..b11b153c247 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-mt-d.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-mt-s.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-mt-s.a new file mode 100644 index 00000000000..ef363204b08 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-mt-s.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-mt-sd.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-mt-sd.a new file mode 100644 index 00000000000..0fe38c45967 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-mt-sd.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-mt.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-mt.a new file mode 100644 index 00000000000..7f75471171c Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-mt.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-mt.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-mt.so new file mode 100644 index 00000000000..2062d1b208c Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-mt.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-mt.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-mt.so.1.64.0 new file mode 100644 index 00000000000..2062d1b208c Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-mt.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-s.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-s.a new file mode 100644 index 00000000000..6c0377951ee Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-s.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-sd.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-sd.a new file mode 100644 index 00000000000..3e326068ec0 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem-sd.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem.a new file mode 100644 index 00000000000..76bf260ee00 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem.so new file mode 100644 index 00000000000..de369193512 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem.so.1.64.0 new file mode 100644 index 00000000000..de369193512 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_filesystem.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-d.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-d.a new file mode 100644 index 00000000000..836e01457be Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-d.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-d.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-d.so new file mode 100644 index 00000000000..2246a4bf33e Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-d.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-d.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-d.so.1.64.0 new file mode 100644 index 00000000000..2246a4bf33e Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-d.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-mt-d.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-mt-d.a new file mode 100644 index 00000000000..71f06f230a6 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-mt-d.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-mt-d.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-mt-d.so new file mode 100644 index 00000000000..e51fa2a75f9 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-mt-d.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-mt-d.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-mt-d.so.1.64.0 new file mode 100644 index 00000000000..e51fa2a75f9 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-mt-d.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-mt-s.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-mt-s.a new file mode 100644 index 00000000000..3b591053246 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-mt-s.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-mt-sd.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-mt-sd.a new file mode 100644 index 00000000000..c449e4c9e0c Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-mt-sd.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-mt.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-mt.a new file mode 100644 index 00000000000..89be59ef95f Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-mt.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-mt.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-mt.so new file mode 100644 index 00000000000..39d19d2fcf0 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-mt.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-mt.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-mt.so.1.64.0 new file mode 100644 index 00000000000..39d19d2fcf0 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-mt.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-s.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-s.a new file mode 100644 index 00000000000..4eb3921c4e8 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-s.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-sd.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-sd.a new file mode 100644 index 00000000000..8eb7c871856 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options-sd.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options.a new file mode 100644 index 00000000000..d65dcc9dc3f Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options.so new file mode 100644 index 00000000000..021d661cb78 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options.so.1.64.0 new file mode 100644 index 00000000000..021d661cb78 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_program_options.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-d.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-d.a new file mode 100644 index 00000000000..b3f034d323f Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-d.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-d.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-d.so new file mode 100644 index 00000000000..fe94add2e60 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-d.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-d.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-d.so.1.64.0 new file mode 100644 index 00000000000..fe94add2e60 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-d.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-mt-d.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-mt-d.a new file mode 100644 index 00000000000..eea63c23ab3 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-mt-d.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-mt-d.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-mt-d.so new file mode 100644 index 00000000000..f5ceccc13f6 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-mt-d.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-mt-d.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-mt-d.so.1.64.0 new file mode 100644 index 00000000000..f5ceccc13f6 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-mt-d.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-mt-s.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-mt-s.a new file mode 100644 index 00000000000..a16f6832e9b Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-mt-s.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-mt-sd.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-mt-sd.a new file mode 100644 index 00000000000..5e816d978d8 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-mt-sd.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-mt.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-mt.a new file mode 100644 index 00000000000..ab93c39c209 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-mt.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-mt.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-mt.so new file mode 100644 index 00000000000..b75c8a0c3a9 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-mt.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-mt.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-mt.so.1.64.0 new file mode 100644 index 00000000000..b75c8a0c3a9 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-mt.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-s.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-s.a new file mode 100644 index 00000000000..1d4e77a07a7 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-s.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-sd.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-sd.a new file mode 100644 index 00000000000..01ad42452dd Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system-sd.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system.a new file mode 100644 index 00000000000..97cf53b5dd2 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system.so new file mode 100644 index 00000000000..26488351c3d Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system.so.1.64.0 new file mode 100644 index 00000000000..26488351c3d Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/clang/lib/libboost_system.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-d.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-d.a new file mode 100644 index 00000000000..1f4cf55b334 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-d.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-d.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-d.so new file mode 100644 index 00000000000..69cd56ca123 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-d.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-d.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-d.so.1.64.0 new file mode 100644 index 00000000000..69cd56ca123 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-d.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-mt-d.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-mt-d.a new file mode 100644 index 00000000000..869ef380b4a Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-mt-d.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-mt-d.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-mt-d.so new file mode 100644 index 00000000000..bee683e4530 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-mt-d.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-mt-d.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-mt-d.so.1.64.0 new file mode 100644 index 00000000000..bee683e4530 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-mt-d.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-mt-s.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-mt-s.a new file mode 100644 index 00000000000..ad8ae41dabb Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-mt-s.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-mt-sd.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-mt-sd.a new file mode 100644 index 00000000000..628d98abfb9 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-mt-sd.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-mt.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-mt.a new file mode 100644 index 00000000000..f087ea3cde0 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-mt.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-mt.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-mt.so new file mode 100644 index 00000000000..c1f206af9f6 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-mt.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-mt.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-mt.so.1.64.0 new file mode 100644 index 00000000000..c1f206af9f6 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-mt.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-s.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-s.a new file mode 100644 index 00000000000..42a049b5438 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-s.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-sd.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-sd.a new file mode 100644 index 00000000000..852890b262b Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time-sd.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time.a new file mode 100644 index 00000000000..7fa96196d35 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time.so new file mode 100644 index 00000000000..cddee9001b3 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time.so.1.64.0 new file mode 100644 index 00000000000..cddee9001b3 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_date_time.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-d.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-d.a new file mode 100644 index 00000000000..8098dca1a60 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-d.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-d.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-d.so new file mode 100644 index 00000000000..48179069cfa Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-d.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-d.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-d.so.1.64.0 new file mode 100644 index 00000000000..48179069cfa Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-d.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-mt-d.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-mt-d.a new file mode 100644 index 00000000000..169802c3a2c Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-mt-d.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-mt-d.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-mt-d.so new file mode 100644 index 00000000000..d41ec5d1a55 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-mt-d.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-mt-d.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-mt-d.so.1.64.0 new file mode 100644 index 00000000000..d41ec5d1a55 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-mt-d.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-mt-s.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-mt-s.a new file mode 100644 index 00000000000..865a97515aa Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-mt-s.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-mt-sd.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-mt-sd.a new file mode 100644 index 00000000000..ead2a81959b Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-mt-sd.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-mt.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-mt.a new file mode 100644 index 00000000000..a927e20a43f Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-mt.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-mt.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-mt.so new file mode 100644 index 00000000000..544338c8c26 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-mt.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-mt.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-mt.so.1.64.0 new file mode 100644 index 00000000000..544338c8c26 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-mt.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-s.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-s.a new file mode 100644 index 00000000000..563f8bb65a6 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-s.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-sd.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-sd.a new file mode 100644 index 00000000000..1166a89d334 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem-sd.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem.a new file mode 100644 index 00000000000..76a614423b6 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem.so new file mode 100644 index 00000000000..f3fb042c57b Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem.so.1.64.0 new file mode 100644 index 00000000000..f3fb042c57b Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_filesystem.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-d.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-d.a new file mode 100644 index 00000000000..e34bca0889d Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-d.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-d.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-d.so new file mode 100644 index 00000000000..60e00b2c5a4 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-d.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-d.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-d.so.1.64.0 new file mode 100644 index 00000000000..60e00b2c5a4 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-d.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-mt-d.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-mt-d.a new file mode 100644 index 00000000000..e75eae609ee Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-mt-d.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-mt-d.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-mt-d.so new file mode 100644 index 00000000000..52b165ee556 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-mt-d.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-mt-d.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-mt-d.so.1.64.0 new file mode 100644 index 00000000000..52b165ee556 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-mt-d.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-mt-s.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-mt-s.a new file mode 100644 index 00000000000..8d1cd2b154e Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-mt-s.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-mt-sd.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-mt-sd.a new file mode 100644 index 00000000000..04cd2903d78 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-mt-sd.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-mt.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-mt.a new file mode 100644 index 00000000000..893edbc83bb Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-mt.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-mt.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-mt.so new file mode 100644 index 00000000000..fa58f1e4480 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-mt.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-mt.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-mt.so.1.64.0 new file mode 100644 index 00000000000..fa58f1e4480 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-mt.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-s.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-s.a new file mode 100644 index 00000000000..62f2b37bd4c Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-s.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-sd.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-sd.a new file mode 100644 index 00000000000..fc3332bbccc Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options-sd.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options.a new file mode 100644 index 00000000000..707634d4fe5 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options.so new file mode 100644 index 00000000000..c0df8666809 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options.so.1.64.0 new file mode 100644 index 00000000000..c0df8666809 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_program_options.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-d.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-d.a new file mode 100644 index 00000000000..7c76e1a6051 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-d.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-d.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-d.so new file mode 100644 index 00000000000..e9e1c14b4a2 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-d.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-d.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-d.so.1.64.0 new file mode 100644 index 00000000000..e9e1c14b4a2 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-d.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-mt-d.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-mt-d.a new file mode 100644 index 00000000000..d03b71ef0fa Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-mt-d.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-mt-d.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-mt-d.so new file mode 100644 index 00000000000..20169ee2196 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-mt-d.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-mt-d.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-mt-d.so.1.64.0 new file mode 100644 index 00000000000..20169ee2196 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-mt-d.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-mt-s.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-mt-s.a new file mode 100644 index 00000000000..401372619be Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-mt-s.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-mt-sd.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-mt-sd.a new file mode 100644 index 00000000000..fccda36f596 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-mt-sd.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-mt.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-mt.a new file mode 100644 index 00000000000..19b37528b01 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-mt.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-mt.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-mt.so new file mode 100644 index 00000000000..7af960f2366 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-mt.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-mt.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-mt.so.1.64.0 new file mode 100644 index 00000000000..7af960f2366 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-mt.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-s.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-s.a new file mode 100644 index 00000000000..9c4e7174f55 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-s.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-sd.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-sd.a new file mode 100644 index 00000000000..38142fe1ce0 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system-sd.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system.a b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system.a new file mode 100644 index 00000000000..d24ec67d573 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system.a differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system.so b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system.so new file mode 100644 index 00000000000..3a15b42dc5b Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system.so differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system.so.1.64.0 b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system.so.1.64.0 new file mode 100644 index 00000000000..3a15b42dc5b Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/linux/x64/lib/libboost_system.so.1.64.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_date_time-mt-gd.dll b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_date_time-mt-gd.dll new file mode 100644 index 00000000000..8749c1c3ba8 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_date_time-mt-gd.dll differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_date_time-mt-gd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_date_time-mt-gd.lib new file mode 100644 index 00000000000..b19b7265768 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_date_time-mt-gd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_date_time-mt.dll b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_date_time-mt.dll new file mode 100644 index 00000000000..930768ad65b Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_date_time-mt.dll differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_date_time-mt.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_date_time-mt.lib new file mode 100644 index 00000000000..8b089815018 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_date_time-mt.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_filesystem-mt-gd.dll b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_filesystem-mt-gd.dll new file mode 100644 index 00000000000..48548d6ec8c Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_filesystem-mt-gd.dll differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_filesystem-mt-gd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_filesystem-mt-gd.lib new file mode 100644 index 00000000000..28dc204e5e1 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_filesystem-mt-gd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_filesystem-mt.dll b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_filesystem-mt.dll new file mode 100644 index 00000000000..0181d2f4e1e Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_filesystem-mt.dll differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_filesystem-mt.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_filesystem-mt.lib new file mode 100644 index 00000000000..ca3165ad17c Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_filesystem-mt.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_program_options-mt-gd.dll b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_program_options-mt-gd.dll new file mode 100644 index 00000000000..3201ae0e340 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_program_options-mt-gd.dll differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_program_options-mt-gd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_program_options-mt-gd.lib new file mode 100644 index 00000000000..e7680dbcf05 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_program_options-mt-gd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_program_options-mt.dll b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_program_options-mt.dll new file mode 100644 index 00000000000..3301331bed0 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_program_options-mt.dll differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_program_options-mt.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_program_options-mt.lib new file mode 100644 index 00000000000..528a0b32d84 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_program_options-mt.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_system-mt-gd.dll b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_system-mt-gd.dll new file mode 100644 index 00000000000..db1f75b7f8c Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_system-mt-gd.dll differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_system-mt-gd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_system-mt-gd.lib new file mode 100644 index 00000000000..98ea539daf6 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_system-mt-gd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_system-mt.dll b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_system-mt.dll new file mode 100644 index 00000000000..f342bf4ecc7 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_system-mt.dll differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_system-mt.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_system-mt.lib new file mode 100644 index 00000000000..9aa78dad518 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/boost_system-mt.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_date_time-mt-gd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_date_time-mt-gd.lib new file mode 100644 index 00000000000..8dbedc34f3a Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_date_time-mt-gd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_date_time-mt-s.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_date_time-mt-s.lib new file mode 100644 index 00000000000..17f85fd9e6e Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_date_time-mt-s.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_date_time-mt-sgd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_date_time-mt-sgd.lib new file mode 100644 index 00000000000..635a5f757fe Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_date_time-mt-sgd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_date_time-mt.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_date_time-mt.lib new file mode 100644 index 00000000000..c6a6569d6d6 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_date_time-mt.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_date_time-s.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_date_time-s.lib new file mode 100644 index 00000000000..f5d1c1ac3bb Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_date_time-s.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_date_time-sgd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_date_time-sgd.lib new file mode 100644 index 00000000000..da0e22589b0 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_date_time-sgd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_filesystem-mt-gd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_filesystem-mt-gd.lib new file mode 100644 index 00000000000..c089b2009dd Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_filesystem-mt-gd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_filesystem-mt-s.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_filesystem-mt-s.lib new file mode 100644 index 00000000000..77141716285 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_filesystem-mt-s.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_filesystem-mt-sgd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_filesystem-mt-sgd.lib new file mode 100644 index 00000000000..e9660a6fd36 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_filesystem-mt-sgd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_filesystem-mt.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_filesystem-mt.lib new file mode 100644 index 00000000000..a4bbd4d776c Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_filesystem-mt.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_filesystem-s.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_filesystem-s.lib new file mode 100644 index 00000000000..b2000063b2b Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_filesystem-s.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_filesystem-sgd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_filesystem-sgd.lib new file mode 100644 index 00000000000..aba13f148ba Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_filesystem-sgd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_program_options-mt-gd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_program_options-mt-gd.lib new file mode 100644 index 00000000000..fec75973f84 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_program_options-mt-gd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_program_options-mt-s.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_program_options-mt-s.lib new file mode 100644 index 00000000000..fb87ca4fdc6 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_program_options-mt-s.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_program_options-mt-sgd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_program_options-mt-sgd.lib new file mode 100644 index 00000000000..f77ac5ec9e0 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_program_options-mt-sgd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_program_options-mt.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_program_options-mt.lib new file mode 100644 index 00000000000..16af89b4be6 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_program_options-mt.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_program_options-s.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_program_options-s.lib new file mode 100644 index 00000000000..85117d57a5b Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_program_options-s.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_program_options-sgd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_program_options-sgd.lib new file mode 100644 index 00000000000..1ccdfdae59b Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_program_options-sgd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_system-mt-gd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_system-mt-gd.lib new file mode 100644 index 00000000000..e60310558e8 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_system-mt-gd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_system-mt-s.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_system-mt-s.lib new file mode 100644 index 00000000000..cd3ca4cd0a7 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_system-mt-s.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_system-mt-sgd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_system-mt-sgd.lib new file mode 100644 index 00000000000..82e11879319 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_system-mt-sgd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_system-mt.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_system-mt.lib new file mode 100644 index 00000000000..a6595fddda0 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_system-mt.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_system-s.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_system-s.lib new file mode 100644 index 00000000000..3ceeebf6918 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_system-s.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_system-sgd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_system-sgd.lib new file mode 100644 index 00000000000..9fab192cbdc Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x64/lib/libboost_system-sgd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_date_time-mt-gd.dll b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_date_time-mt-gd.dll new file mode 100644 index 00000000000..85a581d5f50 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_date_time-mt-gd.dll differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_date_time-mt-gd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_date_time-mt-gd.lib new file mode 100644 index 00000000000..b160016cd4f Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_date_time-mt-gd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_date_time-mt.dll b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_date_time-mt.dll new file mode 100644 index 00000000000..4b81988b2d6 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_date_time-mt.dll differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_date_time-mt.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_date_time-mt.lib new file mode 100644 index 00000000000..e1fa168e373 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_date_time-mt.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_filesystem-mt-gd.dll b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_filesystem-mt-gd.dll new file mode 100644 index 00000000000..b8871523228 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_filesystem-mt-gd.dll differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_filesystem-mt-gd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_filesystem-mt-gd.lib new file mode 100644 index 00000000000..8af7ece4325 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_filesystem-mt-gd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_filesystem-mt.dll b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_filesystem-mt.dll new file mode 100644 index 00000000000..f3b71979500 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_filesystem-mt.dll differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_filesystem-mt.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_filesystem-mt.lib new file mode 100644 index 00000000000..ff1c22f182d Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_filesystem-mt.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_program_options-mt-gd.dll b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_program_options-mt-gd.dll new file mode 100644 index 00000000000..07178f8ad5d Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_program_options-mt-gd.dll differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_program_options-mt-gd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_program_options-mt-gd.lib new file mode 100644 index 00000000000..5bafda68597 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_program_options-mt-gd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_program_options-mt.dll b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_program_options-mt.dll new file mode 100644 index 00000000000..210ff9cf799 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_program_options-mt.dll differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_program_options-mt.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_program_options-mt.lib new file mode 100644 index 00000000000..d7510dba755 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_program_options-mt.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_system-mt-gd.dll b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_system-mt-gd.dll new file mode 100644 index 00000000000..9e7ef69f31f Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_system-mt-gd.dll differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_system-mt-gd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_system-mt-gd.lib new file mode 100644 index 00000000000..ec470c59bb6 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_system-mt-gd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_system-mt.dll b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_system-mt.dll new file mode 100644 index 00000000000..560c0348417 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_system-mt.dll differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_system-mt.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_system-mt.lib new file mode 100644 index 00000000000..0efb0549e48 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/boost_system-mt.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_date_time-mt-gd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_date_time-mt-gd.lib new file mode 100644 index 00000000000..cbf4400cabc Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_date_time-mt-gd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_date_time-mt-s.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_date_time-mt-s.lib new file mode 100644 index 00000000000..e39124f638d Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_date_time-mt-s.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_date_time-mt-sgd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_date_time-mt-sgd.lib new file mode 100644 index 00000000000..18391f5a29e Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_date_time-mt-sgd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_date_time-mt.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_date_time-mt.lib new file mode 100644 index 00000000000..c719e8cea27 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_date_time-mt.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_date_time-s.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_date_time-s.lib new file mode 100644 index 00000000000..a3f26ff4991 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_date_time-s.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_date_time-sgd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_date_time-sgd.lib new file mode 100644 index 00000000000..9c628e13b2b Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_date_time-sgd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_filesystem-mt-gd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_filesystem-mt-gd.lib new file mode 100644 index 00000000000..f195d11df20 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_filesystem-mt-gd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_filesystem-mt-s.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_filesystem-mt-s.lib new file mode 100644 index 00000000000..580eae877f6 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_filesystem-mt-s.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_filesystem-mt-sgd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_filesystem-mt-sgd.lib new file mode 100644 index 00000000000..3015765a31d Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_filesystem-mt-sgd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_filesystem-mt.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_filesystem-mt.lib new file mode 100644 index 00000000000..a0e3a1ad584 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_filesystem-mt.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_filesystem-s.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_filesystem-s.lib new file mode 100644 index 00000000000..5bfa1fa5191 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_filesystem-s.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_filesystem-sgd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_filesystem-sgd.lib new file mode 100644 index 00000000000..1cc8b37ad6c Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_filesystem-sgd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_program_options-mt-gd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_program_options-mt-gd.lib new file mode 100644 index 00000000000..a25b09efb9f Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_program_options-mt-gd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_program_options-mt-s.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_program_options-mt-s.lib new file mode 100644 index 00000000000..0d64e95e59a Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_program_options-mt-s.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_program_options-mt-sgd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_program_options-mt-sgd.lib new file mode 100644 index 00000000000..468ff5ecefb Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_program_options-mt-sgd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_program_options-mt.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_program_options-mt.lib new file mode 100644 index 00000000000..3ac1131cefa Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_program_options-mt.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_program_options-s.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_program_options-s.lib new file mode 100644 index 00000000000..b54de34542e Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_program_options-s.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_program_options-sgd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_program_options-sgd.lib new file mode 100644 index 00000000000..cb2439d9e83 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_program_options-sgd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_system-mt-gd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_system-mt-gd.lib new file mode 100644 index 00000000000..7b65ab16abb Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_system-mt-gd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_system-mt-s.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_system-mt-s.lib new file mode 100644 index 00000000000..12786f625ba Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_system-mt-s.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_system-mt-sgd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_system-mt-sgd.lib new file mode 100644 index 00000000000..01ad5c9e0ca Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_system-mt-sgd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_system-mt.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_system-mt.lib new file mode 100644 index 00000000000..73229a4bc11 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_system-mt.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_system-s.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_system-s.lib new file mode 100644 index 00000000000..105e341ab8c Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_system-s.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_system-sgd.lib b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_system-sgd.lib new file mode 100644 index 00000000000..f9061cab745 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/windows/x86/lib/libboost_system-sgd.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Debug/bin/x64/libOpenCL.so b/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Debug/bin/x64/libOpenCL.so new file mode 100644 index 00000000000..cba3ef2d15e Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Debug/bin/x64/libOpenCL.so differ diff --git a/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Debug/bin/x64/libOpenCL.so.1 b/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Debug/bin/x64/libOpenCL.so.1 new file mode 100644 index 00000000000..cba3ef2d15e Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Debug/bin/x64/libOpenCL.so.1 differ diff --git a/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Debug/bin/x64/libOpenCL.so.2.0 b/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Debug/bin/x64/libOpenCL.so.2.0 new file mode 100644 index 00000000000..cba3ef2d15e Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Debug/bin/x64/libOpenCL.so.2.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Debug/bin/x64/libOpenCL.so.2.0.debug b/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Debug/bin/x64/libOpenCL.so.2.0.debug new file mode 100644 index 00000000000..2694bef7e77 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Debug/bin/x64/libOpenCL.so.2.0.debug differ diff --git a/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Release/bin/x64/libOpenCL.so b/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Release/bin/x64/libOpenCL.so new file mode 100644 index 00000000000..e48f4963f70 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Release/bin/x64/libOpenCL.so differ diff --git a/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Release/bin/x64/libOpenCL.so.1 b/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Release/bin/x64/libOpenCL.so.1 new file mode 100644 index 00000000000..e48f4963f70 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Release/bin/x64/libOpenCL.so.1 differ diff --git a/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Release/bin/x64/libOpenCL.so.2.0 b/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Release/bin/x64/libOpenCL.so.2.0 new file mode 100644 index 00000000000..e48f4963f70 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Release/bin/x64/libOpenCL.so.2.0 differ diff --git a/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Release/bin/x64/libOpenCL.so.2.0.debug b/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Release/bin/x64/libOpenCL.so.2.0.debug new file mode 100644 index 00000000000..556289028e6 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Release/bin/x64/libOpenCL.so.2.0.debug differ diff --git a/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/windows/Debug/lib/x64/OpenCL.lib b/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/windows/Debug/lib/x64/OpenCL.lib new file mode 100644 index 00000000000..ebd6efac373 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/windows/Debug/lib/x64/OpenCL.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/windows/Debug/lib/x86/OpenCL.lib b/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/windows/Debug/lib/x86/OpenCL.lib new file mode 100644 index 00000000000..4e051d35632 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/windows/Debug/lib/x86/OpenCL.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/windows/Release/lib/x64/OpenCL.lib b/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/windows/Release/lib/x64/OpenCL.lib new file mode 100644 index 00000000000..ebd6efac373 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/windows/Release/lib/x64/OpenCL.lib differ diff --git a/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/windows/Release/lib/x86/OpenCL.lib b/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/windows/Release/lib/x86/OpenCL.lib new file mode 100644 index 00000000000..4e051d35632 Binary files /dev/null and b/inference-engine/thirdparty/clDNN/common/intel_ocl_icd/6.3/windows/Release/lib/x86/OpenCL.lib differ diff --git a/inference-engine/thirdparty/clDNN/utils/build/cmake/modules/BuildExternalProject.cmake b/inference-engine/thirdparty/clDNN/utils/build/cmake/modules/BuildExternalProject.cmake new file mode 100644 index 00000000000..a1c2a0ab725 --- /dev/null +++ b/inference-engine/thirdparty/clDNN/utils/build/cmake/modules/BuildExternalProject.cmake @@ -0,0 +1,296 @@ +# Copyright (c) 2016 Intel Corporation +# +# Licensed 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. + +# This module supports running in script mode: +# cmake -DINTEL__SCRIPT_MODE=ON -DINTEL__CFG_NAME= +# [-DINTEL__CFG_MAP_PREFIX=] [-DINTEL__TARGETS=] [-D...] -P BuildExternalProject.cmake +# +# will build all specified targets with selected build type mapped with intel_map_configuration(). + + +cmake_minimum_required(VERSION 2.8.8 FATAL_ERROR) + + +# ====================================================================================================== +# ================================================ UTILS =============================================== +# ====================================================================================================== + +# Returns mapped configuration (build type) based on input configuration. +# +# Searches for variables named in following format: "__CFG_MAPS_TO__". +# If variable is found its value is used as output configuration; otherwise input configuration +# is returned. +# +# @param retValName Name of variable placeholder where result will be returned. +# @param mapPrefix Prefix of variables used to map configurations (build types). +# @param config Configuration name (build type) to map. +function(intel_map_configuration retVarName mapPrefix config) + string(TOUPPER "${config}" _config) + set(_mapVarName "${mapPrefix}__CFG_MAPS_TO__${_config}") + if(DEFINED "${_mapVarName}") + set("${retVarName}" "${${_mapVarName}}" PARENT_SCOPE) + else() + set("${retVarName}" "${config}" PARENT_SCOPE) + endif() +endfunction() + +# Maps imported targets with specified configuration mapping. +# +# For each configuration / build type (), it searches for variables named +# in following format: "__CFG_MAPS_TO__". +# If variable is found and its value is different than , the value is used +# as destination configuration during mapping of all imported targets and their interface libs +# (source configuration is ) - applies MAP_IMPORTED_CONFIG_ properties. +# +# @param mapPrefix Prefix of variables used to map configurations (build types). +# @param [target [target ...]] Imported targets which will be mapped according to mapping. +function(intel_map_imported_targets mapPrefix) + foreach(_config ${CMAKE_CONFIGURATION_TYPES}) + string(REPLACE ";" "\;" _config "${_config}") #WA + intel_map_configuration(_mappedConfig "${mapPrefix}" "${_config}") + # If we have mapping check and apply mapping on imported targets. + if(NOT (_mappedConfig STREQUAL _config)) + string(TOUPPER "${_config}" _upperConfig) + string(TOUPPER "${_mappedConfig}" _upperMappedConfig) + + # BFS of all link targets needed. + set(_targets "${ARGN}") + set(_oldTargetsLength 0) + list(REMOVE_DUPLICATES _targets) + list(LENGTH _targets _targetsLength) + while(_targetsLength GREATER _oldTargetsLength) + set(_oldTargets "${_targets}") + set(_oldTargetsLength ${_targetsLength}) + + foreach(_target ${_oldTargets}) + string(REPLACE ";" "\;" _target "${_target}") #WA + + if(TARGET "${_target}") + get_property(_targetIsImported TARGET "${_target}" PROPERTY IMPORTED) + get_property(_targetOldInterface TARGET "${_target}" PROPERTY INTERFACE_LINK_LIBRARIES) + get_property(_targetOldCfgInterface TARGET "${_target}" PROPERTY "INTERFACE_LINK_LIBRARIES_${_upperMappedConfig}") + get_property(_targetInterface TARGET "${_target}" PROPERTY IMPORTED_LINK_INTERFACE_LIBRARIES) + get_property(_targetCfgInterface TARGET "${_target}" PROPERTY "IMPORTED_LINK_INTERFACE_LIBRARIES_${_upperMappedConfig}") + if(_targetIsImported) + list(APPEND _targets "${_targetOldInterface}" "${_targetOldCfgInterface}" "${_targetInterface}" "${_targetCfgInterface}") + endif() + endif() + endforeach() + + list(REMOVE_DUPLICATES _targets) + list(LENGTH _targets _targetsLength) + endwhile() + list(SORT _targets) + + foreach(_target ${_targets}) + string(REPLACE ";" "\;" _target "${_target}") #WA + + if(NOT (TARGET "${_target}")) + message(AUTHOR_WARNING "\"${_target}\" does not name CMake target. It will be omitted during\n imports mapping (\"${_config}\" -> \"${_mappedConfig}\").") + else() + get_property(_targetIsImported TARGET "${_target}" PROPERTY IMPORTED) + if(NOT _targetIsImported) + message(AUTHOR_WARNING "\"${_target}\" is not imported target. It will be omitted during\n imports mapping (\"${_config}\" -> \"${_mappedConfig}\").") + else() + set_property(TARGET "${_target}" PROPERTY "MAP_IMPORTED_CONFIG_${_upperConfig}" "${_mappedConfig}") + endif() + endif() + endforeach() + endif() + endforeach() +endfunction() + +# Helper for intel_build_external_proj_prepare_cmdline() function. +set_property(GLOBAL PROPERTY INTEL__BuildExternalProject_CMAKE_LIST_FILE "${CMAKE_CURRENT_LIST_FILE}") + +# Prepares command-line for building external project. +# +# @param retValName Name of variable placeholder where result will be returned. +# @param semicolonReplace Characters which replaces semicolon in targets list. +# @param [mapPrefix] Prefix of variables used to map configurations (build types). +# @param [target [target ...]] Targets to build. +function(intel_build_external_proj_prepare_cmdline retVarName semicolonReplace) + set(_isMapPrefixSet FALSE) + set(_isTargetsSet FALSE) + foreach(_arg ${ARGN}) + string(REPLACE ";" "\;" _arg "${_arg}") #WA + if(_isMapPrefixSet) + if(_isTargetsSet) + set(_targets "${_targets}${semicolonReplace}${_arg}") + else() + set(_targets "${_arg}") + set(_isTargetsSet TRUE) + endif() + else() + set(_mapPrefix "${_arg}") + set(_isMapPrefixSet TRUE) + endif() + endforeach() + + set(_cmdline "${CMAKE_COMMAND}" "-DINTEL__SCRIPT_MODE=ON" "-DINTEL__CFG_NAME=${CMAKE_CFG_INTDIR}") + if(_isMapPrefixSet) + list(APPEND _cmdline "-DINTEL__CFG_MAP_PREFIX=${_mapPrefix}") + endif() + if(_isTargetsSet) + list(APPEND _cmdline "-DINTEL__TARGETS=${_targets}") + endif() + if(_isMapPrefixSet) + foreach(_config ${CMAKE_CONFIGURATION_TYPES}) + string(REPLACE ";" "\;" _config "${_config}") #WA + string(TOUPPER "${_config}" _upperConfig) + set(_mapVarName "${_mapPrefix}__CFG_MAPS_TO__${_upperConfig}") + + if(DEFINED "${_mapVarName}") + list(APPEND _cmdline "-D${_mapVarName}=${${_mapVarName}}") + endif() + endforeach() + endif() + get_property(_moduleFilePath GLOBAL PROPERTY INTEL__BuildExternalProject_CMAKE_LIST_FILE) + list(APPEND _cmdline "-P" "${_moduleFilePath}") + set("${retVarName}" "${_cmdline}" PARENT_SCOPE) +endfunction() + + +# Prepares list of cache variables to transfer (for ExternalProject_Add()'s CMAKE_CACHE_ARGS) from current +# CMake directory. +# +# @param retValName Name of variable placeholder where result will be returned. Cache data +# will be stored in this variable. Additionally in "_NAMES" variable +# (suffixed with _NAMES suffix) names of transferred variables will be returned. +# @param retValName Regular expression filter which allows to exclude specific variables from transfer. +# @param cacheCfgOptsVarName Name of the variable which contains overwrites in extensions for transferred cache +# data. Variable should contain list of options - each option in form: +# -D:= +function(intel_transfer_cache_vars retVarName excludeFilter cacheCfgOptsVarName) + if(excludeFilter MATCHES "^$") + set(_noExclusion YES) + else() + set(_noExclusion NO) + endif() + + # Transfer all cached options connected to CMake and toolchains. + get_cmake_property(_cachedVariables CACHE_VARIABLES) + set(_transferredVariables "") + set(_transferredCacheData "") + foreach(_cachedVariable ${_cachedVariables}) + if(_noExclusion OR (NOT (_cachedVariable MATCHES "${excludeFilter}"))) + get_property(_cachedVariableType CACHE "${_cachedVariable}" PROPERTY TYPE) + get_property(_cachedVariableValue CACHE "${_cachedVariable}" PROPERTY VALUE) + # Exclude all STATIC, UNINITIALIZED and CMake's INTERNAL variables. + if((NOT (_cachedVariableType MATCHES "^STATIC$|^UNINITALIZED$")) AND (NOT ((_cachedVariableType MATCHES "^INTERNAL$") AND (_cachedVariable MATCHES "^CMAKE_|_CMAKE$")))) + set(_transferredCacheDataEntry "-D${_cachedVariable}:${_cachedVariableType}=${_cachedVariableValue}") + string(REPLACE ";" "\;" _transferredCacheDataEntry "${_transferredCacheDataEntry}") #WA + + list(APPEND _transferredVariables "${_cachedVariable}") + list(APPEND _transferredCacheData "${_transferredCacheDataEntry}") + endif() + endif() + endforeach() + unset(_cachedVariables) + unset(_cachedVariable) + unset(_cachedVariableType) + unset(_transferredCacheDataEntry) + + # Extend/overwrite options with explicit configure cache options. + if(DEFINED "${cacheCfgOptsVarName}") + foreach(_cacheCfgOpt ${${cacheCfgOptsVarName}}) + string(REPLACE ";" "\;" _cacheCfgOpt "${_cacheCfgOpt}") #WA + string(REGEX MATCH "^(-D)?([^:=]+)" _cacheCfgOptName "${_cacheCfgOpt}") + set(_cacheCfgOptName "${CMAKE_MATCH_2}") + list(FIND _transferredVariables "${_cacheCfgOptName}" _cacheCfgOptIdx) + if(_cacheCfgOptIdx LESS 0) + list(APPEND _transferredVariables "${_cacheCfgOptName}") + list(APPEND _transferredCacheData "${_cacheCfgOpt}") + else() + list(REMOVE_AT _transferredVariables ${_cacheCfgOptIdx}) + list(REMOVE_AT _transferredCacheData ${_cacheCfgOptIdx}) + list(INSERT _transferredVariables ${_cacheCfgOptIdx} "${_cacheCfgOptName}") + list(INSERT _transferredCacheData ${_cacheCfgOptIdx} "${_cacheCfgOpt}") + endif() + endforeach() + endif() + unset(_cacheCfgOpt) + unset(_cacheCfgOptName) + unset(_cacheCfgOptIdx) + + set("${retVarName}" "${_transferredCacheData}" PARENT_SCOPE) + set("${retVarName}_NAMES" "${_transferredVariables}" PARENT_SCOPE) +endfunction() + +# ====================================================================================================== +# ====================================================================================================== +# ====================================================================================================== + + +if(INTEL__SCRIPT_MODE) + set(__INTEL_ExternProjBinDir "${CMAKE_CURRENT_BINARY_DIR}") + set(__INTEL_OrigCfgName "${INTEL__CFG_NAME}") + set(__INTEL_CfgName "${__INTEL_OrigCfgName}") + + if(NOT DEFINED INTEL__CFG_NAME) + message(FATAL_ERROR "No build type specified while doing build of external project + located in \"${__INTEL_ExternProjBinDir}\"." + ) + endif() + + if(DEFINED INTEL__CFG_MAP_PREFIX) + intel_map_configuration(__INTEL_CfgName "${INTEL__CFG_MAP_PREFIX}" "${__INTEL_CfgName}") + endif() + + message(STATUS "============================ Build of External Project =============================") + message(STATUS "====================================================================================") + message(STATUS "Project location: ${__INTEL_ExternProjBinDir}") + message(STATUS "") + message(STATUS "Build type: ${__INTEL_OrigCfgName} (for multi-configuration generators)") + if(DEFINED INTEL__CFG_MAP_PREFIX) + message(STATUS "Mapped build type: ${__INTEL_CfgName} (mapped by \"${INTEL__CFG_MAP_PREFIX}\")") + endif() + message(STATUS "") + if(DEFINED INTEL__TARGETS) + message(STATUS "Targets: ${INTEL__TARGETS}") + else() + message(STATUS "Targets: (default)") + endif() + message(STATUS "====================================================================================") + + if(__INTEL_CfgName MATCHES "^\\.$") + set(__INTEL_CfgArg) + else() + set(__INTEL_CfgArg "--config" "${__INTEL_CfgName}") + endif() + + if(DEFINED INTEL__TARGETS) + foreach(__INTEL_Target ${INTEL__TARGETS}) + string(REPLACE ";" "\;" __INTEL_Target "${__INTEL_Target}") #WA + + message(STATUS "Target: ${__INTEL_Target}") + message(STATUS "") + execute_process(COMMAND "${CMAKE_COMMAND}" --build "${__INTEL_ExternProjBinDir}" --target "${__INTEL_Target}" ${__INTEL_CfgArg}) + message(STATUS "====================================================================================") + endforeach() + else() + message(STATUS "Target: (default)") + message(STATUS "") + execute_process(COMMAND "${CMAKE_COMMAND}" --build "${__INTEL_ExternProjBinDir}" ${__INTEL_CfgArg}) + message(STATUS "====================================================================================") + endif() + + message(STATUS "====================================================================================") + + unset(__INTEL_ExternProjBinDir) + unset(__INTEL_OrigCfgName) + unset(__INTEL_CfgName) + unset(__INTEL_CfgArg) + unset(__INTEL_Target) +endif() \ No newline at end of file diff --git a/inference-engine/thirdparty/clDNN/utils/build/cmake/modules/IntelHelpers.cmake b/inference-engine/thirdparty/clDNN/utils/build/cmake/modules/IntelHelpers.cmake new file mode 100644 index 00000000000..2d395f5181f --- /dev/null +++ b/inference-engine/thirdparty/clDNN/utils/build/cmake/modules/IntelHelpers.cmake @@ -0,0 +1,1799 @@ +# Copyright (c) 2016 Intel Corporation +# +# Licensed 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. + + + +#cmake_policy(PUSH) # Not needed... CMake manages policy scope. +cmake_minimum_required(VERSION 2.8.4 FATAL_ERROR) + + +# TODO: Check get_property() with CMake cache interference. According to doc it should return empty value, but it may unset variable in some conditions. + +# ====================================================================================================== +# ================================================ UTILS =============================================== +# ====================================================================================================== + +# ================================================ Flags =============================================== + +# Escapes text for regular expressions. +# +# @param retValName Name of variable placeholder where result will be returned. +# @param text Text to escape. +function(intel_regex_escape retVarName text) + string(REGEX REPLACE "\\^|\\$|\\.|\\-|\\[|\\]|\\(|\\)|\\+|\\*|\\?|\\||\\\\" "\\\\\\0" _escapedText "${text}") + set("${retVarName}" "${_escapedText}" PARENT_SCOPE) +endfunction() + + +# Removes flags from variable which match specified regular expression. +# +# @param flagsVarName Name of variable with flags. The variable will be updated. +# @param [flag [flag ...]] Regular expressions which describe flags to remove. +function(intel_flag_remove_re flagsVarName) + set(_updatedFlags "${${flagsVarName}}") + foreach(_flag ${ARGN}) + string(REPLACE ";" "\;" _flag "${_flag}") # [WA#1] Must escape ; again if occurred in flag. + string(REGEX REPLACE "([ ]+|^)(${_flag})([ ]+|$)" " " _updatedFlags "${_updatedFlags}") + endforeach() + string(STRIP "${_updatedFlags}" _updatedFlags) + + if(_updatedFlags MATCHES "^$") # [WA#3] Empty string sometimes unsets variable which can lead to reading of backing cached variable with the same name. + set("${flagsVarName}" " " PARENT_SCOPE) + else() + set("${flagsVarName}" "${_updatedFlags}" PARENT_SCOPE) + endif() +endfunction() + + +# Adds flags to variable. If flag is in variable it is omitted. +# +# @param flagsVarName Name of variable with flags. The variable will be updated. +# @param [flag [flag ...]] Flags which will be added to variable (if they are not in it already). +function(intel_flag_add_once flagsVarName) + set(_updatedFlags "${${flagsVarName}}") + foreach(_flag ${ARGN}) + string(REPLACE ";" "\;" _flag "${_flag}") # [WA#1] Must escape ; again if occurred in flag. + intel_regex_escape(_escapedFlag "${_flag}") + if(NOT (_updatedFlags MATCHES "([ ]+|^)(${_escapedFlag})([ ]+|$)")) + set(_updatedFlags "${_updatedFlags} ${_flag}") + endif() + endforeach() + string(STRIP "${_updatedFlags}" _updatedFlags) + + set("${flagsVarName}" "${_updatedFlags}" PARENT_SCOPE) +endfunction() + + +# Removes flags from variable which match specified flag. +# +# @param flagsVarName Name of variable with flags. The variable will be updated. +# @param [flag [flag ...]] Strings which are equal to flags to remove. +function(intel_flag_remove flagsVarName) + set(_updatedFlags "${${flagsVarName}}") + foreach(_flag ${ARGN}) + string(REPLACE ";" "\;" _flag "${_flag}") # [WA#1] Must escape ; again if occurred in flag. + intel_regex_escape(_escapedFlag "${_flag}") + intel_flag_remove_re(_updatedFlags "${_escapedFlag}") + endforeach() + + set("${flagsVarName}" "${_updatedFlags}" PARENT_SCOPE) +endfunction() + +# Adds flags to flag property of target (if they are not added already). +# +# @param targetName Name of target. +# @param propertyName String with property name. +# @param [flag [flag ...]] Flags which will be added to property (if they are not in it already). +function(intel_target_flag_property_add_once targetName propertyName) + get_property(_flagsExist TARGET "${targetName}" PROPERTY "${propertyName}" DEFINED) + if(NOT _flagsExist) + message(AUTHOR_WARNING "Property \"${propertyName}\" is not defined.") + endif() + + get_property(_flags TARGET "${targetName}" PROPERTY "${propertyName}") + intel_flag_add_once(_flags "${ARGN}") # [WA#2] To handle ; correctly some lists must be put in string form. + set_property(TARGET "${targetName}" PROPERTY "${propertyName}" "${_flags}") +endfunction() + + +# Adds flags to flag property of target (if they are not added already). +# +# Flags are read from variable (if defined). The base property is updated by base variable and +# all per-configuration properties (with _ suffix) are updated by variables named from +# base name with _ suffix appended. +# +# @param targetName Name of target. +# @param propertyBaseName String with property name where add flags to (base name). +# @param varBaseName Variable name where list of flags is stored (base name). +function(intel_target_flag_property_add_once_config_var targetName propertyBaseName varBaseName) + if(DEFINED "${varBaseName}") + intel_target_flag_property_add_once("${targetName}" "${propertyBaseName}" "${${varBaseName}}") # [WA#2] To handle ; correctly some lists must be put in string form. + endif() + + foreach(_configName ${CMAKE_CONFIGURATION_TYPES}) + string(REPLACE ";" "\;" _configName "${_configName}") # [WA#1] Must escape ; again if occurred in item. + string(TOUPPER "${_configName}" _upperConfigName) + set(_propertyName "${propertyBaseName}_${_upperConfigName}") + set(_varName "${varBaseName}_${_upperConfigName}") + + if(DEFINED "${_varName}") + intel_target_flag_property_add_once("${targetName}" "${_propertyName}" "${${_varName}}") # [WA#2] To handle ; correctly some lists must be put in string form. + endif() + + unset(_upperConfigName) + unset(_propertyName) + unset(_varName) + endforeach() +endfunction() + +# Registers setting and relations on flag options which are usually connected to compiler / linker options. +# +# Settings on the same domain can be set on different calls of this function. Groups with the same +# name will be overwritten (by last GROUP entry of last call of function). +# The same overwrite behavior is defined for aliases with the same name. +# +# intel_flag_register_settings( +# settingsDomainName +# [GROUP [NO_REGEX] [NAME groupName] groupedFlag [groupedFlag [...]]] +# [GROUP [NO_REGEX] [NAME groupName] groupedFlag [groupedFlag [...]]] +# [...] +# [ALIAS aliasName [aliasedFlag [{ALLOW_MULTIPLE | REMOVE_GROUP }]]] +# [ALIAS aliasName [aliasedFlag [{ALLOW_MULTIPLE | REMOVE_GROUP }]]] +# [...] +# ) +# +# GROUP groups mutually exclusive flags. Only one flag from the group can be applied. NO_REGEX indicates +# that grouped flags are described directly (not as regular expression patterns). NAME allows to create +# named group. +# +# ALIAS allows to apply flags using unified name. ALLOW_MULTIPLE indicates that flag can be applied multiple times. +# ALLOW_MULTIPLE only works for non-grouped aliased flags. REMOVE_GROUP treats aliasedFlag as group name which +# flags will be removed when alias will be applied. +# +# @param settingsDomainName Domain name for settings / relations. The domain name allows to differentate and +# to create multiple sets of relations. All operations on settings functions use +# domain name to identify relations domain. +# @param groupName Optional name of the group. Named groups can be overwritten. +# @param groupedFlag Flags which are defined in specified group. Flags in the group are treated as +# mutually exclusive. +# @param aliasName Name of alias for the flag. +# @param aliasedFlag Raw value of flag. It contains group name when REMOVE_GROUP is specified. +function(intel_flag_register_settings settingsDomainName) + set(_settingsPropPrefix "INTEL_CMAKE_PROPERTY__FLAG_SETTINGS_D${settingsDomainName}_") + set(_namedGroupsPropName "${_settingsPropPrefix}PNAMED_GROUPS") + set(_groupIdxCountPropName "${_settingsPropPrefix}PGROUP_INDEX") + set(_aliasesPropName "${_settingsPropPrefix}PALIASES") + + # Preserve group index to support multiple registration calls. + get_property(_groupIdxSet GLOBAL PROPERTY "${_groupIdxCountPropName}" SET) + if(_groupIdxSet) + get_property(_groupIdx GLOBAL PROPERTY "${_groupIdxCountPropName}") + else() + set(_groupIdx 0) + set_property(GLOBAL PROPERTY "${_groupIdxCountPropName}" "${_groupIdx}") + endif() + # Use named groups to verify connections. + get_property(_namedGroups GLOBAL PROPERTY "${_namedGroupsPropName}") + + set(_parseState 1) + foreach(_settingsArg ${ARGN}) + string(REPLACE ";" "\;" _settingsArg "${_settingsArg}") # [WA#1] Must escape ; again if occurred in item. + + # States: [0] [1] *( "GROUP" [2] *1( "NO_REGEX" [3] ) *1( "NAME" [4] [5] ) [6] * [6] ) + # *( "ALIAS" [7] [8] *1( [9] * [9] *1( { "ALLOW_MULTIPLE" | "REMOVE_GROUP" } [10] ) ) ) + # Transitions: 0 -> 1 // by explict parameter + # 1 (GROUP) -> 2 + # 1 (ALIAS) -> 7 + # 2 (NO_REGEX) -> 3 + # 2 (NAME) -> 4 + # 2 -> 6 + # 3 (NAME) -> 4 + # 3 -> 6 + # 4 -> 5 -> 6 + # 6 (GROUP) -> 2 + # 6 (ALIAS) -> 7 + # 6 -> 6 + # 7 -> 8 + # 8 (ALIAS) -> 7 + # 8 -> 9 + # 9 (ALIAS) -> 7 + # 9 (ALLOW_MULTIPLE) -> 10 (ALIAS) -> 7 + # 9 (REMOVE_GROUP) -> 10 (ALIAS) -> 7 + # 9 -> 9 + # Stop States: 1, 6, 8, 9, 10 + if(_parseState EQUAL 1) + if(_settingsArg MATCHES "^GROUP$") + set(_parseState 2) + elseif(_settingsArg MATCHES "^ALIAS$") + set(_parseState 7) + else() + message(FATAL_ERROR "Invalid parameter token near \"${_settingsArg}\".") + endif() + elseif(_parseState EQUAL 2) + set(_groupUseRe YES) + set(_namedGroup NO) + set(_groupName "I${_groupIdx}") + set(_groupedFlagsPropName "${_settingsPropPrefix}G${_groupName}_FLAGS") + + math(EXPR _groupIdx "${_groupIdx} + 1") + + if(_settingsArg MATCHES "^NO_REGEX$") + set(_groupUseRe NO) + set(_parseState 3) + elseif(_settingsArg MATCHES "^NAME$") + set(_parseState 4) + else() + if(NOT _groupUseRe) + intel_regex_escape(_settingsArg "${_settingsArg}") + endif() + set_property(GLOBAL PROPERTY "${_groupedFlagsPropName}" "${_settingsArg}") + set(_parseState 6) + endif() + elseif(_parseState EQUAL 3) + if(_settingsArg MATCHES "^NAME$") + set(_parseState 4) + else() + if(NOT _groupUseRe) + intel_regex_escape(_settingsArg "${_settingsArg}") + endif() + set_property(GLOBAL PROPERTY "${_groupedFlagsPropName}" "${_settingsArg}") + set(_parseState 6) + endif() + elseif(_parseState EQUAL 4) + set(_namedGroup YES) + set(_groupName "N${_settingsArg}") + set(_groupedFlagsPropName "${_settingsPropPrefix}G${_groupName}_FLAGS") + + math(EXPR _groupIdx "${_groupIdx} - 1") # Named group does not have index identifier (we can reuse pre-allocated index). + + set(_parseState 5) + elseif(_parseState EQUAL 5) + if(NOT _groupUseRe) + intel_regex_escape(_settingsArg "${_settingsArg}") + endif() + set_property(GLOBAL PROPERTY "${_groupedFlagsPropName}" "${_settingsArg}") + set(_parseState 6) + elseif(_parseState EQUAL 6) + # Updating list of named groups or next available index (for unnamed groups). + # This action should be triggered at transition to state 6 which is Stop state, so the action must be also when there is no more parameters. + if(_namedGroup) + list(FIND _namedGroups "${_groupName}" _namedGroupIdx) + if(_namedGroupIdx LESS 0) + set_property(GLOBAL APPEND PROPERTY "${_namedGroupsPropName}" "${_groupName}") + list(APPEND _namedGroups "${_groupName}") + endif() + else() + set_property(GLOBAL PROPERTY "${_groupIdxCountPropName}" "${_groupIdx}") + endif() + + if(_settingsArg MATCHES "^GROUP$") + set(_parseState 2) + elseif(_settingsArg MATCHES "^ALIAS$") + set(_parseState 7) + else() + if(NOT _groupUseRe) + intel_regex_escape(_settingsArg "${_settingsArg}") + endif() + set_property(GLOBAL APPEND PROPERTY "${_groupedFlagsPropName}" "${_settingsArg}") + endif() + elseif(_parseState EQUAL 7) + set(_aliasName "${_settingsArg}") + set(_aliasRawPropName "${_settingsPropPrefix}A${_aliasName}_RAW") + set(_aliasRGroupPropName "${_settingsPropPrefix}A${_aliasName}_REMOVE_GROUP") + set(_aliasAllowMultiPropName "${_settingsPropPrefix}A${_aliasName}_ALLOW_MULTIPLE") + + get_property(_aliases GLOBAL PROPERTY "${_aliasesPropName}") + list(FIND _aliases "${_aliasName}" _aliasIdx) + if(_aliasIdx LESS 0) + set_property(GLOBAL APPEND PROPERTY "${_aliasesPropName}" "${_aliasName}") + endif() + + set_property(GLOBAL PROPERTY "${_aliasRawPropName}") + set_property(GLOBAL PROPERTY "${_aliasRGroupPropName}") + set_property(GLOBAL PROPERTY "${_aliasAllowMultiPropName}" NO) + + set(_parseState 8) + elseif(_parseState EQUAL 8) + if(_settingsArg MATCHES "^ALIAS$") + set(_parseState 7) + else() + set_property(GLOBAL PROPERTY "${_aliasRawPropName}" "${_settingsArg}") + set(_parseState 9) + endif() + elseif(_parseState EQUAL 9) + if(_settingsArg MATCHES "^ALIAS$") + set(_parseState 7) + elseif(_settingsArg MATCHES "^ALLOW_MULTIPLE$") + set_property(GLOBAL PROPERTY "${_aliasAllowMultiPropName}" YES) + set(_parseState 10) + elseif(_settingsArg MATCHES "^REMOVE_GROUP$") + get_property(_groupsToRemove GLOBAL PROPERTY "${_aliasRawPropName}") + set_property(GLOBAL PROPERTY "${_aliasRawPropName}") + foreach(_groupToRemove ${_groupsToRemove}) + string(REPLACE ";" "\;" _groupToRemove "${_groupToRemove}") # [WA#1] Must escape ; again if occurred in item. + list(FIND _namedGroups "N${_groupToRemove}" _namedGroupIdx) + if(_namedGroupIdx LESS 0) + message(WARNING "Named group \"${_groupToRemove}\" referenced in \"${_aliasName}\" alias does not exist yet.") + endif() + set_property(GLOBAL APPEND PROPERTY "${_aliasRGroupPropName}" "N${_groupToRemove}") + endforeach() + set(_parseState 10) + else() + set_property(GLOBAL APPEND PROPERTY "${_aliasRawPropName}" "${_settingsArg}") + endif() + elseif(_parseState EQUAL 10) + if(_settingsArg MATCHES "^ALIAS$") + set(_parseState 7) + else() + message(FATAL_ERROR "Invalid parameter token near \"${_settingsArg}\".") + endif() + else() + message(FATAL_ERROR "Invalid parameter token near \"${_settingsArg}\".") + endif() + endforeach() + if(_parseState EQUAL 6) + # Updating list of named groups or next available index (for unnamed groups). + # This action should be triggered at transition to state 6 which is Stop state, so the action must be also when there is no more parameters. + if(_namedGroup) + list(FIND _namedGroups "${_groupName}" _namedGroupIdx) + if(_namedGroupIdx LESS 0) + set_property(GLOBAL APPEND PROPERTY "${_namedGroupsPropName}" "${_groupName}") + list(APPEND _namedGroups "${_groupName}") + endif() + else() + set_property(GLOBAL PROPERTY "${_groupIdxCountPropName}" "${_groupIdx}") + endif() + endif() + if(NOT ((_parseState EQUAL 1) OR (_parseState EQUAL 6) OR (_parseState EQUAL 8) OR (_parseState EQUAL 9) OR (_parseState EQUAL 10))) + message(FATAL_ERROR "Invalid number of parameters.") + endif() +endfunction() + +# Applies settings to flag variables. Settings are applied according to registered configuration +# (by intel_flag_register_settings). +# +# intel_flag_apply_settings( +# settingsDomainName +# flagsMainVarName +# [FLAG flagsVarName [flagsVarName [...]]] +# [FLAG flagsVarName [flagsVarName [...]]] +# [...] +# [SET flag [flag [...]]] +# [SET_RAW flag [flag [...]]] +# [REMOVE_GROUP groupName [groupName [...]]] +# [{SET|SET_RAW|REMOVE_GROUP} ...] +# [...] +# ) +# +# Allowed operation to apply: +# SET - sets flag (takes into consideration aliases). +# SET_RAW - sets flag (does NOT take aliases into consideration). +# REMOVE_GROUP - removes all flags identified by specified group. +# Operations are applied in definition order. +# +# @param settingsDomainName Domain name for settings / relations. The domain name allows to differentate and +# to create multiple sets of relations. All operations on settings functions use +# domain name to identify relations domain. +# @param flagsMainVarName Name of main variable for flags. Any added flags are added to main variable. +# @param flagsVarName Names of any additional flag variables which will be cleaned up from mutually +# exclusive flags (or from selected groups of flags). +# @param flag Flags to set (SET or SET_RAW). +# @param groupName Names of groups of flags to remove (REMOVE_GROUP). +function(intel_flag_apply_settings settingsDomainName flagsMainVarName) + set(_settingsPropPrefix "INTEL_CMAKE_PROPERTY__FLAG_SETTINGS_D${settingsDomainName}_") + set(_namedGroupsPropName "${_settingsPropPrefix}PNAMED_GROUPS") + set(_groupIdxCountPropName "${_settingsPropPrefix}PGROUP_INDEX") + set(_aliasesPropName "${_settingsPropPrefix}PALIASES") + + get_property(_domainExists GLOBAL PROPERTY "${_groupIdxCountPropName}" SET) + if(NOT _domainExists) + message(FATAL_ERROR "Settings domain \"${settingsDomainName}\" does not exist.") + endif() + + set(_flagVarNames "${flagsMainVarName}") + set(_operations "") + set(_flagsOrGroups "") + + set(_parseState 2) + foreach(_settingsArg ${ARGN}) + string(REPLACE ";" "\;" _settingsArg "${_settingsArg}") # [WA#1] Must escape ; again if occurred in item. + + # States: [0] [1] [2] *( "FLAG" [3] [4] * [4] ) *( ( "SET" | "SET_RAW" | "REMOVE_GROUP" ) [5] [6] * [6] ) + # Transitions: 0 -> 1 -> 2 // by explict parameters + # 2 (FLAG) -> 3 + # 2 (SET|SET_RAW|REMOVE_GROUP) -> 5 + # 3 -> 4 + # 4 (FLAG) -> 3 + # 4 (SET|SET_RAW|REMOVE_GROUP) -> 5 + # 4 -> 4 + # 5 -> 6 + # 6 (SET|SET_RAW|REMOVE_GROUP) -> 5 + # 6 -> 6 + # Stop States: 2, 4, 6 + if(_parseState EQUAL 2) + if(_settingsArg MATCHES "^FLAG$") + set(_parseState 3) + elseif(_settingsArg MATCHES "^SET|SET_RAW|REMOVE_GROUP$") + set(_opType "${CMAKE_MATCH_0}") + set(_parseState 5) + else() + message(FATAL_ERROR "Invalid parameter token near \"${_settingsArg}\".") + endif() + elseif(_parseState EQUAL 3) + list(APPEND _flagVarNames "${_settingsArg}") + set(_parseState 4) + elseif(_parseState EQUAL 4) + if(_settingsArg MATCHES "^FLAG$") + set(_parseState 3) + elseif(_settingsArg MATCHES "^SET|SET_RAW|REMOVE_GROUP$") + set(_opType "${CMAKE_MATCH_0}") + set(_parseState 5) + else() + list(APPEND _flagVarNames "${_settingsArg}") + endif() + elseif(_parseState EQUAL 5) + list(APPEND _operations "${_opType}") + list(APPEND _flagsOrGroups "${_settingsArg}") + set(_parseState 6) + elseif(_parseState EQUAL 6) + if(_settingsArg MATCHES "^SET|SET_RAW|REMOVE_GROUP$") + set(_opType "${CMAKE_MATCH_0}") + set(_parseState 5) + else() + list(APPEND _operations "${_opType}") + list(APPEND _flagsOrGroups "${_settingsArg}") + endif() + else() + message(FATAL_ERROR "Invalid parameter token near \"${_settingsArg}\".") + endif() + endforeach() + if(NOT ((_parseState EQUAL 2) OR (_parseState EQUAL 4) OR (_parseState EQUAL 6))) + message(FATAL_ERROR "Invalid number of parameters.") + endif() + + set(_updatedFlagsMainVarName "_updatedFlags_${flagsMainVarName}") + foreach(_flagVarName ${_flagVarNames}) + string(REPLACE ";" "\;" _flagVarName "${_flagVarName}") + set("_updatedFlags_${_flagVarName}" "${${_flagVarName}}") + endforeach() + + get_property(_groupIdx GLOBAL PROPERTY "${_groupIdxCountPropName}") # Next available index for unnamed group. + get_property(_namedGroups GLOBAL PROPERTY "${_namedGroupsPropName}") + get_property(_aliases GLOBAL PROPERTY "${_aliasesPropName}") + set(_groups "${_namedGroups}") + if(_groupIdx GREATER 0) + math(EXPR _groupIdxM1 "${_groupIdx} - 1") + foreach(_idx RANGE 0 ${_groupIdxM1}) + list(APPEND _groups "I${_idx}") + endforeach() + endif() + + set(_operationIdx 0) + foreach(_operation ${_operations}) # Operation type does not have ; -> no need for [WA#1] + list(GET _flagsOrGroups ${_operationIdx} _flagOrGroup) + string(REPLACE ";" "\;" _flagOrGroup "${_flagOrGroup}") # [WA#1] Must escape ; again if occurred in item. + + set(_groupsToRemove "") + set(_flagsToAdd "") + + set(_aliasRawPropName "${_settingsPropPrefix}A${_flagOrGroup}_RAW") + set(_aliasRGroupPropName "${_settingsPropPrefix}A${_flagOrGroup}_REMOVE_GROUP") + set(_aliasAllowMultiPropName "${_settingsPropPrefix}A${_flagOrGroup}_ALLOW_MULTIPLE") + + # Removing aliases and splitting operations into remove group/add flag categories. + if(_operation MATCHES "^SET$") + list(FIND _aliases "${_flagOrGroup}" _aliasIdx) + if(_aliasIdx LESS 0) + list(APPEND _flagsToAdd "${_flagOrGroup}") + else() + get_property(_rawValueSet GLOBAL PROPERTY "${_aliasRawPropName}" SET) + get_property(_removeGroupSet GLOBAL PROPERTY "${_aliasRGroupPropName}" SET) + get_property(_allowMultiple GLOBAL PROPERTY "${_aliasAllowMultiPropName}") + + if(_removeGroupSet) + get_property(_removeGroup GLOBAL PROPERTY "${_aliasRGroupPropName}") + list(APPEND _groupsToRemove "${_removeGroup}") + elseif(_rawValueSet) + get_property(_rawValue GLOBAL PROPERTY "${_aliasRawPropName}") + list(APPEND _flagsToAdd "${_rawValue}") + endif() + endif() + elseif(_operation MATCHES "^SET_RAW$") + list(APPEND _flagsToAdd "${_flagOrGroup}") + elseif(_operation MATCHES "^REMOVE_GROUP$") + list(APPEND _groupsToRemove "$N{_flagOrGroup}") + endif() + + # Taking into consideration mutual exclusion groups. + if(NOT _allowMultiple) + list(REMOVE_DUPLICATES _flagsToAdd) + endif() + + foreach(_flagToAdd ${_flagsToAdd}) + string(REPLACE ";" "\;" _flagToAdd "${_flagToAdd}") # [WA#1] Must escape ; again if occurred in item. + + foreach(_group ${_groups}) + string(REPLACE ";" "\;" _group "${_group}") # [WA#1] Must escape ; again if occurred in item. + + set(_groupedFlagsPropName "${_settingsPropPrefix}G${_group}_FLAGS") + + get_property(_groupedFlags GLOBAL PROPERTY "${_groupedFlagsPropName}") + foreach(_groupedFlag ${_groupedFlags}) + string(REPLACE ";" "\;" _groupedFlag "${_groupedFlag}") # [WA#1] Must escape ; again if occurred in item. + + if(_flagToAdd MATCHES "([ ]+|^)(${_groupedFlag})([ ]+|$)") + list(APPEND _groupsToRemove "${_group}") + break() + endif() + endforeach() + endforeach() + endforeach() + + # Removing all groups of mutually exclusive options that collide with added flags or + # has been selected to remove. + list(REMOVE_DUPLICATES _groupsToRemove) + + #message("GR ---> ${_groupsToRemove}") + #message("FA ---> ${_flagsToAdd}") + + foreach(_groupToRemove ${_groupsToRemove}) + string(REPLACE ";" "\;" _groupToRemove "${_groupToRemove}") # [WA#1] Must escape ; again if occurred in item. + + set(_groupedFlagsPropName "${_settingsPropPrefix}G${_groupToRemove}_FLAGS") + + list(FIND _groups "${_groupToRemove}" _groupToRemoveIdx) + if(_groupToRemoveIdx LESS 0) + string(REGEX REPLACE "^N" "" _groupToRemove "${_groupToRemove}") + message(WARNING "Group of options to remove \"${_groupToRemove}\" cannot be found and will be omitted.") + else() + get_property(_groupedFlags GLOBAL PROPERTY "${_groupedFlagsPropName}") + foreach(_flagVarName ${_flagVarNames}) + string(REPLACE ";" "\;" _flagVarName "${_flagVarName}") # [WA#1] Must escape ; again if occurred in item. + + intel_flag_remove_re("_updatedFlags_${_flagVarName}" "${_groupedFlags}") # [WA#2] To handle ; correctly some lists must be put in string form. + endforeach() + endif() + endforeach() + + # Adding flags. + if(NOT _allowMultiple) + # If multiple flags are not allowed, the flags must be moved to main variable. + foreach(_flagVarName ${_flagVarNames}) + string(REPLACE ";" "\;" _flagVarName "${_flagVarName}") # [WA#1] Must escape ; again if occurred in item. + + if(NOT (_flagVarName STREQUAL flagsMainVarName)) + intel_flag_remove("_updatedFlags_${_flagVarName}" "${_flagsToAdd}") # [WA#2] To handle ; correctly some lists must be put in string form. + endif() + endforeach() + intel_flag_add_once("${_updatedFlagsMainVarName}" "${_flagsToAdd}") # [WA#2] To handle ; correctly some lists must be put in string form. + else() + foreach(_flagToAdd ${_flagsToAdd}) + string(REPLACE ";" "\;" _flagToAdd "${_flagToAdd}") # [WA#1] Must escape ; again if occurred in item. + set("${_updatedFlagsMainVarName}" "${${_updatedFlagsMainVarName}} ${_flagToAdd}") + endforeach() + endif() + + math(EXPR _operationIdx "${_operationIdx} + 1") + endforeach() + + # Returning flags. + foreach(_flagVarName ${_flagVarNames}) + string(REPLACE ";" "\;" _flagVarName "${_flagVarName}") + set("${_flagVarName}" "${_updatedFlags_${_flagVarName}}" PARENT_SCOPE) + endforeach() +endfunction() + +# Applies settings to configuration flag variable (variable which has per-configuration subvariables). +# Settings are applied according to registered configuration (by intel_flag_register_settings). +# +# intel_config_flag_apply_settings( +# settingsDomainName +# flagsVarBaseName +# { PATTERN | NEG_PATTERN | ALL_PATTERN | ALL_PATTERN_NOINHERIT } +# configPattern +# [SET flag [flag [...]]] +# [SET_RAW flag [flag [...]]] +# [REMOVE_GROUP groupName [groupName [...]]] +# [{SET|SET_RAW|REMOVE_GROUP} ...] +# [...] +# ) +# +# Allowed operation to apply: +# SET - sets flag (takes into consideration aliases). +# SET_RAW - sets flag (does NOT take aliases into consideration). +# REMOVE_GROUP - removes all flags identified by specified group. +# Operations are applied in definition order. +# +# @param settingsDomainName Domain name for settings / relations. The domain name allows to differentate and +# to create multiple sets of relations. All operations on settings functions use +# domain name to identify relations domain. +# @param flagsVarBaseName Base name of flags variable. Per-configuration variables are constructed by +# attaching _ suffix. Base name variable is treated as variable +# which contains flags common to all configurations. +# @param patternType Pattern type: +# - PATTERN - Normal regular expression pattern (select configuration that match +# pattern). Behaves like ALL_PATTERN when matched all configurations. +# - NEG_PATTERN - Negated regular expression pattern (selects configuration that do not +# match pattern). Behaves like ALL_PATTERN when matched all configurations. +# - ALL_PATTERN - configPattern parameter is ignored and all configurations +# are selected. The settings are applied to common/base configuration +# variable (and they are inherited). +# When inherited common flag is removed, the removal affects all configurations +# (flags removed from common variable due to redundance or mutual exclusion +# are not moved to specific configs on applied operations). +# - ALL_PATTERN_NOINHERIT - configPattern parameter is ignored and all configurations +# are selected. The settings are applied to all specific configuration +# variables (and they are NOT inherited). Use this if you want to +# preserve flag in configurations that are mutually exclusive with flags +# in other configurations. +# @param configPattern Regular expression which select configurations to which settings will be applied. +# @param flag Flags to set (SET or SET_RAW). +# @param groupName Names of groups of flags to remove (REMOVE_GROUP). +function(intel_config_flag_apply_settings settingsDomainName flagsVarBaseName patternType configPattern) + set(_updatedFlags "${${flagsVarBaseName}}") + + set(_negativePattern NO) + set(_matchAllConfigs NO) + set(_configNoinherit NO) + + if(patternType MATCHES "^PATTERN$") + # Only for check. + elseif(patternType MATCHES "^NEG_PATTERN$") + set(_negativePattern YES) + elseif(patternType MATCHES "^ALL_PATTERN$") + set(_matchAllConfigs YES) + elseif(patternType MATCHES "^ALL_PATTERN_NOINHERIT$") + set(_matchAllConfigs YES) + set(_configNoinherit YES) + else() + message(FATAL_ERROR "Pattern type \"${patternType}\" is invalid. Supported patter types/keywords:\nPATTERN, NEG_PATTERN, ALL_PATTERN, ALL_PATTERN_NOINHERIT") + endif() + + + set(_matchedAllConfigs YES) + set(_selectedConfigs "") + set(_selectedFlagsVarNames "") + foreach(_configName ${CMAKE_CONFIGURATION_TYPES}) + string(REPLACE ";" "\;" _configName "${_configName}") # [WA#1] Must escape ; again if occurred in item. + + if(_matchAllConfigs OR (_negativePattern AND (NOT (_configName MATCHES "${configPattern}"))) OR ((NOT _negativePattern) AND (_configName MATCHES "${configPattern}"))) + string(TOUPPER "${_configName}" _upperConfigName) + set(_updatedConfigFlagsName "_updatedFlags_${_upperConfigName}") + + set("${_updatedConfigFlagsName}" "${${flagsVarBaseName}_${_upperConfigName}}") + + list(APPEND _selectedConfigs "${_upperConfigName}") + list(APPEND _selectedFlagsVarNames "${_updatedConfigFlagsName}") + else() + set(_matchedAllConfigs NO) + endif() + endforeach() + + if(_matchedAllConfigs AND (NOT _configNoinherit)) + intel_flag_apply_settings("${settingsDomainName}" _updatedFlags FLAG "${_selectedFlagsVarNames}" "${ARGN}") # [WA#2] To handle ; correctly some lists must be put in string form. + else() + foreach(_selectedFlagsVarName ${_selectedFlagsVarNames}) + string(REPLACE ";" "\;" _selectedFlagsVarName "${_selectedFlagsVarName}") # [WA#1] Must escape ; again if occurred in item. + + intel_flag_apply_settings("${settingsDomainName}" "${_selectedFlagsVarName}" FLAG _updatedFlags "${ARGN}") # [WA#2] To handle ; correctly some lists must be put in string form. + endforeach() + endif() + + + set("${flagsVarBaseName}" "${_updatedFlags}" PARENT_SCOPE) + foreach(_upperConfigName ${_selectedConfigs}) + string(REPLACE ";" "\;" _upperConfigName "${_upperConfigName}") # [WA#1] Must escape ; again if occurred in item. + set(_updatedConfigFlagsName "_updatedFlags_${_upperConfigName}") + + set("${flagsVarBaseName}_${_upperConfigName}" "${${_updatedConfigFlagsName}}" PARENT_SCOPE) + endforeach() +endfunction() + +# ===================================== Host / Target Architecture ===================================== + +# Detects host and target architecture. +# +# Currently supports: Windows32, Windows64, WindowsARM, Android32, Android64, AndroidMIPS, AndroidARM, +# Linux32, Linux64, LinuxMIPS, LinuxARM, Darwin32, Darwin64, DarwinMIPS, DarwinARM. +# +# @param targetArchVarName Name of variable placeholder for target architecture. +# @param hostArchVarName Name of variable placeholder for host architecture. +# @param targetArchBits Hint about target architecture. (in case that the user specify the architecture explicitly) +function(intel_arch_detect targetArchVarName hostArchVarName targetArchBits) + string(TOLOWER "${CMAKE_GENERATOR}" _cmakeGenerator) + string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" _cmakeTargetProcessor) + + # Target architecture: + # Detect target architecture on Windows using suffix from generator. + if(CMAKE_SYSTEM_NAME MATCHES "Windows") + if(targetArchBits MATCHES 32) + set(_targetArchitecture "Windows32") + elseif(targetArchBits MATCHES 64) + set(_targetArchitecture "Windows64") + else() + if(_cmakeGenerator MATCHES " (arm|aarch64)$") + set(_targetArchitecture "WindowsARM") + elseif(_cmakeGenerator MATCHES " (x64|x86_64|win64|intel64|amd64|64[ ]*\\-[ ]*bit)$") + set(_targetArchitecture "Windows64") + else() + set(_targetArchitecture "Windows32") + endif() + endif() + # Use system processor set by toolchain or CMake. + elseif(ANDROID OR (CMAKE_SYSTEM_NAME MATCHES "Linux") OR (CMAKE_SYSTEM_NAME MATCHES "Darwin")) + if(ANDROID) + set(_targetArchOS "Android") + elseif(CMAKE_SYSTEM_NAME MATCHES "Linux") + set(_targetArchOS "Linux") + else() + set(_targetArchOS "Darwin") + endif() + + if(targetArchBits MATCHES 32) + set(_targetArchitecture "${_targetArchOS}32") + elseif(targetArchBits MATCHES 64) + set(_targetArchitecture "${_targetArchOS}64") + else() + if(_cmakeTargetProcessor MATCHES "(x64|x86_64|amd64|64[ ]*\\-[ ]*bit)") + set(_targetArchitecture "${_targetArchOS}64") + elseif(_cmakeTargetProcessor MATCHES "(x32|x86|i[0-9]+86|32[ ]*\\-[ ]*bit)") + set(_targetArchitecture "${_targetArchOS}32") + elseif(_cmakeTargetProcessor MATCHES "mips") + set(_targetArchitecture "${_targetArchOS}MIPS") + else() + set(_targetArchitecture "${_targetArchOS}ARM") + endif() + endif() + else() + set(_targetArchitecture "Unknown-NOTFOUND") + endif() + + # Host architecture: + # Detect system architecture using WMI. + if(CMAKE_HOST_SYSTEM_NAME MATCHES "Windows") + set(_osArchitecture "32-bit") + execute_process( + COMMAND powershell -NonInteractive -Command "(Get-WmiObject -Class Win32_OperatingSystem).OSArchitecture.ToLowerInvariant()" + TIMEOUT 10 + OUTPUT_VARIABLE _osArchitecture + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + if(NOT (_osArchitecture MATCHES "^(x64|x86_64|win64|intel64|amd64|64[ ]*\\-[ ]*bit)$")) + set(_hostArchitecture "Windows32") + else() + set(_hostArchitecture "Windows64") # WindowsARM cannot be host. + endif() + # Use 'uname -m' to detect kernel architecture. + elseif((CMAKE_HOST_SYSTEM_NAME MATCHES "Linux") OR (CMAKE_HOST_SYSTEM_NAME MATCHES "Darwin")) + if(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux") + set(_hostArchOS "Linux") + else() + set(_hostArchOS "Darwin") + endif() + + set(_osArchitecture "x86_64") + execute_process( + COMMAND uname -m + TIMEOUT 10 + OUTPUT_VARIABLE _osArchitecture + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + string(TOLOWER "${_osArchitecture}" _osArchitecture) + + if(_osArchitecture MATCHES "(x64|x86_64|amd64|64[ ]*\\-[ ]*bit)") + set(_hostArchitecture "${_hostArchOS}64") + elseif(_osArchitecture MATCHES "(x32|x86|i[0-9]+86|32[ ]*\\-[ ]*bit)") + set(_hostArchitecture "${_hostArchOS}32") + elseif(_osArchitecture MATCHES "mips") + set(_hostArchitecture "${_hostArchOS}MIPS") + else() + set(_hostArchitecture "${_hostArchOS}ARM") + endif() + else() + set(_hostArchitecture "Unknown-NOTFOUND") + endif() + + set("${targetArchVarName}" "${_targetArchitecture}" PARENT_SCOPE) + set("${hostArchVarName}" "${_hostArchitecture}" PARENT_SCOPE) +endfunction() + + +# Determines whether architecture is valid (accepts only normalized). +# +# @param retValName Name of variable placeholder where result will be returned. +# @param arch Architecture name to validate. Architecture should be normalized. +function(intel_arch_validate retVarName arch) + # Allowed architectures (list). + set(__allowedArchs + "Windows32" "Windows64" "WindowsARM" + "Android32" "Android64" "AndroidMIPS" "AndroidARM" + "Linux32" "Linux64" "LinuxMIPS" "LinuxARM" + "Darwin32" "Darwin64" "DarwinMIPS" "DarwinARM" + ) + + list(FIND __allowedArchs "${arch}" _allowedArchIdx) + if(_allowedArchIdx LESS 0) + set("${retVarName}" NO PARENT_SCOPE) + else() + set("${retVarName}" YES PARENT_SCOPE) + endif() +endfunction() + + +# Normalizes architecture name. If architecture is not supported by helper functions +# the "Unknown-NOTFOUND" will be returned. +# +# Currently supports: Windows32, Windows64, WindowsARM, Android32, Android64, AndroidMIPS, AndroidARM, +# Linux32, Linux64, LinuxMIPS, LinuxARM, Darwin32, Darwin64, DarwinMIPS, DarwinARM. +# +# @param retValName Name of variable placeholder where result will be returned. +# @param arch Architecture name to normalize / filter. +function(intel_arch_normalize retVarName arch) + string(TOLOWER "${arch}" _arch) + string(STRIP "${_arch}" _arch) + + if(_arch MATCHES "^win") + set(_osPart "Windows") + elseif(_arch MATCHES "^and") + set(_osPart "Android") + elseif(_arch MATCHES "^lin") + set(_osPart "Linux") + elseif(_arch MATCHES "^(mac|app|dar)") + set(_osPart "Darwin") + else() + set(_osPart "Windows") + endif() + + if(_arch MATCHES "64$") + set(_cpuPart "64") + elseif(_arch MATCHES "(32|86)$") + set(_cpuPart "32") + elseif(_arch MATCHES "mips^") + set(_cpuPart "MIPS") + elseif(_arch MATCHES "arm|aarch64") + set(_cpuPart "ARM") + else() + set("${retVarName}" "Unknown-NOTFOUND" PARENT_SCOPE) + return() + endif() + + set(_normalizedArch "${_osPart}${_cpuPart}") + intel_arch_validate(_archValid "${_normalizedArch}") + if(_archValid) + set("${retVarName}" "${_normalizedArch}" PARENT_SCOPE) + else() + set("${retVarName}" "Unknown-NOTFOUND" PARENT_SCOPE) + endif() +endfunction() + + +# Gets OS platform used in specified architecture. If it cannot be determined +# the "Unknown-NOTFOUND" will be returned. +# +# @param retValName Name of variable placeholder where result will be returned. +# @param arch Architecture name to get info from. +function(intel_arch_get_os retVarName arch) + if(arch MATCHES "^(Windows|Android|Linux|Darwin)(.*)$") + set("${retVarName}" "${CMAKE_MATCH_1}" PARENT_SCOPE) + else() + set("${retVarName}" "Unknown-NOTFOUND" PARENT_SCOPE) + endif() +endfunction() + + +# Gets CPU platform used in specified architecture. If it cannot be determined +# the "Unknown-NOTFOUND" will be returned. +# +# @param retValName Name of variable placeholder where result will be returned. +# @param arch Architecture name to get info from. +function(intel_arch_get_cpu retVarName arch) + if(arch MATCHES "^(Windows|Android|Linux|Darwin)(.*)$") + set("${retVarName}" "${CMAKE_MATCH_2}" PARENT_SCOPE) + else() + set("${retVarName}" "Unknown-NOTFOUND" PARENT_SCOPE) + endif() +endfunction() + + +# Determines whether cross-compilation is needed. +# +# @param retValName Name of variable placeholder where result will be returned. +# @param targetArch Target architecture (it will be normalized). +# @param hostArch Host architecture (it will be normalized). +function(intel_arch_crosscompile_needed retVarName targetArch hostArch) + # Allowed cross-executions (keys list, lists for each key). + # Key: host architecture. + # Values: target architecture that can be run on host (different than host). + set(__allowedCrossExecution "Windows64") + set(__allowedCrossExecution_Windows64 "Windows32") + + intel_arch_normalize(_targetArch "${targetArch}") + intel_arch_normalize(_hostArch "${hostArch}") + + if(_targetArch STREQUAL _hostArch) + set("${retVarName}" NO PARENT_SCOPE) + else() + list(FIND __allowedCrossExecution "${_hostArch}" _keyIdx) + if(_keyIdx LESS 0) + set("${retVarName}" YES PARENT_SCOPE) + else() + list(FIND "__allowedCrossExecution_${_hostArch}" "${_targetArch}" _valIdx) + if(_valIdx LESS 0) + set("${retVarName}" YES PARENT_SCOPE) + else() + set("${retVarName}" NO PARENT_SCOPE) + endif() + endif() + endif() +endfunction() + +# ================================== Tools / custom build step helpers ================================= + +# Helper function which register tool activity and allow to generate command-line for it. +# +# intel_tool_register_activity( +# targetName +# activityName +# [ARCH_OS archOs +# [ARCH_CPU archCpu]] +# [PLACEHOLDER placeholder] +# [ALLOW_EXTRA_PARAMS allowExtraParams] +# [commandElem [commandElem [...]]] +# ) +# +# @param targetName Target name of imported / created tool which will be executed during activity. +# @param activityName Name of registered activity. The name can be registered multiple times (for different architectures). +# @param archOs OS architecture compatible with activity. If not specified, the activity is treated as OS-generic. +# @param archCpu CPU architecture compatible with activity. If not specified, the activity is treated as CPU-generic. +# Can be only specified when OS architecture is specified. +# @param placeholder Text that will be searched to replace with actual parameters. +# @param allowExtraParams If TRUE the additional commandline parameters specified in intel_tool_get_activity_commandline will +# be passed to command-line (templated as last commandElem). +# @param commandElem Command-line elements (with optional placeholders for parameters). +function(intel_tool_register_activity targetName activityName) + if(NOT (TARGET "${targetName}")) + message(FATAL_ERROR "Target \"${targetName}\" does not exist. Activity \"${activityName}\" will not be registered.") + endif() + if(activityName MATCHES "^[ ]*$") + message(FATAL_ERROR "Activity name is empty or blank.") + endif() + + + set(_archOs "") + set(_archOsSet NO) + set(_archCpu "") + set(_archCpuSet NO) + set(_placeholder "<<>>") + set(_allowExtraParams NO) + set(_commandElems "") + + set(_parseState 0) + foreach(_toolArg ${ARGN}) + string(REPLACE ";" "\;" _toolArg "${_toolArg}") # [WA#1] Must escape ; again if occurred in item. + + # States: [0] *1( "ARCH_OS" [1] [2] *1( "ARCH_CPU" [3] [4] ) ) *1( "PLACEHOLDER" [5] [6] ) *1( "ALLOW_EXTRA_PARAMS" [7] [8] ) * [8] + # Transitions: 0 (ARCH_OS) -> 1 -> 2 + # 0 (PLACEHOLDER) -> 5 -> 6 + # 0 (ALLOW_EXTRA_PARAMS) -> 7 -> 8 + # 0 -> 8 + # 2 (ARCH_CPU) -> 3 -> 4 + # 2 (PLACEHOLDER) -> 5 -> 6 + # 2 (ALLOW_EXTRA_PARAMS) -> 7 -> 8 + # 2 -> 8 + # 4 (PLACEHOLDER) -> 5 -> 6 + # 4 (ALLOW_EXTRA_PARAMS) -> 7 -> 8 + # 4 -> 8 + # 6 (ALLOW_EXTRA_PARAMS) -> 7 -> 8 + # 6 -> 8 + # Stop States: 8 + if(_parseState EQUAL 0) + if(_toolArg MATCHES "^ARCH_OS$") + set(_parseState 1) + elseif(_toolArg MATCHES "^PLACEHOLDER$") + set(_parseState 5) + elseif(_toolArg MATCHES "^ALLOW_EXTRA_PARAMS$") + set(_parseState 7) + else() + list(APPEND _commandElems "${_toolArg}") + set(_parseState 8) + endif() + elseif(_parseState EQUAL 1) + set(_archOs "${_toolArg}") + set(_archOsSet YES) + set(_parseState 2) + elseif(_parseState EQUAL 2) + if(_toolArg MATCHES "^ARCH_CPU$") + set(_parseState 3) + elseif(_toolArg MATCHES "^PLACEHOLDER$") + set(_parseState 5) + elseif(_toolArg MATCHES "^ALLOW_EXTRA_PARAMS$") + set(_parseState 7) + else() + list(APPEND _commandElems "${_toolArg}") + set(_parseState 8) + endif() + elseif(_parseState EQUAL 3) + set(_archCpu "${_toolArg}") + set(_archCpuSet YES) + set(_parseState 4) + elseif(_parseState EQUAL 4) + if(_toolArg MATCHES "^PLACEHOLDER$") + set(_parseState 5) + elseif(_toolArg MATCHES "^ALLOW_EXTRA_PARAMS$") + set(_parseState 7) + else() + list(APPEND _commandElems "${_toolArg}") + set(_parseState 8) + endif() + elseif(_parseState EQUAL 5) + set(_placeholder "${_toolArg}") + set(_parseState 6) + elseif(_parseState EQUAL 6) + if(_toolArg MATCHES "^ALLOW_EXTRA_PARAMS$") + set(_parseState 7) + else() + list(APPEND _commandElems "${_toolArg}") + set(_parseState 8) + endif() + elseif(_parseState EQUAL 7) + set(_allowExtraParams "${_toolArg}") + set(_parseState 8) + elseif(_parseState EQUAL 8) + list(APPEND _commandElems "${_toolArg}") + else() + message(FATAL_ERROR "Invalid parameter token near \"${_toolArg}\".") + endif() + endforeach() + if(NOT (_parseState EQUAL 8)) + message(FATAL_ERROR "Invalid number of parameters.") + endif() + + intel_regex_escape(_placeholderRe "${_placeholder}") + string(LENGTH "${_placeholderRe}" _placeholderReLen) + if(_placeholderReLen EQUAL 0) + message(FATAL_ERROR "Placeholder cannot be empty string.") + endif() + + + string(REPLACE ";" "\;" _activityName "${activityName}") + if(_archCpuSet) + set(_activityPropName "INTEL_CMAKE_PROPERTY__TOOL__OS${_archOs}_CPU${_archCpu}_A${_activityName}__ACTIVITY") + elseif(_archOsSet) + set(_activityPropName "INTEL_CMAKE_PROPERTY__TOOL__OS${_archOs}_A${_activityName}__ACTIVITY") + else() + set(_activityPropName "INTEL_CMAKE_PROPERTY__TOOL__A${_activityName}__ACTIVITY") + endif() + + set(_commandElemIdx 0) + foreach(_commandElem ${_commandElems}) + string(REPLACE ";" "\;" _commandElem "${_commandElem}") # [WA#1] Must escape ; again if occurred in item. + + set(_commandElemParts "") + set(_scannedElem "${_commandElem}") + while(TRUE) + if(_scannedElem MATCHES "${_placeholderRe}(.*)$") + set(_scannedElemRest "${CMAKE_MATCH_1}") + string(REGEX REPLACE "${_placeholderRe}.*$" "" _scannedElemPrefix "${_scannedElem}") + list(APPEND _commandElemParts "P${_scannedElemPrefix}") + set(_scannedElem "${_scannedElemRest}") + else() + list(APPEND _commandElemParts "P${_scannedElem}") + break() + endif() + endwhile() + + set_property(TARGET "${targetName}" PROPERTY "${_activityPropName}_I${_commandElemIdx}" "${_commandElemParts}") + + math(EXPR _commandElemIdx "${_commandElemIdx} + 1") + endforeach() + set_property(TARGET "${targetName}" PROPERTY "${_activityPropName}" ${_commandElemIdx}) + set_property(TARGET "${targetName}" PROPERTY "${_activityPropName}_EXTRA" ${_allowExtraParams}) +endfunction() + +# Gets command-line for selected activity for specified tool target. Takes host architecture +# into consideration - uses INTEL_CMAKE_OPTION__ARCHITECTURE_HOST variable do determine it. +# +# Allows to unify usage of tools between multiple platforms. The activity must be +# registered before it can be used. The activity can be registered using +# intel_tool_register_activity function, for example: +# +# add_executable(sampleTool IMPORTED) +# set_property(TARGET sampleTool PROPERTY IMPORTED_LOCATION "") +# intel_tool_register_activity(sampleTool sampleOperation +# ARCH_OS Windows +# /sampleOption /sampleWindowsOption=<<>> +# ) +# intel_tool_register_activity(sampleTool sampleOperation +# ARCH_OS Linux +# ARCH_CPU 64 +# -sampleOption -sampleLinuxOption=<<>> +# ) +# +# will register simpleOperation activity for sampleTool. Returned command-line will depend +# on host architecture: +# +# intel_tool_get_activity_commandline(commandLine sampleTool sampleOperation param1Value) +# +# will write to commandLine: +# [Windows] "sampleTool" "/sampleOption" "/sampleWindowsOption=param1Value +# [Linux64] "sampleTool" "-sampleOption" "-sampleLinuxOption=param1Value +# +# @param retVarName Name of variable where command-line text will be returned. +# The list compatible with COMMAND from custom build target/command +# is returned. It should not be used outside this element. +# @param targetName Target name of imported / created tool which will be executed during activity. +# The activity must be registered for tool target name. +# @param activityName Name of activity for which command-line will be returned. The function +# throws fatal error when activity cannot be found for current tool target +# and current host architecture (read from INTEL_CMAKE_OPTION__ARCHITECTURE_HOST). +# @param [param [...]] Additional configurable parameters for command-line. +# Values specified here fill the placeholder in registered command-line elements. +function(intel_tool_get_activity_commandline retVarName targetName activityName) + # Name of variable where current host architecture is stored. + set(__hostArchVarName "INTEL_CMAKE_OPTION__ARCHITECTURE_HOST") + + if(NOT (TARGET "${targetName}")) + message(FATAL_ERROR "Target \"${targetName}\" does not exist. The tool is not available.") + endif() + if(activityName MATCHES "^[ ]*$") + message(FATAL_ERROR "Activity name is empty or blank.") + endif() + + + # Select most matching activity (with most matching architecture - most specific first, most generic last). + intel_arch_get_os(_archOs "${${__hostArchVarName}}") + intel_arch_get_cpu(_archCpu "${${__hostArchVarName}}") + + string(REPLACE ";" "\;" _activityName "${activityName}") + set(_activityPropNames + "INTEL_CMAKE_PROPERTY__TOOL__OS${_archOs}_CPU${_archCpu}_A${_activityName}__ACTIVITY" + "INTEL_CMAKE_PROPERTY__TOOL__OS${_archOs}_A${_activityName}__ACTIVITY" + "INTEL_CMAKE_PROPERTY__TOOL__A${_activityName}__ACTIVITY" + ) + + set(_hasActivity NO) + foreach(_activityPropName ${_activityPropNames}) + string(REPLACE ";" "\;" _activityPropName "${_activityPropName}") # [WA#1] Must escape ; again if occurred in item. + + get_property(_hasActivity TARGET "${targetName}" PROPERTY "${_activityPropName}" SET) + if(_hasActivity) + set(_selectedActivityPropName "${_activityPropName}") + break() + endif() + endforeach() + + if(NOT _hasActivity) + message(FATAL_ERROR "The tool idenfified by target \"${targetName}\" does not support activity \"${activityName}\" for current architecture:\n${_archOs}, ${_archCpu}.") + endif() + + + # Template all placeholders. + list(LENGTH ARGN _paramsCount) + + get_property(_commandElemsCount TARGET "${targetName}" PROPERTY "${_selectedActivityPropName}") + get_property(_allowExtraParams TARGET "${targetName}" PROPERTY "${_selectedActivityPropName}_EXTRA") + + set(_currentParamIdx 0) + set(_commandLine "${targetName}") + if(_commandElemsCount GREATER 0) + math(EXPR _commandElemsCountM1 "${_commandElemsCount} - 1") + foreach(_commandElemIdx RANGE 0 ${_commandElemsCountM1}) + get_property(_commandElemParts TARGET "${targetName}" PROPERTY "${_selectedActivityPropName}_I${_commandElemIdx}") + + # Support for templating extra parameters by using last template sufficient number of times. + if(_allowExtraParams AND (_commandElemIdx EQUAL _commandElemsCountM1)) + if(_currentParamIdx LESS _paramsCount) + math(EXPR _maxIterations "${_paramsCount} - ${_currentParamIdx}") + else() + set(_maxIterations 0) + endif() + else() + set(_maxIterations 1) + endif() + + while(_maxIterations GREATER 0) + set(_firstPart YES) + foreach(_commandElemPart ${_commandElemParts}) + string(REPLACE ";" "\;" _commandElemPart "${_commandElemPart}") # [WA#1] Must escape ; again if occurred in item. + + string(REGEX REPLACE "^P" "" _commandElemPart "${_commandElemPart}") + if(_firstPart) + set(_commandElem "${_commandElemPart}") + set(_firstPart NO) + else() + if(_currentParamIdx LESS _paramsCount) + list(GET ARGN ${_currentParamIdx} _paramValue) + string(REPLACE ";" "\;" _paramValue "${_paramValue}") # [WA#1] Must escape ; again if occurred in item. + math(EXPR _currentParamIdx "${_currentParamIdx} + 1") + else() + set(_paramValue "") + endif() + set(_commandElem "${_commandElem}${_paramValue}${_commandElemPart}") + endif() + endforeach() + list(APPEND _commandLine "${_commandElem}") + + # Finish templating extra parameters when there is no extra parameters + # or number of repeats is equal number of extra parameters (when template + # does not have placeholder). + if(_currentParamIdx LESS _paramsCount) + math(EXPR _maxIterations "${_maxIterations} - 1") + else() + set(_maxIterations 0) + endif() + endwhile() + endforeach() + elseif(_allowExtraParams) + while(_currentParamIdx LESS _paramsCount) + list(GET ARGN ${_currentParamIdx} _paramValue) + string(REPLACE ";" "\;" _paramValue "${_paramValue}") # [WA#1] Must escape ; again if occurred in item. + math(EXPR _currentParamIdx "${_currentParamIdx} + 1") + list(APPEND _commandLine "${_paramValue}") + endwhile() + endif() + + + set("${retVarName}" "${_commandLine}" PARENT_SCOPE) +endfunction() + +# ======================================== Custom configuration ======================================== + +# Adds custom build configuration settings. +# +# @param configName Name of new custom configuration. +# @param copyConfigName Name of configuration which new configuration will settings will be copied from. +# @param [configPath] Path element that represents custom configuration. +function(intel_custom_build_add configName copyConfigName) + string(TOUPPER "${configName}" _configName) + string(TOUPPER "${copyConfigName}" _copyConfigName) + + set("CMAKE_CXX_FLAGS_${_configName}" "${CMAKE_CXX_FLAGS_${_copyConfigName}}" CACHE STRING "C++ compilder flags used during \"${configName}\" builds.") + set("CMAKE_C_FLAGS_${_configName}" "${CMAKE_C_FLAGS_${_copyConfigName}}" CACHE STRING "Flags used during \"${configName}\" builds.") + set("CMAKE_EXE_LINKER_FLAGS_${_configName}" "${CMAKE_EXE_LINKER_FLAGS_${_copyConfigName}}" CACHE STRING "Linker flags used during \"${configName}\" builds for executables.") + set("CMAKE_MODULE_LINKER_FLAGS_${_configName}" "${CMAKE_MODULE_LINKER_FLAGS_${_copyConfigName}}" CACHE STRING "Linker flags used during \"${configName}\" builds for modules.") + set("CMAKE_SHARED_LINKER_FLAGS_${_configName}" "${CMAKE_SHARED_LINKER_FLAGS_${_copyConfigName}}" CACHE STRING "Linker flags used during \"${configName}\" builds for shared libraries.") + set("CMAKE_STATIC_LINKER_FLAGS_${_configName}" "${CMAKE_STATIC_LINKER_FLAGS_${_copyConfigName}}" CACHE STRING "Linker flags used during \"${configName}\" builds for static libraries.") + mark_as_advanced( + "CMAKE_CXX_FLAGS_${_configName}" + "CMAKE_C_FLAGS_${_configName}" + "CMAKE_EXE_LINKER_FLAGS_${_configName}" + "CMAKE_MODULE_LINKER_FLAGS_${_configName}" + "CMAKE_SHARED_LINKER_FLAGS_${_configName}" + "CMAKE_STATIC_LINKER_FLAGS_${_configName}" + ) + + list(LENGTH ARGN _optArgsCount) + if(_optArgsCount GREATER 0) + list(GET ARGN 0 _configPath) + string(REPLACE ";" "\;" _configPath "${_configPath}") # [WA#1] Must escape ; again if occurred in item. + set("INTEL_CMAKE_BUILD__${_configName}_CFG_PATH" "${_configPath}" PARENT_SCOPE) + endif() +endfunction() + + +# Gets configuration path element corresponding to selected configuration. +# +# @param retValName Name of variable placeholder where result will be returned. +# @param configName Name of configuration. +function(intel_get_cfg_path retVarName configName) + string(TOUPPER "${configName}" _configName) + set(_configPathVarName "INTEL_CMAKE_BUILD__${_configName}_CFG_PATH") + if(DEFINED "${_configPathVarName}") + set("${retVarName}" "${${_configPathVarName}}" PARENT_SCOPE) + else() + set("${retVarName}" "${configName}" PARENT_SCOPE) + endif() +endfunction() + +# =========================================== Resource files =========================================== + +# Registers configuration for resource files for specific idenitifer. +# +# The configuration of resource files can be fetched using intel_rc_get_resource() function. +# +# Current version of CMake does not allow to modify sources list after calling add_*() +# functions, so resources still need to be added by using intel_rc_get_resource() to get +# list of resource files and adding it to add_*(). +# +# intel_rc_register_resource( +# resourceId +# [RESOURCES [importedId [importedId [...]]]] +# [FILE rcFile [rcFile [...]] +# [[APPEND] INCLUDE_DIRECTORIES [incudeDir [includeDir [...]]]] +# [[APPEND] DEFINES [define [define [...]]]] +# [[APPEND] FLAGS [flag [flag [...]]]]] +# ) +# +# @param resourceId Identifier of resource file or of group of resource files. +# @param importedId Identifiers of additional resources that should be added with currently registered +# resource. +# @param rcFile Resource files which are be connected to specified resource identifier. +# @param incudeDir Additional include directories for resource files. +# @param define Additional defines for resource files. +# @param flag Additional flags for resource files. +function(intel_rc_register_resource resourceId) + if(NOT ("${resourceId}" MATCHES "[a-zA-Z0-9_]+")) + message(FATAL_ERROR "The resource identifier \"${resourceId}\" is invalid.") + endif() + + set(_rcPropPrefix "INTEL_CMAKE_PROPERTY__RC_RESOURCES_R${resourceId}_") + set(_rcIdxPropName "${_rcPropPrefix}INDEX") + + # Preserve resource index to support multiple registration calls. + get_property(_rcIdxSet GLOBAL PROPERTY "${_rcIdxPropName}" SET) + if(_rcIdxSet) + get_property(_rcIdx GLOBAL PROPERTY "${_rcIdxPropName}") + else() + set(_rcIdx 0) + endif() + + set(_rcFilesPropName "${_rcPropPrefix}G${_rcIdx}_FILES") + set(_includeDirsPropName "${_rcPropPrefix}G${_rcIdx}_INCDIRS") + set(_definesPropName "${_rcPropPrefix}G${_rcIdx}_DEFINES") + set(_flagsPropName "${_rcPropPrefix}G${_rcIdx}_FLAGS") + set(_importResIdsPropName "${_rcPropPrefix}G${_rcIdx}_IMPORTED_RES_IDS") + set(_appendIncludeDirsPropName "${_includeDirsPropName}_APPEND") + set(_appendDefinesPropName "${_definesPropName}_APPEND") + set(_appendFlagsPropName "${_flagsPropName}_APPEND") + + set(_importResIds "") + set(_rcFiles "") + set(_includeDirs "") + set(_defines "") + set(_flags "") + set(_appendIncludeDirs NO) + set(_appendDefines NO) + set(_appendFlags NO) + + set(_parseState 1) + foreach(_resArg ${ARGN}) + string(REPLACE ";" "\;" _resArg "${_resArg}") # [WA#1] Must escape ; again if occurred in item. + + # States: [0] [1] *1( "RESOURCES" [100] * [100] ) *1( "FILE" [2] [3] * [3] + # *1( *1( "APPEND" [4] ) "INCLUDE_DIRECTORIES" [5] * [5] ) *1( *1( "APPEND" [6] ) "DEFINES" [7] * [7] ) + # *1( *1( "APPEND" [8] ) "FLAGS" [9] * [9] ) ) + # Transitions: 0 -> 1 // by explict parameters + # 1 (FILE) -> 2 -> 3 + # 1 (RESOURCES) -> 100 + # 3 (APPEND) -> 4 {6,8} + # 3 (INCLUDE_DIRECTORIES) -> 5 + # 3 (DEFINES) -> 7 + # 3 (FLAGS) -> 9 + # 3 -> 3 + # 4 (INCLUDE_DIRECTORIES) -> 5 + # 4 (DEFINES) -> 7 + # 4 (FLAGS) -> 9 + # 5 (APPEND) -> 6 {8} + # 5 (DEFINES) -> 7 + # 5 (FLAGS) -> 9 + # 5 -> 5 + # 6 (DEFINES) -> 7 + # 6 (FLAGS) -> 9 + # 7 (APPEND) -> 8 + # 7 (FLAGS) -> 9 + # 7 -> 7 + # 8 (FLAGS) -> 9 + # 9 -> 9 + # 100 (FILE) -> 2 -> 3 + # 100 -> 100 + # Stop States: 3, 5, 7, 9, 100 + if(_parseState EQUAL 1) + if(_resArg MATCHES "^FILE$") + set(_parseState 2) + elseif(_resArg MATCHES "^RESOURCES$") + set(_parseState 100) + else() + message(FATAL_ERROR "Invalid parameter token near \"${_resArg}\".") + endif() + elseif(_parseState EQUAL 2) + set(_rcFiles "${_resArg}") + set(_parseState 3) + elseif(_parseState EQUAL 3) + if(_resArg MATCHES "^APPEND$") + set(_parseState 4) + elseif(_resArg MATCHES "^INCLUDE_DIRECTORIES$") + set(_parseState 5) + elseif(_resArg MATCHES "^DEFINES$") + set(_parseState 7) + elseif(_resArg MATCHES "^FLAGS$") + set(_parseState 9) + else() + list(APPEND _rcFiles "${_resArg}") + endif() + elseif(_parseState EQUAL 4) + if(_resArg MATCHES "^INCLUDE_DIRECTORIES$") + set(_appendIncludeDirs YES) + set(_parseState 5) + elseif(_resArg MATCHES "^DEFINES$") + set(_appendDefines YES) + set(_parseState 7) + elseif(_resArg MATCHES "^FLAGS$") + set(_appendFlags YES) + set(_parseState 9) + else() + message(FATAL_ERROR "Invalid parameter token near \"${_resArg}\".") + endif() + elseif(_parseState EQUAL 5) + if(_resArg MATCHES "^APPEND$") + set(_parseState 6) + elseif(_resArg MATCHES "^DEFINES$") + set(_parseState 7) + elseif(_resArg MATCHES "^FLAGS$") + set(_parseState 9) + else() + list(APPEND _includeDirs "${_resArg}") + endif() + elseif(_parseState EQUAL 6) + if(_resArg MATCHES "^DEFINES$") + set(_appendDefines YES) + set(_parseState 7) + elseif(_resArg MATCHES "^FLAGS$") + set(_appendFlags YES) + set(_parseState 9) + else() + message(FATAL_ERROR "Invalid parameter token near \"${_resArg}\".") + endif() + elseif(_parseState EQUAL 7) + if(_resArg MATCHES "^APPEND$") + set(_parseState 8) + elseif(_resArg MATCHES "^FLAGS$") + set(_parseState 9) + else() + list(APPEND _defines "${_resArg}") + endif() + elseif(_parseState EQUAL 8) + if(_resArg MATCHES "^FLAGS$") + set(_appendFlags YES) + set(_parseState 9) + else() + message(FATAL_ERROR "Invalid parameter token near \"${_resArg}\".") + endif() + elseif(_parseState EQUAL 9) + list(APPEND _flags "${_resArg}") + elseif(_parseState EQUAL 100) + if(_resArg MATCHES "^FILE$") + set(_parseState 2) + else() + list(APPEND _importResIds "${_resArg}") + endif() + else() + message(FATAL_ERROR "Invalid parameter token near \"${_resArg}\".") + endif() + endforeach() + if(NOT ((_parseState EQUAL 3) OR (_parseState EQUAL 5) OR (_parseState EQUAL 7) OR (_parseState EQUAL 9) OR (_parseState EQUAL 100))) + message(FATAL_ERROR "Invalid number of parameters.") + endif() + + list(REMOVE_DUPLICATES _rcFiles) + list(REMOVE_DUPLICATES _importResIds) + + set_property(GLOBAL PROPERTY "${_rcFilesPropName}" "${_rcFiles}") + set_property(GLOBAL PROPERTY "${_includeDirsPropName}" "${_includeDirs}") + set_property(GLOBAL PROPERTY "${_definesPropName}" "${_defines}") + set_property(GLOBAL PROPERTY "${_flagsPropName}" "${_flags}") + set_property(GLOBAL PROPERTY "${_importResIdsPropName}" "${_importResIds}") + set_property(GLOBAL PROPERTY "${_appendIncludeDirsPropName}" "${_appendIncludeDirs}") + set_property(GLOBAL PROPERTY "${_appendDefinesPropName}" "${_appendDefines}") + set_property(GLOBAL PROPERTY "${_appendFlagsPropName}" "${_appendFlags}") + + math(EXPR _rcIdx "${_rcIdx} + 1") + set_property(GLOBAL PROPERTY "${_rcIdxPropName}" "${_rcIdx}") +endfunction() + + +# Preconfigures and returns names of resource files connected to specified resource identifier. +# +# Preconfiguration sets additional definitions, include directories, etc. for each resource file. +# The returned files can be used only in current directory targets. +# +# @param rcFilesVarName Name of variable placeholder where names of resource files will be returned. +# @param resourceId Idenfifier of resource file or of group of resource files. +function(intel_rc_get_resource rcFilesVarName resourceId) + if(NOT ("${resourceId}" MATCHES "[a-zA-Z0-9_]+")) + message(FATAL_ERROR "The resource identifier \"${resourceId}\" is invalid.") + endif() + + set(_rcPropPrefix "INTEL_CMAKE_PROPERTY__RC_RESOURCES_R${resourceId}_") + set(_rcIdxPropName "${_rcPropPrefix}INDEX") + + # Preserve resource index to support multiple registration calls. + get_property(_rcIdxSet GLOBAL PROPERTY "${_rcIdxPropName}" SET) + if(_rcIdxSet) + get_property(_rcIdx GLOBAL PROPERTY "${_rcIdxPropName}") + else() + message(AUTHOR_WARNING "Resource connected to \"${resourceId}\" not found.") + set(_rcIdx 0) + endif() + + set(_targetRcFiles "") + + if(_rcIdx GREATER 0) + math(EXPR _rcIdxM1 "${_rcIdx} - 1") + + foreach(_idx RANGE 0 "${_rcIdxM1}") + set(_rcFilesPropName "${_rcPropPrefix}G${_idx}_FILES") + set(_includeDirsPropName "${_rcPropPrefix}G${_idx}_INCDIRS") + set(_definesPropName "${_rcPropPrefix}G${_idx}_DEFINES") + set(_flagsPropName "${_rcPropPrefix}G${_idx}_FLAGS") + set(_importResIdsPropName "${_rcPropPrefix}G${_idx}_IMPORTED_RES_IDS") + set(_appendIncludeDirsPropName "${_includeDirsPropName}_APPEND") + set(_appendDefinesPropName "${_definesPropName}_APPEND") + set(_appendFlagsPropName "${_flagsPropName}_APPEND") + + get_property(_rcFiles GLOBAL PROPERTY "${_rcFilesPropName}") + get_property(_includeDirs GLOBAL PROPERTY "${_includeDirsPropName}") + get_property(_defines GLOBAL PROPERTY "${_definesPropName}") + get_property(_flags GLOBAL PROPERTY "${_flagsPropName}") + get_property(_importResIds GLOBAL PROPERTY "${_importResIdsPropName}") + get_property(_appendIncludeDirs GLOBAL PROPERTY "${_appendIncludeDirsPropName}") + get_property(_appendDefines GLOBAL PROPERTY "${_appendDefinesPropName}") + get_property(_appendFlags GLOBAL PROPERTY "${_appendFlagsPropName}") + + set(_includeDirFlags "") + foreach(_includeDir ${_includeDirs}) + string(REPLACE ";" "\;" _includeDir "${_includeDir}") # [WA#1] Must escape ; again if occurred in item. + if(NOT (_includeDirFlags MATCHES "^$")) + set(_includeDirFlags "${_includeDirFlags} /I\"${_includeDir}\"") + else() + set(_includeDirFlags "/I\"${_includeDir}\"") + endif() + endforeach() + + set(_flagFlags "") + foreach(_flag ${_flags}) + string(REPLACE ";" "\;" _flag "${_flag}") # [WA#1] Must escape ; again if occurred in item. + if(NOT (_flagFlags MATCHES "^$")) + set(_flagFlags "${_flagFlags} ${_flag}") + else() + set(_flagFlags "${_flag}") + endif() + endforeach() + + if(NOT (_flagFlags MATCHES "^$")) + set(_allFlags "${_flagFlags} ${_includeDirFlags}") + else() + set(_allFlags "${_includeDirFlags}") + endif() + + foreach(_rcFile ${_rcFiles}) + string(REPLACE ";" "\;" _rcFile "${_rcFile}") # [WA#1] Must escape ; again if occurred in item. + + if(_appendDefines) + set_property(SOURCE "${_rcFile}" APPEND PROPERTY COMPILE_DEFINITIONS "${_defines}") + else() + set_property(SOURCE "${_rcFile}" PROPERTY COMPILE_DEFINITIONS "${_defines}") + endif() + + # NOTE: Currently there is no include dirs (per source), so appending options are limited. + if(_appendFlags OR _appendIncludeDirs) + set_property(SOURCE "${_rcFile}" APPEND PROPERTY COMPILE_FLAGS "${_allFlags}") + else() + set_property(SOURCE "${_rcFile}" PROPERTY COMPILE_FLAGS "${_allFlags}") + endif() + + list(APPEND _targetRcFiles "${_rcFile}") + endforeach() + + foreach(_importResId ${_importResIds}) + string(REPLACE ";" "\;" _importResId "${_importResId}") # [WA#1] Must escape ; again if occurred in item. + + set(_importedResources "") + intel_rc_get_resource(_importedResources "${_importResId}") + list(APPEND _targetRcFiles "${_importedResources}") + endforeach() + endforeach() + endif() + + list(REMOVE_DUPLICATES _targetRcFiles) + set("${rcFilesVarName}" "${_targetRcFiles}" PARENT_SCOPE) +endfunction() + +# ========================================= Symbols management ========================================= + +# Excludes from symbol export specified targets. +# +# intel_target_exclude_from_symbol_export( +# targetName +# [nonExportableTarget [nonExportableTarget [...]]] +# ) +# +# @param targetName CMake target where specified linked targets will be excluded +# from symbol export. +# @param nonExportableTarget Targets that will be excluded from symbol export (for target targetName). +function(intel_target_exclude_from_symbol_export targetName) + if(NOT (TARGET "${targetName}")) + message(FATAL_ERROR "The target \"${targetName}\" is not defined.") + endif() + + if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) + foreach(_configName ${CMAKE_CONFIGURATION_TYPES}) + string(REPLACE ";" "\;" _configName "${_configName}") # [WA#1] Must escape ; again if occurred in item. + string(TOUPPER "${_configName}" _upperConfigName) + + set(_locPropName "LOCATION_${_upperConfigName}") + + set(_excludedExportTargets "") + foreach(_excludedExportTarget ${ARGN}) + string(REPLACE ";" "\;" _excludedExportTarget "${_excludedExportTarget}") # [WA#1] Must escape ; again if occurred in item. + + if(TARGET "${_excludedExportTarget}") + get_property(_locationSet TARGET "${_excludedExportTarget}" PROPERTY "${_locPropName}" SET) + if(_locationSet) + get_property(_location TARGET "${_excludedExportTarget}" PROPERTY "${_locPropName}") + else() + get_property(_location TARGET "${_excludedExportTarget}" PROPERTY LOCATION) + endif() + else() + message(FATAL_ERROR "The excluded target \"${_excludedExportTarget}\" is not defined.") + endif() + + if(NOT (_location MATCHES "(^|-NOTFOUND)$")) + get_filename_component(_fileNameWoExt "${_location}" NAME_WE) + + if(NOT (_excludedExportTargets MATCHES "^$")) + set(_excludedExportTargets "${_excludedExportTargets}:${_fileNameWoExt}") + else() + set(_excludedExportTargets "${_fileNameWoExt}") + endif() + endif() + endforeach() + + set_property(TARGET "${targetName}" APPEND PROPERTY "LINK_FLAGS_${_upperConfigName}" "-Wl,--exclude-libs,${_excludedExportTargets}") + endforeach() + else() + message(WARNING "Symbol exclusion works only for GCC-like compilers.") + endif() +endfunction() + +# ============================================ Source groups =========================================== + +# Register source group (advanced version). +# +# intel_sg_register( +# srcGrpId +# filterLabel +# [GROUPS [childSrcGrpId [childSrcGrpId [...]]]] +# [FILES [srcFile [srcFile [...]]]] +# [REGULAR_EXPRESSION [srcRe [srcRe [...]]]] +# [...] +# [{GROUPS|FILES|REGULAR_EXPRESSION} ...] +# ) +# +# @param srcGrpId Source group to register. +# @param filterLabel Label of filter for source group. Last registered label is used. +# @param childSrcGrpId Child source group. Their filter label will be prepended with filter labels +# of ancestors source groups. +# @param srcFile Source files registered in the group. (Last source group match will be used though.) +# @param srcRe Regular expression that identify files added to source group. +function(intel_sg_register srcGrpId filterLabel) + set(_sgPropPrefix "INTEL_CMAKE_PROPERTY__SRC_GROUPS_SG${srcGrpId}_") + set(_sgFilterPropName "${_sgPropPrefix}FILTER") + set(_sgGroupsPropName "${_sgPropPrefix}GROUPS") + set(_sgFilesPropName "${_sgPropPrefix}FILES") + set(_sgRePropName "${_sgPropPrefix}REGEX") + + set_property(GLOBAL PROPERTY "${_sgFilterPropName}" "${filterLabel}") + get_property(_sgGroups GLOBAL PROPERTY "${_sgGroupsPropName}") + get_property(_sgFiles GLOBAL PROPERTY "${_sgFilesPropName}") + get_property(_sgRe GLOBAL PROPERTY "${_sgRePropName}") + + set(_parseState 2) + foreach(_sgArg ${ARGN}) + string(REPLACE ";" "\;" _sgArg "${_sgArg}") # [WA#1] Must escape ; again if occurred in item. + + # States: [0] [1] [2] *( ( "GROUPS" | "FILES" | "REGULAR_EXPRESSION" ) [3] * [3] ) ) + # Transitions: 0 -> 1 -> 2 // by explict parameters + # 2 (GROUPS) -> 3 + # 2 (FILES) -> 3 + # 2 (REGULAR_EXPRESSION) -> 3 + # 3 (GROUPS) -> 3 + # 3 (FILES) -> 3 + # 3 (REGULAR_EXPRESSION) -> 3 + # 3 -> 3 + # Stop States: 2, 3 + if(_parseState EQUAL 2) + if(_sgArg MATCHES "^GROUPS$") + set(_sgCollection "_sgGroups") + set(_parseState 3) + elseif(_sgArg MATCHES "^FILES$") + set(_sgCollection "_sgFiles") + set(_parseState 3) + elseif(_sgArg MATCHES "^REGULAR_EXPRESSION$") + set(_sgCollection "_sgRe") + set(_parseState 3) + else() + message(FATAL_ERROR "Invalid parameter token near \"${_sgArg}\".") + endif() + elseif(_parseState EQUAL 3) + if(_sgArg MATCHES "^GROUPS$") + set(_sgCollection "_sgGroups") + elseif(_sgArg MATCHES "^FILES$") + set(_sgCollection "_sgFiles") + elseif(_sgArg MATCHES "^REGULAR_EXPRESSION$") + set(_sgCollection "_sgRe") + else() + list(APPEND "${_sgCollection}" "${_sgArg}") + endif() + else() + message(FATAL_ERROR "Invalid parameter token near \"${_sgArg}\".") + endif() + endforeach() + if(NOT ((_parseState EQUAL 2) OR (_parseState EQUAL 3))) + message(FATAL_ERROR "Invalid number of parameters.") + endif() + + if(DEFINED _sgGroups) + list(REMOVE_DUPLICATES _sgGroups) + endif() + if(DEFINED _sgFiles) + list(REMOVE_DUPLICATES _sgFiles) + endif() + if(DEFINED _sgRe) + list(REMOVE_DUPLICATES _sgRe) + endif() + + set_property(GLOBAL PROPERTY "${_sgGroupsPropName}" "${_sgGroups}") + set_property(GLOBAL PROPERTY "${_sgFilesPropName}" "${_sgFiles}") + set_property(GLOBAL PROPERTY "${_sgRePropName}" "${_sgRe}") +endfunction() + +# Defines filter in source group for specific source directory. +# +# @param srcGrpId Registered source group used to create filter definitions. +function(intel_sg_define srcGrpId) + set(_sgPropPrefix "INTEL_CMAKE_PROPERTY__SRC_GROUPS_SG${srcGrpId}_") + set(_sgFilterPropName "${_sgPropPrefix}FILTER") + set(_sgGroupsPropName "${_sgPropPrefix}GROUPS") + set(_sgFilesPropName "${_sgPropPrefix}FILES") + set(_sgRePropName "${_sgPropPrefix}REGEX") + + get_property(_sgFilterSet GLOBAL PROPERTY "${_sgFilterPropName}" SET) + if(NOT _sgFilterSet) + return() + endif() + + list(LENGTH ARGN _paramsCount) + if(_paramsCount GREATER 0) + list(GET ARGN 0 _sgFilterPrefix) + string(REPLACE ";" "\;" _sgFilterPrefix "${_sgFilterPrefix}\\") # [WA#1] Must escape ; again if occurred in item. + else() + set(_sgFilterPrefix "") + endif() + + get_property(_sgFilter GLOBAL PROPERTY "${_sgFilterPropName}") + get_property(_sgGroups GLOBAL PROPERTY "${_sgGroupsPropName}") + get_property(_sgFiles GLOBAL PROPERTY "${_sgFilesPropName}") + get_property(_sgRe GLOBAL PROPERTY "${_sgRePropName}") + + foreach(_sgReItem ${_sgRe}) + string(REPLACE ";" "\;" _sgReItem "${_sgReItem}") # [WA#1] Must escape ; again if occurred in item. + source_group("${_sgFilterPrefix}${_sgFilter}" REGULAR_EXPRESSION "${_sgReItem}") + endforeach() + source_group("${_sgFilterPrefix}${_sgFilter}" FILES ${_sgFiles}) + + foreach(_sgGroup ${_sgGroups}) + string(REPLACE ";" "\;" _sgGroup "${_sgGroup}") # [WA#1] Must escape ; again if occurred in item. + intel_sg_define("${_sgGroup}" "${_sgFilterPrefix}${_sgFilter}") + endforeach() +endfunction() + +# ====================================================================================================== +# ====================================================================================================== +# ====================================================================================================== + +#cmake_policy(POP) # Not needed... CMake manages policy scope. +