@PACKAGE_INIT@

include("${CMAKE_CURRENT_LIST_DIR}/open62541Targets.cmake")

set (open62541_TOOLS_DIR @PACKAGE_open62541_install_tools_dir@ CACHE PATH "Path to the directory that contains the tooling of the stack")
set (open62541_NODESET_DIR @PACKAGE_open62541_install_nodeset_dir@ CACHE PATH "Path to the directory that contains the OPC UA schema repository")

include(CMakeFindDependencyMacro)
find_dependency(PythonInterp REQUIRED)

include("${CMAKE_CURRENT_LIST_DIR}/open62541Macros.cmake")

set(open62541_COMPONENTS_ALL @open62541_enabled_components@)

foreach(_comp ${open62541_FIND_COMPONENTS})
  list (FIND open62541_COMPONENTS_ALL "${_comp}" _index)
  if (${_index} LESS 0)
    set(open62541_FOUND False)
    set(open62541_NOTFOUND_MESSAGE "Unsupported open62541 component: ${_comp}")
    message(WARNING "${open62541_NOTFOUND_MESSAGE}")
  endif()
endforeach()
