File: FindPythonModules.cmake

package info (click to toggle)
paraview 5.11.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 497,236 kB
  • sloc: cpp: 3,171,290; ansic: 1,315,072; python: 134,290; xml: 103,324; sql: 65,887; sh: 5,286; javascript: 4,901; yacc: 4,383; java: 3,977; perl: 2,363; lex: 1,909; f90: 1,255; objc: 143; makefile: 119; tcl: 59; pascal: 50; fortran: 29
file content (25 lines) | stat: -rw-r--r-- 1,068 bytes parent folder | download | duplicates (5)
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

# Check whether a Python module is available by name, and if it is,
# define a variable in the internal cache.
function(_find_python_module_internal module_name)
  # Check for presence of the module.  Even though we don't use all the
  # variable names set here, assigning them suppresses their output in CMake.
  execute_process(COMMAND "${Python${VTK_PYTHON_VERSION}_EXECUTABLE}" -c "import ${module_name}"
    RESULT_VARIABLE IMPORT_${module_name}_EXITCODE
    OUTPUT_VARIABLE IMPORT_${module_name}_OUTPUT
    ERROR_VARIABLE IMPORT_${module_name}_ERROR
    )
  if(${IMPORT_${module_name}_EXITCODE} EQUAL 0)
    set(PYTHON_MODULE_${module_name}_FOUND TRUE PARENT_SCOPE)
  else()
    set(PYTHON_MODULE_${module_name}_FOUND FALSE PARENT_SCOPE)
  endif()
endfunction()

# Function to simplify checking if a Python module is available
function(find_python_module module_name result)
  if(NOT PYTHON_MODULE_${module_name}_FOUND)
    _find_python_module_internal(${module_name})
  endif()
  set(${result} ${PYTHON_MODULE_${module_name}_FOUND} PARENT_SCOPE)
endfunction()