############################################################################
# Copyright (c) 2016, Johan Mabille, Sylvain Corlay, Martin Renou          #
# Copyright (c) 2016, QuantStack                                           #
#                                                                          #
# Distributed under the terms of the BSD 3-Clause License.                 #
#                                                                          #
# The full license is in the file LICENSE, distributed with this software. #
############################################################################

# xeus cmake module
# This module sets the following variables in your project::
#
#   xeus_FOUND - true if xeus found on the system
#   xeus_INCLUDE_DIRS - the directory containing xeus headers
#   xeus_LIBRARY - the library for dynamic linking
#   xeus_STATIC_LIBRARY - the library for static linking

@PACKAGE_INIT@

set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR};${CMAKE_MODULE_PATH}")

@XEUS_CONFIG_CODE@

include(CMakeFindDependencyMacro)
# nlohmann_json requires libraries that exchange json objects to be linked
# with the same version of nlohmann_json. 
find_dependency(nlohmann_json @nlohmann_json_VERSION@ EXACT)

# This is required when linking with the static target
if(NOT EMSCRIPTEN)
    if(UNIX AND NOT APPLE)
        find_dependency(LibUUID)
    endif()
endif()

if(NOT TARGET xeus AND NOT TARGET xeus-static)
    include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")

    if (TARGET xeus AND TARGET xeus-static)
        get_target_property(@PROJECT_NAME@_INCLUDE_DIR xeus INTERFACE_INCLUDE_DIRECTORIES)
        get_target_property(@PROJECT_NAME@_LIBRARY xeus LOCATION)
        get_target_property(@PROJECT_NAME@_STATIC_LIBRARY xeus-static LOCATION)
    elseif (TARGET xeus)
        get_target_property(@PROJECT_NAME@_INCLUDE_DIR xeus INTERFACE_INCLUDE_DIRECTORIES)
        get_target_property(@PROJECT_NAME@_LIBRARY xeus LOCATION)
    elseif (TARGET xeus-static)
        get_target_property(@PROJECT_NAME@_INCLUDE_DIR xeus-static INTERFACE_INCLUDE_DIRECTORIES)
        get_target_property(@PROJECT_NAME@_STATIC_LIBRARY xeus-static LOCATION)
        set(@PROJECT_NAME@_LIBRARY ${@PROJECT_NAME@_STATIC_LIBRARY})
    endif ()
endif()
