Skip to content

Allow "development" installation/packaging with headers, OVM, and required CMake metadata  #66

@mhthies

Description

@mhthies

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions