if(NOT CGAL_WIDGET_IS_EXTERNAL_PROJECT)
  set(CGAL_WIDGET_PREFIX "" CACHE PATH "The path to the prefix of an cgal-widget installation")
  set(CGAL_WIDGET_INCLUDE_DIR "" CACHE PATH "The path to the headers of an cgal-widget installation")
  set(CGAL_WIDGET_LIBRARY_DIR "" CACHE PATH "The path to the library of an cgal-widget installation")

  set(_search_paths "")
  if(CGAL_WIDGET_INCLUDE_DIR AND EXISTS ${CGAL_WIDGET_INCLUDE_DIR})
    list(APPEND _search_paths ${CGAL_WIDGET_INCLUDE_DIR})
  endif()
  if(CGAL_WIDGET_PREFIX AND EXISTS ${CGAL_WIDGET_PREFIX})
    list(APPEND _search_paths "${CGAL_WIDGET_PREFIX}/include")
  endif()
  find_path(
    CGAL_WIDGET_INCLUDE_DIRS
    NAMES cgal-widget/cgal-widget.hpp
    PATHS ${_search_paths})

  set(_search_paths "")
  if(CGAL_WIDGET_LIBRARY_DIR AND EXISTS ${CGAL_WIDGET_LIBRARY_DIR})
    list(APPEND _search_paths ${CGAL_WIDGET_LIBRARY_DIR})
  endif()
  if(CGAL_WIDGET_PREFIX AND EXISTS ${CGAL_WIDGET_PREFIX})
    list(APPEND _search_paths "${CGAL_WIDGET_PREFIX}/lib")
  endif()
  find_library(
    CGAL_WIDGET_LIBRARIES
    NAMES preprocmath
    PATHS ${_search_paths})
  unset(_search_paths)

  if(CGAL_WIDGET_INCLUDE_DIRS AND CGAL_WIDGET_LIBRARIES)
    set(CGAL_WIDGET_FOUND TRUE)
  endif()

  if(CGAL_WIDGET_FOUND)
    if(NOT CGAL_WIDGET_FIND_QUIETLY)
      message(STATUS "Found cgal-widget")
    endif()
    set(HAVE_CGAL_WIDGET 1)
  elseif(CGAL_WIDGET_FOUND)
    if(CGAL_WIDGET_FIND_REQUIRED)
      message(FATAL_ERROR "Could not find cgal-widget")
    endif()
  endif()
endif()