File: CMakeLists.txt

package info (click to toggle)
qgis 3.22.16%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,186,020 kB
  • sloc: cpp: 1,275,562; python: 194,091; xml: 15,597; perl: 3,471; sh: 3,368; sql: 2,485; ansic: 2,219; yacc: 1,056; lex: 574; javascript: 504; lisp: 411; makefile: 227
file content (28 lines) | stat: -rw-r--r-- 1,034 bytes parent folder | download | duplicates (9)
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
# See ../CMakeLists.txt for info on staged-plugins* and clean-staged-plugins targets

set (QGIS_PYTHON_DIR ${QGIS_DATA_DIR}/python)

macro(EXT_PYLIB lib enable_by_default)
  string(TOUPPER ${lib} ulib)
  set (WITH_INTERNAL_${ulib} ${enable_by_default} CACHE BOOL "Determines whether python ${lib} should be included")
  if(WITH_INTERNAL_${ulib})
    install(DIRECTORY ${lib} DESTINATION "${QGIS_PYTHON_DIR}")

    add_custom_target(py${lib})

    file(GLOB_RECURSE files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${lib}/*)
    add_custom_command(TARGET py${lib}
      POST_BUILD
      COMMAND ${CMAKE_COMMAND} -E copy_directory ${lib} "${PYTHON_OUTPUT_DIRECTORY}/${lib}"
      WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
      DEPENDS ${files}
    )
    PY_COMPILE(py${lib} "${PYTHON_OUTPUT_DIRECTORY}/${lib}")

    add_dependencies(staged-plugins py${lib})
    add_custom_command(TARGET clean-staged-plugins
      COMMAND ${CMAKE_COMMAND} -E remove_directory "${PYTHON_OUTPUT_DIRECTORY}/${lib}"
    )

  endif()
endmacro(EXT_PYLIB lib)