* fixes for TBB tmp location:
- DL_SDK_TEMP path is not normalized, that leads to paths check mismatch in CMake conditions
- TBB is not downloaded again in a case tmp location is cleaned up and build restarted (TBB_DIR and TBBROOT are cache variables)
* use reset_deps_cache & update_deps_cache for TBB_DIR var.
* single reset_deps_cache call
* Add `USE_BUILD_TYPE_SUBFOLDER` CMake option to append
`CMAKE_BUILD_TYPE` to output binary directory.
Initialize it to `ON` for UNIX to keep current behavior.
* Remove forced `CMAKE_CONFIGURATION_TYPES` initialization,
use user provided value instead.
This will allow to use single config generators (like Ninja) on Windows
with MSVC compilers and get binaries in per-config sub-folders in the same
way as on UNIX.
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
* Partially removed cmake duplication with IE cmake
* Deprecated API usage: fixed or suppressed
* Fix for TypeRelaxed
* Canonical form for ngraph includes
* Removed extra visibilit settings; removed graphviz find_package
* Removed var_functions module; canonical includes for ngraph::reference
* Fixed deprecated API in ngraph tests
* Re-use standard cmake macro for shared libs
* Trying to fix ONNX importer tests
Otherwise CMake produces the following warning:
```
CMake Warning (dev) at /usr/local/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:426 (message):
The package name passed to `find_package_handle_standard_args` (Wget) does
not match the name of the calling package (IEDevScripts). This can lead to
problems in calling code that expects `find_package` result variables
(e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
/usr/local/share/cmake-3.19/Modules/FindWget.cmake:26 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
cmake/developer_package/download/download_and_check.cmake:5 (include)
cmake/developer_package/download/download_and_extract.cmake:6 (include)
cmake/developer_package/download/download.cmake:25 (include)
cmake/developer_package/download/dependency_solver.cmake:5 (include)
cmake/developer_package/IEDevScriptsConfig.cmake:208 (include)
CMakeLists.txt:12 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
```
* Fixed documentation build when paths contain spaces
* ops math formula fix
* Fixed typo in
* Added more dependencies for openvino_docs
* Improvements
Co-authored-by: Nikolay Tyukaev <ntyukaev_lo@jenkins.inn.intel.com>
* Add missing `SHA256` for `SYSTEM_PROTOC` package.
* Do not use `NGRAPH_ONNX_IMPORT_ENABLE` variable for it,
since it might not be defined at this time.
* Tools for conditional compilation
* Unit tests for conditional compilation & Refactoring
* Fix for MSVC selective build macros
* Unit tests for conditional compilation in analysys mode
* Code generation for selective build is hidden inside CMake
* Comments for conditional compilation options
* Fix: ITT_INCLUDE_DIR was not correctly detected
* Added NGRAPH_STATIC_LIBRARY CMake flag to optionnaly compile ngraph and link it as a static library instead of a dynamic one
- Definition of NGRAPH_STATIC_LIBRARY macro in callee and caller code to avoid dllexport/dllimport decoration
- Adding missing definitions of the explicit instantiation of FactoryRegistry<>::get
- Removed message about a non existent variable: NGRAPH_IE_STATIC_LIB_ENABLE
- Removed install export directive for ngraph in case of static library
* * Code style fix
* Added NGRAPH_STATIC_LIBRARY CMake flag to optionnaly compile ngraph and link it as a static library instead of a dynamic one
- Definition of NGRAPH_STATIC_LIBRARY macro in callee and caller code to avoid dllexport/dllimport decoration
- Adding missing definitions of the explicit instantiation of FactoryRegistry<>::get
- Removed message about a non existent variable: NGRAPH_IE_STATIC_LIB_ENABLE
- Removed install export directive for ngraph in case of static library
* - Removed redundant symbol definition
- Indented properly some comments
* - Making sure onnx is always compiled as a static library no matter what is the value of BUILD_SHARED_LIBS
* - Making sure onnx is always compiled as a static library no matter what is the value of BUILD_SHARED_LIBS
* Fixed incorrect suppression of directive
* Using BUILD_SHARED_LIBS (defaulted to ON) instead of a custom CMake option NGRAPH_STATIC_LIBRARY
* Removed useless comma
* Forcing pugixml to be static event when BUILD_SHARED_LIBS=ON globally.
* Forcing gtest for ie tests to be compiled as a static library.
* Made protobuf and gtest from ngraph always static.
Factorized all the force static logic for ngraph's externals in ngraph's CMakeLists.txt instead of external_*.cmake
* gflags is always static
* Solving cross compilation from Debian 9
* using the same pattern for other ngraph externals
Co-authored-by: emmanuelattia-philips <66060489+emmanuelattia-philips@users.noreply.github.com>
Co-authored-by: Emmanuel Attia <emmanuel.attia@philips.com>
* Use ittnotify built from sources
ITT tracing was only possible on the platfroms supported by VTune.
Building ittnotify from sources removes VTune dependency.
ITT traces was found significantly slowdown tests execution time.
Disabling ENABLE_PROFILING_ITT by default. This is also
a current behavior of Intel Distribution of OpenVINO.
* Fix missprint
* Add include directories to itt
It uses CMake 3.16 built-in utilities to speed up build time:
* Unity builds
* Precompiled headers
The feature is controlled via `ENABLE_FASTER_BUILD` CMake option (disabled by default).
The option avaialble only on CMake >= 3.16.
The feature is enabled per-target via `ie_faster_build` function.
Some observations:
* Don't have actual numbers for compile time, but subjectively can see
speed up locally with VS 2019.
* Unity builds gives much more effect, but has some restriction on source files,
so are not used everywhere.
* UWP fixes
* Commented code for compilation with UWP
* Current state: compiled for DESKTOP_APP
* Fixes
* Added toolchain
* Enabled ONNX imported for Windows Store
* Updated toolchain
* Fixes
* Disable ONNX in case of UWP
* Fix for Windows Driver
* Applied style check
* Dynamic loading of GetDLLDirectory symbols
* Clean-up in the toolchain
* Updated mkldnn plugin cmake
* Build dlls with INTEGRITYCHECK flag if ENABLE_INTEGRITYCHECK=ON
INTEGRITYCHECK flag enforces digital signature before loading the binary in Windows.
Also, refine /guard:cf flag enabling - MSCV, Intel, clang compilers does support /guard:cf.