#
# This files contains definitions needed to use CGAL in a program.
# DO NOT EDIT THIS. The definitions have been generated by CMake at configuration time.
# This file is loaded by cmake via the command "find_package(CGAL)"
#
# This file correspond to a possibly out-of-sources CGAL configuration, thus the actual location
# must be given by the cmake variable or environment variable CGAL_DIR.

set(CGAL_CONFIG_LOADED TRUE)

get_filename_component(CGAL_CONFIG_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)

set(CGAL_HEADER_ONLY "@CGAL_HEADER_ONLY@" )

include(CMakeFindDependencyMacro)
find_dependency(Boost REQUIRED)

# The code for including exported targets is different from
# CGAL_Config_install.cmake. We do not have separate export files in
# an installed version and we need to make sure that we are not
# currently building CGAL.
if(NOT CGAL_BUILDING_LIBS)
  include("${CGAL_CONFIG_DIR}/CGALExports.cmake")
else()
  # We are currently in a CGAL Build and CGALExports.cmake has not
  # necessarily been created yet. Just alias the targets. Also don't
  # access the LOCATION property here to set lib_LIBRARY, since those
  # targets are not imported and this is disallowed by CMP0026. Just
  # set it to the target name.
  macro(CGAL_alias_library lib)
    if(TARGET ${lib} AND NOT TARGET CGAL::${lib})
      add_library(CGAL::${lib} ALIAS ${lib})
    endif()
  endmacro()

  CGAL_alias_library(CGAL)
  CGAL_alias_library(CGAL_Core)
  CGAL_alias_library(CGAL_ImageIO)
  CGAL_alias_library(CGAL_Qt6)
endif()

macro(CGAL_set_LIB_LIBRARY_var lib)
  if(TARGET CGAL::${lib})
    set(${lib}_LIBRARY CGAL::${lib})
  else()
    set(${lib}_LIBRARY "")
  endif()
endmacro()

CGAL_set_LIB_LIBRARY_var(CGAL)
CGAL_set_LIB_LIBRARY_var(CGAL_Core)
CGAL_set_LIB_LIBRARY_var(CGAL_ImageIO)
CGAL_set_LIB_LIBRARY_var(CGAL_Qt6)

set(CGAL_CONFIGURED_LIBRARIES "@CGAL_ACTUAL_CONFIGURED_LIBRARIES@")

# Check for possible config files of our libraries and include them.
foreach(lib ${CGAL_CONFIGURED_LIBRARIES})
  include("${CGAL_CONFIG_DIR}/${lib}LibConfig.cmake" OPTIONAL)
endforeach()

set(CGAL_INSTALLATION_PACKAGE_DIR "@CGAL_INSTALLATION_PACKAGE_DIR@")
set(CGAL_CORE_PACKAGE_DIR "@CGAL_CORE_PACKAGE_DIR@")
set(CGAL_GRAPHICSVIEW_PACKAGE_DIR "@CGAL_GRAPHICSVIEW_PACKAGE_DIR@")

set(CGAL_MAJOR_VERSION    "@CGAL_MAJOR_VERSION@" )
set(CGAL_MINOR_VERSION    "@CGAL_MINOR_VERSION@" )
set(CGAL_BUGFIX_VERSION   "@CGAL_BUGFIX_VERSION@" )
set(CGAL_BUILD_VERSION    "@CGAL_BUILD_VERSION@" )
set(CGAL_SCM_BRANCH_NAME  "@CGAL_SCM_BRANCH_NAME@")
set(CGAL_GIT_SHA1         "@CGAL_GIT_SHA1@")

set(CGAL_BUILD_SHARED_LIBS        "@CGAL_BUILD_SHARED_LIBS@" )
set(CGAL_Boost_USE_STATIC_LIBS    "@CGAL_Boost_USE_STATIC_LIBS@" )

set(CGAL_CXX_FLAGS_INIT                   "@CMAKE_CXX_FLAGS@" )
set(CGAL_CXX_FLAGS_RELEASE_INIT           "@CMAKE_CXX_FLAGS_RELEASE@" )
set(CGAL_CXX_FLAGS_DEBUG_INIT             "@CMAKE_CXX_FLAGS_DEBUG@" )
set(CGAL_MODULE_LINKER_FLAGS_INIT         "@CMAKE_MODULE_LINKER_FLAGS@" )
set(CGAL_MODULE_LINKER_FLAGS_RELEASE_INIT "@CMAKE_MODULE_LINKER_FLAGS_RELEASE@" )
set(CGAL_MODULE_LINKER_FLAGS_DEBUG_INIT   "@CMAKE_MODULE_LINKER_FLAGS_DEBUG@" )
set(CGAL_SHARED_LINKER_FLAGS_INIT         "@CMAKE_SHARED_LINKER_FLAGS@" )
set(CGAL_SHARED_LINKER_FLAGS_RELEASE_INIT "@CMAKE_SHARED_LINKER_FLAGS_RELEASE@" )
set(CGAL_SHARED_LINKER_FLAGS_DEBUG_INIT   "@CMAKE_SHARED_LINKER_FLAGS_DEBUG@" )
set(CGAL_BUILD_TYPE_INIT                  "@CMAKE_BUILD_TYPE@" )

set(CGAL_INCLUDE_DIRS      "@CGAL_INCLUDE_DIRS@" )
set(CGAL_MODULES_DIR       "@CGAL_MODULES_DIR@" )
set(CGAL_LIBRARIES_DIR     "@CGAL_LIBRARIES_DIR@" )

# If CGAL_ImageIO is built, tell if it was linked with Zlib.
set(CGAL_ImageIO_USE_ZLIB                 "@CGAL_ImageIO_USE_ZLIB@" )

set(CGAL_VERSION "${CGAL_MAJOR_VERSION}.${CGAL_MINOR_VERSION}.${CGAL_BUGFIX_VERSION}")

if ( CGAL_FIND_REQUIRED )
  set( CHECK_CGAL_COMPONENT_MSG_ON_ERROR TRUE        )
  set( CHECK_CGAL_COMPONENT_ERROR_TYPE   FATAL_ERROR )
  set( CHECK_CGAL_COMPONENT_ERROR_TITLE  "ERROR:"    )
else()
  if ( NOT CGAL_FIND_QUIETLY )
    set( CHECK_CGAL_COMPONENT_MSG_ON_ERROR TRUE      )
    set( CHECK_CGAL_COMPONENT_ERROR_TYPE   STATUS    )
    set( CHECK_CGAL_COMPONENT_ERROR_TITLE "NOTICE:" )
  else()
    set( CHECK_CGAL_COMPONENT_MSG_ON_ERROR FALSE )
  endif()
endif()

macro(check_cgal_component COMPONENT)

  set( CGAL_LIB ${COMPONENT} )
  #message("LIB: ${CGAL_LIB}")

  if ( "${CGAL_LIB}" STREQUAL "CGAL" )
    set( CGAL_FOUND TRUE )
    set( CHECK_CGAL_ERROR_TAIL "" )
  else( "${CGAL_LIB}" STREQUAL "CGAL" )
    if ( WITH_${CGAL_LIB} )
      if(TARGET CGAL::${CGAL_LIB})
        if ("${CGAL_LIB}" STREQUAL "CGAL_Qt6")

          include("${CGAL_MODULES_DIR}/CGAL_SetupCGAL_Qt6Dependencies.cmake")

          if(CGAL_Qt6_MISSING_DEPS)
            set( CGAL_Qt6_FOUND FALSE )
            message(STATUS "libCGAL_Qt6 is missing the dependencies: ${CGAL_Qt6_MISSING_DEPS} cannot be configured.")
          else()
            set( CGAL_Qt6_FOUND TRUE )
          endif()
        elseif("${CGAL_LIB}" STREQUAL "CGAL_Core")
          include("${CGAL_MODULES_DIR}/CGAL_SetupCGAL_CoreDependencies.cmake")
          if(CGAL_Core_MISSING_DEPS)
            set( CGAL_Core_FOUND FALSE )
            message(STATUS "libCGAL_Core is missing the dependencies: ${CGAL_Core_MISSING_DEPS} cannot be configured.")
          else()
            set( CGAL_Core_FOUND TRUE )
          endif()
        else("${CGAL_LIB}" STREQUAL "CGAL_Qt6")
          # Libraries that have no dependencies
          set( ${CGAL_LIB}_FOUND TRUE )
        endif("${CGAL_LIB}" STREQUAL "CGAL_Qt6")
      else(TARGET CGAL::${CGAL_LIB})
        set( ${CGAL_LIB}_FOUND FALSE )
        set( CHECK_${CGAL_LIB}_ERROR_TAIL " CGAL was configured with WITH_${CGAL_LIB}=ON, but one of the dependencies of ${CGAL_LIB} was not configured properly." )
      endif(TARGET CGAL::${CGAL_LIB})
    else( WITH_${CGAL_LIB} )
      set( ${CGAL_LIB}_FOUND FALSE )
      set( CHECK_${CGAL_LIB}_ERROR_TAIL " Please configure CGAL using WITH_${CGAL_LIB}=ON." )
    endif( WITH_${CGAL_LIB} )
  endif()

  if ( NOT ${CGAL_LIB}_FOUND AND CHECK_CGAL_COMPONENT_MSG_ON_ERROR )
    message( ${CHECK_CGAL_COMPONENT_ERROR_TYPE} "${CHECK_CGAL_COMPONENT_ERROR_TITLE} The ${CGAL_LIB} library was not configured.${CHECK_${CGAL_LIB}_ERROR_TAIL}" )
  endif()

endmacro()

check_cgal_component("CGAL")

foreach( CGAL_COMPONENT ${CGAL_FIND_COMPONENTS} )
  list (FIND CGAL_CONFIGURED_LIBRARIES "CGAL_${CGAL_COMPONENT}" POSITION)
  if ("${POSITION}" STRGREATER "-1") # means: CGAL_COMPONENT is contained in list
    check_cgal_component("CGAL_${CGAL_COMPONENT}")
# TODO EBEB do something for supporting lib in check_component?
  endif()
endforeach()

# Starting with cmake 2.6.3, CGAL_FIND_COMPONENTS is cleared out when find_package returns.
# But we need it within CGAL_CreateSingleSourceCGALProgram.cmake, so we save it aside into another variable
set( CGAL_REQUESTED_COMPONENTS ${CGAL_FIND_COMPONENTS} )

# for preconfigured libs
set(CGAL_ENABLE_PRECONFIG "@CGAL_ENABLE_PRECONFIG@")
set(CGAL_SUPPORTING_3RD_PARTY_LIBRARIES "@CGAL_SUPPORTING_3RD_PARTY_LIBRARIES@")
set(CGAL_ESSENTIAL_3RD_PARTY_LIBRARIES "@CGAL_ESSENTIAL_3RD_PARTY_LIBRARIES@")

set(CGAL_DISABLE_GMP "@CGAL_DISABLE_GMP@")

include(${CGAL_MODULES_DIR}/CGAL_CreateSingleSourceCGALProgram.cmake)
include(${CGAL_MODULES_DIR}/CGAL_Macros.cmake)
include(${CGAL_MODULES_DIR}/CGAL_Common.cmake)
include(${CGAL_MODULES_DIR}/CGAL_TweakFindBoost.cmake)
include(${CGAL_MODULES_DIR}/CGAL_target_use_TBB.cmake)

# Temporary? Change the CMAKE module path
cgal_setup_module_path()

if( CGAL_DEV_MODE OR RUNNING_CGAL_AUTO_TEST )
  # Do not use -isystem for CGAL include paths
  set(CMAKE_NO_SYSTEM_FROM_IMPORTED TRUE)
  # Ugly hack to be compatible with current CGAL testsuite process (as of
  # Nov. 2017). -- Laurent Rineau
  include(CGAL_SetupFlags)
endif()

#CGAL_DATA_DIR, used by `CGAL::data_file_path(filename)` from `CGAL/config.h`
set(CGAL_DATA_DIR "@CGAL_DATA_DIR@")

if(NOT TARGET CGAL::Data)
  add_library(CGAL::Data INTERFACE IMPORTED GLOBAL)
  if ( NOT "${CGAL_DATA_DIR}" STREQUAL "" )
    set_target_properties(CGAL::Data PROPERTIES
      INTERFACE_COMPILE_DEFINITIONS "CGAL_DATA_DIR=\"${CGAL_DATA_DIR}\"")
  endif()
endif()

#
# Define a specific target for basic viewer
#
if (NOT TARGET CGAL::CGAL_Basic_viewer_Qt)
  add_library(CGAL::CGAL_Basic_viewer_Qt INTERFACE IMPORTED GLOBAL)
    set_target_properties(CGAL::CGAL_Basic_viewer_Qt PROPERTIES
      INTERFACE_COMPILE_DEFINITIONS "CGAL_USE_BASIC_VIEWER;QT_NO_KEYWORDS"
      INTERFACE_LINK_LIBRARIES CGAL::CGAL_Qt6)
  add_library(CGAL::CGAL_Basic_viewer ALIAS CGAL::CGAL_Basic_viewer_Qt)
endif()

include("${CGAL_MODULES_DIR}/CGAL_enable_end_of_configuration_hook.cmake")
