-
-
Notifications
You must be signed in to change notification settings - Fork 23
/
FindPyQt.cmake
68 lines (54 loc) · 1.62 KB
/
FindPyQt.cmake
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
# FindPyQt
# -------
# Result Variables
# ^^^^^^^^^^^^^^^^
# This will define the following variables:
# ``PyQt_FOUND``
# True if the system has PyQt sip files.
# ``PyQt_INCLUDE_DIRS``
# The directory containing PyQt sip files.
# ``PyQt_FLAGS``
# The required flags to compile generated c++ files.
# Cache Variables
# ^^^^^^^^^^^^^^^
# The following cache variables may also be set:
# ``PyQt_INCLUDE_DIR``
# The directory containing PyQt sip files.
execute_process(
COMMAND ${Python3_EXECUTABLE} -c "import sys; sys.stdout.write(sys.prefix)"
OUTPUT_VARIABLE _Python3_PREFIX
OUTPUT_STRIP_TRAILING_WHITESPACE
)
set( _PyQt_HINTS
"${_Python3_PREFIX}/share/python3-sip"
"${_Python3_PREFIX}/share/sip"
"${Python3_SITELIB}"
"${Python3_SITEARCH}"
)
find_path( PyQt_INCLUDE_DIR
NAMES "QtCore/QtCoremod.sip"
HINTS ${_PyQt_HINTS}
PATH_SUFFIXES "PyQt5" "PyQt5/bindings"
)
execute_process(
COMMAND ${Python3_EXECUTABLE} -c "from PyQt5.QtCore import PYQT_CONFIGURATION;import sys;sys.stdout.write(PYQT_CONFIGURATION['sip_flags'].replace(' ',';'))"
OUTPUT_VARIABLE PyQt_FLAGS
OUTPUT_STRIP_TRAILING_WHITESPACE
)
execute_process(
COMMAND ${Python3_EXECUTABLE} -c "from PyQt5.QtCore import PYQT_VERSION_STR;import sys;sys.stdout.write(PYQT_VERSION_STR)"
OUTPUT_VARIABLE PyQt_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE
)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(PyQt
FOUND_VAR PyQt_FOUND
REQUIRED_VARS
PyQt_INCLUDE_DIR
PyQt_FLAGS
VERSION_VAR PyQt_VERSION
)
if( PyQt_FOUND )
set( PyQt_INCLUDE_DIRS ${PyQt_INCLUDE_DIR} )
endif()
mark_as_advanced( PyQt_INCLUDE_DIR )