# Copyright (c) Open Enclave SDK contributors.
# Licensed under the MIT License.

cmake_minimum_required(VERSION 3.11)

project("Remote Host-side Enclave Verification Sample" LANGUAGES C CXX)

if (NOT BUILD_HOSTVERIFY_INLINE)
  find_package(OpenEnclave CONFIG REQUIRED)
endif ()

set(CMAKE_CXX_STANDARD 11)

add_executable(host_verify host.c)

target_include_directories(host_verify PRIVATE)

if (BUILD_HOSTVERIFY_INLINE)
  install(
    TARGETS host_verify
    EXPORT openenclave-targets
    DESTINATION ${CMAKE_INSTALL_BINDIR}
    COMPONENT OEHOSTVERIFY)
endif ()

if (NOT BUILD_HOSTVERIFY_INLINE)
  target_link_libraries(host_verify openenclave::oehostverify)
  add_custom_target(run DEPENDS host_verify)
  if (NOT
      (EXISTS "sgx_cert_ec.der"
       OR EXISTS "sgx_cert_rsa.der"
       OR EXISTS "sgx_report.bin"))
    add_custom_target(
      run1
      DEPENDS host_verify
      COMMAND host_verify -h)
    add_dependencies(run run1)
  else ()
    if (EXISTS "sgx_cert_ec.der")
      add_custom_target(
        run1
        DEPENDS host_verify
        COMMAND host_verify -c sgx_cert_ec.der)
      add_dependencies(run run1)
    endif ()
    if (EXISTS "sgx_cert_rsa.der")
      add_custom_target(
        run2
        DEPENDS host_verify
        COMMAND host_verify -c sgx_cert_rsa.der)
      add_dependencies(run run2)
    endif ()
    if (EXISTS "sgx_report.bin")
      add_custom_target(
        run3
        DEPENDS host_verify
        COMMAND host_verify -r sgx_report.bin)
      add_dependencies(run run3)
    endif ()
  endif ()
else ()
  target_link_libraries(host_verify oehostverify)
endif ()
