cmake_minimum_required(VERSION 3.1)

project(TestRequiredArtifacts.Check LANGUAGES C)

set (components)
if (CHECK_INTERPRETER)
  set (required_interpreter "${Python3_EXECUTABLE}")
  list (APPEND components Interpreter)
endif()
if (CHECK_LIBRARY OR CHECK_INCLUDE)
  list (APPEND components Development)
  if (CHECK_LIBRARY)
    set (required_library "${Python3_LIBRARY}")
  endif()
  if (CHECK_INCLUDE)
    set (required_include "${Python3_INCLUDE_DIR}")
  endif()
endif()

find_package (Python3 COMPONENTS ${components})


if (PYTHON_IS_FOUND AND NOT Python3_FOUND)
  message (FATAL_ERROR "Python3 unexpectedly not found")
endif()
if (NOT PYTHON_IS_FOUND AND Python3_FOUND)
  message (FATAL_ERROR "Python3 unexpectedly found")
endif()


if (CHECK_INTERPRETER AND NOT Python3_EXECUTABLE STREQUAL required_interpreter)
  message (FATAL_ERROR "Fail to use input variable Python3_EXECUTABLE")
endif()

if (CHECK_LIBRARY AND NOT Python3_LIBRARY_RELEASE STREQUAL required_library)
  message (FATAL_ERROR "Fail to use input variable Python3_LIBRARY")
endif()

if (CHECK_INCLUDE AND NOT Python3_INCLUDE_DIRS STREQUAL required_include)
  message (FATAL_ERROR "Fail to use input variable Python3_INCLUDE_DIR")
endif()
