File: CMakeLists.txt

package info (click to toggle)
gdal 3.6.2%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 89,664 kB
  • sloc: cpp: 1,136,033; ansic: 197,355; python: 35,910; java: 5,511; xml: 4,011; sh: 3,950; cs: 2,443; yacc: 1,047; makefile: 288
file content (45 lines) | stat: -rw-r--r-- 1,883 bytes parent folder | download | duplicates (4)
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
if (Python_Interpreter_FOUND)

  include(GdalSetRuntimeEnv)
  gdal_set_runtime_env(RUN_ENV)

  add_custom_target(
    completion
    COMMAND ${CMAKE_COMMAND} -E env ${RUN_ENV} ${Python_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/completionFinder.py
            ${CMAKE_CURRENT_SOURCE_DIR}/gdal-bash-completion.sh
    COMMENT "Refresh ${CMAKE_CURRENT_SOURCE_DIR}/gdal-bash-completion.sh")

else ()
  file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/completion_error.cmake
       "message(FATAL_ERROR \"Python is needed for completion target\")")
  add_custom_target(completion COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/completion_error.cmake)
endif ()

find_package(PkgConfig QUIET)
if (PKG_CONFIG_FOUND)
  pkg_check_modules(PC_BASH_COMPLETION QUIET bash-completion)
  if (PC_BASH_COMPLETION_FOUND)
    pkg_get_variable(BASH_COMPLETIONS_FULL_DIR bash-completion completionsdir)
    pkg_get_variable(BASH_COMPLETIONS_PREFIX bash-completion prefix)
    if (BASH_COMPLETIONS_FULL_DIR
        AND BASH_COMPLETIONS_PREFIX
        AND BASH_COMPLETIONS_FULL_DIR MATCHES "^${BASH_COMPLETIONS_PREFIX}/")
      string(REGEX REPLACE "^${BASH_COMPLETIONS_PREFIX}/" "" BASH_COMPLETIONS_DIR_DEFAULT ${BASH_COMPLETIONS_FULL_DIR})
    endif ()
  endif ()
endif ()

if (NOT DEFINED BASH_COMPLETIONS_DIR_DEFAULT AND NOT GDAL_ENABLE_MACOSX_FRAMEWORK)
  include(GNUInstallDirs)
  set(BASH_COMPLETIONS_DIR_DEFAULT ${CMAKE_INSTALL_DATADIR}/bash-completion/completions)
endif ()

set(BASH_COMPLETIONS_DIR
    "${BASH_COMPLETIONS_DIR_DEFAULT}"
    CACHE PATH "Installation sub-directory for bash completion scripts")

if (NOT BASH_COMPLETIONS_DIR STREQUAL "")
  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/install_bash_completions.cmake.in
                 ${CMAKE_CURRENT_BINARY_DIR}/install_bash_completions.cmake @ONLY)
  install(SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/install_bash_completions.cmake)
endif ()