FreeCAD

Форк
0
/
FindPySide2Tools.cmake 
52 строки · 2.2 Кб
1
# Try to find PySide2 utilities, PYSIDE2UIC and PYSIDE2RCC:
2
# PYSIDE_UIC_EXECUTABLE - Location of PYSIDE2UIC executable
3
# PYSIDE_RCC_EXECUTABLE - Location of PYSIDE2RCC executable
4
# PYSIDE_TOOLS_FOUND - PySide2 utilities found.
5

6
if(WIN32 OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
7
    #pyside2 tools are often in same location as python interpreter
8
    get_filename_component(PYTHON_BIN_DIR ${PYTHON_EXECUTABLE} PATH)
9
    set(PYSIDE_BIN_DIR ${PYTHON_BIN_DIR})
10
endif(WIN32 OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
11

12
# Since Qt v5.14, pyside2-uic and pyside2-rcc are directly provided by Qt5Core uic and rcc, with '-g python' option
13
# We test Qt5Core version to act accordingly
14

15
FIND_PACKAGE(Qt5 COMPONENTS Core Widgets)
16

17
IF(Qt5Core_VERSION VERSION_LESS 5.14)
18
  # Legacy (< 5.14)
19
  FIND_PROGRAM(PYSIDE2_UIC_EXECUTABLE NAMES python2-pyside2-uic pyside2-uic pyside2-uic-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} pyuic5 HINTS ${PYSIDE_BIN_DIR})
20
  FIND_PROGRAM(PYSIDE2_RCC_EXECUTABLE NAMES pyside2-rcc pyside2-rcc-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} pyrcc5 HINTS ${PYSIDE_BIN_DIR})
21
  set(UICOPTIONS "")
22
  set(RCCOPTIONS "")
23
ELSE()
24
  # New (>= 5.14)
25
  if (TARGET Qt::uic)
26
    get_property(PYSIDE2_UIC_EXECUTABLE TARGET Qt::uic PROPERTY LOCATION)
27
    set(UICOPTIONS "--generator=python")
28
  endif()
29
  if (TARGET Qt::rcc)
30
    get_property(PYSIDE2_RCC_EXECUTABLE TARGET Qt::rcc PROPERTY LOCATION)
31
    set(RCCOPTIONS "--generator=python" "--compress-algo=zlib" "--compress=1")
32
  endif()
33
ENDIF()
34

35
set(PYSIDE_RCC_EXECUTABLE ${PYSIDE2_RCC_EXECUTABLE})
36
set(PYSIDE_UIC_EXECUTABLE ${PYSIDE2_UIC_EXECUTABLE})
37
set(PySideTools_VERSION 2)
38

39
if(PYSIDE_RCC_EXECUTABLE AND PYSIDE_UIC_EXECUTABLE)
40
    set(PYSIDE_TOOLS_FOUND TRUE)
41
    if (NOT PySide2Tools_FIND_QUIETLY)
42
        message(STATUS "Found PySide2 tools: ${PYSIDE_UIC_EXECUTABLE}, ${PYSIDE_RCC_EXECUTABLE}")
43
    endif (NOT PySide2Tools_FIND_QUIETLY)
44
else()
45
    if(PySide2Tools_FIND_REQUIRED)
46
        message(FATAL_ERROR "PySide2 tools could not be found, but are required.")
47
    else(PySide2Tools_FIND_REQUIRED)
48
        if (NOT PySide2Tools_FIND_QUIETLY)
49
                message(STATUS "PySide2 tools: not found.")
50
        endif (NOT PySide2Tools_FIND_QUIETLY)
51
    endif(PySide2Tools_FIND_REQUIRED)
52
endif()
53

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.