-
Notifications
You must be signed in to change notification settings - Fork 11
Description
A limitation of the new CMake build system is that custom OV libraries must only be build in a CMake project together with the OV core libraries. (Or, as an alternative, the OV core project has been built before on the same machine and its build tree is included via CMake's find_package().) This limitation is caused by the mechanism for automatic generation of the .ovm include paths for ov_codegen, which relies on CMake build metadata (a custom CMake PROPERTY "OV_MODEL_INCLUDE_DIRECTORIES" on every OV library target).
It would be convenient, if we could use make install (based on CMake's INSTALL() commands) to install OV to a system directory (or package the install tree into a software package for installation – see #63), including all .ovm and header files and the exported CMake build metadata to allow including the installed artifacts into custom OV library projects via find_package().
This would require that the exported CMake metadata is adapted to the install path of the artifiacts – as compared to the build path. For CMake's internal properties, such as INCLUDE_DIRECTORIES, this is possible via the $<INSTALL_INTERFACE:...> generator expressions. However, generator expressions are not supported for custom CMake properties (see CMake Documentation on EXPORT_PROPERTIES). Asking for help on Stackoverflow didn't give me any clues how to solve this: https://stackoverflow.com/questions/58432845