This file is indexed.

/usr/share/dune/cmake/modules/FindPTScotch.cmake is in libdune-common-dev 2.5.1-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
# .. cmake_module::
#
#    Module that checks whether PT-Scotch is available.
#
#    You may set the following variables to customize this modules behaviour:
#
#    :ref:`PTSCOTCH_ROOT`
#       Prefix where PT-Scotch is installed.
#
#    :ref:`PTSCOTCH_SUFFIX`
#       Scotch might be compiled using different
#       integer sizes (int32, int64, long). When
#       this is is set the headers and libaries
#       are search under the suffix
#       :code:`include/scotch-${PTSCOTCH_SUFFIX}`, and
#       :code:`lib/scotch-${PTSCOTCH_SUFFIX}`, respectively.
#
#    This module sets the following variables:
#
#    :code:`PTSCOTCH_FOUND`
#       True if PT-Scotch was found.
#
#    :code:`PTSCOTCH_INCLUDE_DIRS`
#       All include directories needed to compile PT-Scotch programs.
#
#    :code:`PTSCOTCH_LIBRARIES`
#       All libraries needed to link PT-Scotch programs.
#
#    :code:`PTSCOTCH_FOUND`
#       True if PT-Scotch was found.
#
# .. cmake_variable:: PTSCOTCH_ROOT
#
#   You may set this variable to have :ref:`FindPTScotch` look
#   for the PTScotch package in the given path before inspecting
#   system paths.
#
# .. cmake_variable:: PTSCOTCH_SUFFIX
#
#   PTScotch might be compiled using different
#   integer sizes (int32, int64, long). When
#   this is is set the headers and libaries
#   are search under the suffix
#   :code:`include/scotch-${PTSCOTCH_SUFFIX}`, and
#   :code:`lib/scotch-${PTSCOTCH_SUFFIX}`, respectively.
#

include(DuneMPI)
macro(_search_pt_lib libvar libname doc)
  find_library(${libvar} ${libname}
    PATHS ${PTSCOTCH_ROOT} ${PTSCOTCH_ROOT}/lib PATH_SUFFIXES ${PATH_SUFFIXES}
    NO_DEFAULT_PATH
    DOC "${doc}")
  find_library(${libvar} ${libname})
endmacro(_search_pt_lib)

if(PTSCOTCH_SUFFIX)
  set(PATH_SUFFIXES "scotch-${PTSCOTCH_SUFFIX}")
else(PTSCOTCH_SUFFIX)
  set(PATH_SUFFIXES "scotch")
endif(PTSCOTCH_SUFFIX)

include(CMakePushCheckState)
cmake_push_check_state() # Save variables
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${MPI_DUNE_INCLUDE_PATH})
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${MPI_DUNE_COMPILE_FLAGS}")

find_path(PTSCOTCH_INCLUDE_DIR ptscotch.h
  PATHS ${PTSCOTCH_ROOT} ${PTSCOTCH_ROOT}/include
  PATH_SUFFIXES ${PATH_SUFFIXES}
  NO_DEFAULT_PATH
  DOC "Include directory of PT-Scotch")
find_path(PTSCOTCH_INCLUDE_DIR ptscotch.h
  PATH_SUFFIXES ${PATH_SUFFIXES})

_search_pt_lib(PTSCOTCH_LIBRARY ptscotch "The main PT-Scotch library.")
_search_pt_lib(SCOTCH_LIBRARY scotch "The Scotch library.")
_search_pt_lib(PTSCOTCHERR_LIBRARY ptscotcherr "The PT-Scotch error library.")

# behave like a CMake module is supposed to behave
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
  "PTScotch"
  DEFAULT_MSG
  PTSCOTCH_INCLUDE_DIR
  PTSCOTCH_LIBRARY
  SCOTCH_LIBRARY
  PTSCOTCHERR_LIBRARY
)
#restore old values
cmake_pop_check_state()

if(PTSCOTCH_FOUND)
  set(PTSCOTCH_INCLUDE_DIRS ${PTSCOTCH_INCLUDE_DIR})
  set(PTSCOTCH_LIBRARIES ${PTSCOTCH_LIBRARY} ${SCOTCH_LIBRARY} ${PTSCOTCHERR_LIBRARY} ${MPI_DUNE_LIBRARIES}
    CACHE FILEPATH "All libraries needed to link programs using PT-Scotch")
  set(PTSCOCH_LINK_FLAGS "${DUNE_MPI_LINK_FLAGS}"
    CACHE STRING "PT-Scotch link flags")
  set(HAVE_PTSCOTCH 1)
  # log result
  file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
    "Determing location of PT-Scotch succeeded:\n"
    "Include directory: ${PTSCOTCH_INCLUDE_DIRS}\n"
    "Library directory: ${PTSCOTCH_LIBRARIES}\n\n")

  dune_register_package_flags(LIBRARIES "${PTSCOTCH_LIBRARIES}"
                              INCLUDE_DIRS "${PTSCOTCH_INCLUDE_DIRS}")
endif(PTSCOTCH_FOUND)

mark_as_advanced(PTSCOTCH_INCLUDE_DIR PTSCOTCH_LIBRARIES HAVE_PTSCOTCH)