/usr/lib/cmake/vtk-6.3/vtkPythonPackages.cmake is in libvtk6-dev 6.3.0+dfsg1-5.
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 | #------------------------------------------------------------------------------
# Function used to copy arbitrary files matching certain patterns.
# Usage:
# copy_files_recursive(<source-dir>
# DESTINATION <destination-dir>
# [LABEL "<label to use>"]
# [OUTPUT "<file generated to mark end of copying>"]
# [REGEX <regex> [EXCLUDE]]
# )
# One can specify multiple REGEX or REGEX <regex> EXCLUDE arguments.
#------------------------------------------------------------------------------
function(copy_files_recursive source-dir)
set (dest-dir)
set (patterns)
set (exclude-patterns)
set (output-file)
set (label "Copying files")
set (doing "")
foreach (arg IN LISTS ARGN)
if (arg MATCHES "^(DESTINATION|REGEX|OUTPUT|LABEL)$")
set (doing "${arg}")
elseif ("x${doing}" STREQUAL "xDESTINATION")
set (doing "")
set (dest-dir "${arg}")
elseif ("x${doing}" STREQUAL "xREGEX")
set (doing "SET")
list (APPEND patterns "${arg}")
elseif (("x${arg}" STREQUAL "xEXCLUDE") AND ("x${doing}" STREQUAL "xSET"))
set (doing "")
list (GET patterns -1 cur-pattern)
list (REMOVE_AT patterns -1)
list (APPEND exclude-patterns "${cur-pattern}")
elseif ("x${doing}" STREQUAL "xOUTPUT")
set (doing "")
set (output-file "${arg}")
elseif ("x${doing}" STREQUAL "xLABEL")
set (doing "")
set (label "${arg}")
else()
message(AUTHOR_WARNING "Unknown argument [${arg}]")
endif()
endforeach()
set (match-regex)
foreach (_item ${patterns})
if (match-regex)
set (match-regex "${match-regex}")
endif()
set (match-regex "${match-regex}${_item}")
endforeach()
set (exclude-regex)
foreach (_item ${exclude-patterns})
if (exclude-regex)
set (exclude-regex "${exclude-regex}|")
endif()
set (exclude-regex "${exclude-regex}${_item}")
endforeach()
file(GLOB_RECURSE _all_files RELATIVE "${source-dir}" "${source-dir}/*")
set (all_files)
set (copy-commands)
foreach (_file ${_all_files})
if (exclude-regex AND ("${_file}" MATCHES "${exclude-regex}"))
# skip
elseif ("${_file}" MATCHES "${match-regex}")
set (in-file "${source-dir}/${_file}")
set (out-file "${dest-dir}/${_file}")
get_filename_component(out-path ${out-file} PATH)
list (APPEND all_files ${in-file})
set (copy-commands "${copy-commands}
file(COPY \"${in-file}\" DESTINATION \"${out-path}\")")
endif()
endforeach()
get_filename_component(_name ${output-file} NAME)
set(CMAKE_CONFIGURABLE_FILE_CONTENT ${copy-commands})
configure_file(${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in
"${CMAKE_CURRENT_BINARY_DIR}/${_name}.cfr.cmake" @ONLY)
unset(CMAKE_CONFIGURABLE_FILE_CONTENT)
add_custom_command(OUTPUT ${output-file}
COMMAND ${CMAKE_COMMAND} -P "${CMAKE_CURRENT_BINARY_DIR}/${_name}.cfr.cmake"
COMMAND ${CMAKE_COMMAND} -E touch ${output-file}
DEPENDS ${all_files}
"${CMAKE_CURRENT_BINARY_DIR}/${_name}.cfr.cmake"
COMMENT ${label})
endfunction()
|