Skip to content

Commit fe8dfe1

Browse files
authored
Merge pull request #3803 from dakcarto/qt5py3-more-mac-fixes
2 parents c147ee2 + 8c8db0e commit fe8dfe1

File tree

8 files changed

+92
-38
lines changed

8 files changed

+92
-38
lines changed

cmake/FindGRASS.cmake

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,34 @@
44
# Redistribution and use is allowed according to the terms of the BSD license.
55
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
66

7+
# Macro that checks for extra include directories set during GRASS compilation.
8+
# This helps for platforms where GRASS is built against dependencies in
9+
# non-standard locations; like on Mac, where the system gettext is too old and
10+
# GRASS is built off of gettext in /usr/local/opt, or some other custom prefix.
11+
# Such includes may need found again when including some GRASS headers.
12+
13+
MACRO (CHECK_GRASS_EXTRA_INCLUDE_DIRS GRASS_VERSION)
14+
SET(GRASS_EXTRA_INCLUDE_DIRS${GRASS_VERSION} ""
15+
CACHE STRING "Extra includes string used for GRASS${GRASS_VERSION}")
16+
17+
IF(UNIX AND EXISTS ${GRASS_INCLUDE_DIR${GRASS_VERSION}}/Make/Platform.make
18+
AND "${GRASS${GRASS_VERSION}_EXTRA_INCLUDE_DIRS}" STREQUAL "")
19+
20+
FILE(READ ${GRASS_INCLUDE_DIR${GRASS_VERSION}}/Make/Platform.make _platformfile)
21+
STRING(REGEX MATCH "INCLUDE_DIRS *= *[^\n]*" _config_includes "${_platformfile}")
22+
SET(_extra_includes "")
23+
IF(NOT "${_config_includes}" STREQUAL "")
24+
STRING(REGEX REPLACE "INCLUDE_DIRS *= *([^\n]*)" "\\1" _extra_includes "${_config_includes}")
25+
ENDIF()
26+
IF(NOT "${_extra_includes}" STREQUAL "")
27+
SET(GRASS_EXTRA_INCLUDE_DIRS${GRASS_VERSION} ${_extra_includes}
28+
CACHE STRING "Extra includes string used for GRASS${GRASS_VERSION}" FORCE)
29+
ENDIF()
30+
ENDIF()
31+
32+
MARK_AS_ADVANCED (GRASS_EXTRA_INCLUDE_DIRS${GRASS_VERSION})
33+
ENDMACRO (CHECK_GRASS_EXTRA_INCLUDE_DIRS GRASS_VERSION)
34+
735
# macro that checks for grass installation in specified directory
836

937
MACRO (CHECK_GRASS G_PREFIX)
@@ -108,10 +136,12 @@ MACRO (CHECK_GRASS G_PREFIX)
108136
SET(GRASS_FOUND${GRASS_FIND_VERSION} TRUE)
109137
SET(GRASS_FOUND TRUE) # GRASS_FOUND is true if at least one version was found
110138
SET(GRASS_PREFIX${GRASS_CACHE_VERSION} ${G_PREFIX})
139+
CHECK_GRASS_EXTRA_INCLUDE_DIRS(${GRASS_CACHE_VERSION})
111140
IF(GRASS_FIND_VERSION EQUAL 6)
112141
# Set also normal variable with number
113142
SET(GRASS_INCLUDE_DIR${GRASS_FIND_VERSION} ${GRASS_INCLUDE_DIR${GRASS_CACHE_VERSION}})
114143
SET(GRASS_PREFIX${GRASS_FIND_VERSION} ${G_PREFIX})
144+
CHECK_GRASS_EXTRA_INCLUDE_DIRS(${GRASS_FIND_VERSION})
115145
ENDIF(GRASS_FIND_VERSION EQUAL 6)
116146
ENDIF(GRASS_LIBRARIES_FOUND${GRASS_FIND_VERSION})
117147
ENDIF(GRASS_MAJOR_VERSION${GRASS_FIND_VERSION} EQUAL GRASS_FIND_VERSION)

cmake/FindQCA.cmake

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,15 @@ else(QCA_INCLUDE_DIR AND QCA_LIBRARY)
3131
/usr/local/lib
3232
)
3333

34-
if(APPLE)
35-
if(QCA_LIBRARY AND QCA_LIBRARY MATCHES "qca(2)?-qt5\\.framework")
36-
set(QCA_LIBRARY "${QCA_LIBRARY}" CACHE FILEPATH "QCA framework" FORCE)
37-
set(QCA_INCLUDE_DIR "${QCA_LIBRARY}/Headers" CACHE FILEPATH "QCA framework headers" FORCE)
38-
endif()
39-
endif(APPLE)
34+
set(_qca_fw)
35+
if(QCA_LIBRARY MATCHES "/qca.*\\.framework")
36+
string(REGEX REPLACE "^(.*/qca.*\\.framework).*$" "\\1" _qca_fw "${QCA_LIBRARY}")
37+
endif()
4038

4139
find_path(QCA_INCLUDE_DIR
4240
NAMES QtCrypto
4341
PATHS
42+
"${_qca_fw}/Headers"
4443
${LIB_DIR}/include
4544
"$ENV{LIB_DIR}/include"
4645
$ENV{INCLUDE}

cmake/FindQScintilla.cmake

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,14 @@ IF(EXISTS QSCINTILLA_VERSION_STR)
2424
SET(QSCINTILLA_FOUND TRUE)
2525
ELSE(EXISTS QSCINTILLA_VERSION_STR)
2626

27-
FIND_PATH(QSCINTILLA_INCLUDE_DIR
28-
NAMES Qsci/qsciglobal.h
29-
PATHS
30-
${Qt5Core_INCLUDE_DIRS}
31-
"${QT_INCLUDE_DIR}"
32-
/usr/local/include
33-
/usr/include
34-
)
35-
36-
set(QSCINTILLA_LIBRARY_NAMES qscintilla2-qt5 libqt5scintilla2 libqscintilla2-qt5 qt5scintilla2 libqscintilla2-qt5.dylib)
27+
set(QSCINTILLA_LIBRARY_NAMES
28+
qscintilla2-qt5
29+
libqt5scintilla2
30+
libqscintilla2-qt5
31+
qt5scintilla2
32+
libqscintilla2-qt5.dylib
33+
qscintilla2
34+
)
3735

3836
find_library(QSCINTILLA_LIBRARY
3937
NAMES ${QSCINTILLA_LIBRARY_NAMES}
@@ -43,6 +41,21 @@ ELSE(EXISTS QSCINTILLA_VERSION_STR)
4341
/usr/lib
4442
)
4543

44+
set(_qsci_fw)
45+
if(QSCINTILLA_LIBRARY MATCHES "/qscintilla.*\\.framework")
46+
string(REGEX REPLACE "^(.*/qscintilla.*\\.framework).*$" "\\1" _qsci_fw "${QSCINTILLA_LIBRARY}")
47+
endif()
48+
49+
FIND_PATH(QSCINTILLA_INCLUDE_DIR
50+
NAMES Qsci/qsciglobal.h
51+
PATHS
52+
"${_qsci_fw}/Headers"
53+
${Qt5Core_INCLUDE_DIRS}
54+
"${QT_INCLUDE_DIR}"
55+
/usr/local/include
56+
/usr/include
57+
)
58+
4659
IF(QSCINTILLA_LIBRARY AND QSCINTILLA_INCLUDE_DIR)
4760
SET(QSCINTILLA_FOUND TRUE)
4861

cmake/FindQsci.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ ELSE(EXISTS QSCI_MOD_VERSION_STR)
3535
IF(QSCI_FOUND)
3636
FIND_PATH(QSCI_SIP_DIR
3737
NAMES Qsci/qscimod5.sip
38-
PATHS ${PYQT5_SIP_DIR}
38+
PATHS ${PYQT5_SIP_DIR} ${SIP_DEFAULT_SIP_DIR}
3939
)
4040

4141
IF(NOT QSCI_FIND_QUIETLY)

cmake/FindQwt.cmake

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,7 @@
1212
#
1313

1414

15-
FIND_PATH(QWT_INCLUDE_DIR NAMES qwt.h PATHS
16-
/usr/include
17-
/usr/local/include
18-
"$ENV{LIB_DIR}/include"
19-
"$ENV{INCLUDE}"
20-
PATH_SUFFIXES qwt-qt4 qwt qwt5 qwt6
21-
)
22-
23-
set(QWT_LIBRARY_NAMES qwt-qt5 qwt6-qt5)
15+
set(QWT_LIBRARY_NAMES qwt-qt5 qwt6-qt5 qwt)
2416

2517
find_library(QWT_LIBRARY
2618
NAMES ${QWT_LIBRARY_NAMES}
@@ -31,6 +23,20 @@ find_library(QWT_LIBRARY
3123
"$ENV{LIB}"
3224
)
3325

26+
set(_qwt_fw)
27+
if(QWT_LIBRARY MATCHES "/qwt.*\\.framework")
28+
string(REGEX REPLACE "^(.*/qwt.*\\.framework).*$" "\\1" _qwt_fw "${QWT_LIBRARY}")
29+
endif()
30+
31+
FIND_PATH(QWT_INCLUDE_DIR NAMES qwt.h PATHS
32+
"${_qwt_fw}/Headers"
33+
/usr/include
34+
/usr/local/include
35+
"$ENV{LIB_DIR}/include"
36+
"$ENV{INCLUDE}"
37+
PATH_SUFFIXES qwt-qt4 qwt qwt5 qwt6
38+
)
39+
3440
IF (QWT_INCLUDE_DIR AND QWT_LIBRARY)
3541
SET(QWT_FOUND TRUE)
3642
ENDIF (QWT_INCLUDE_DIR AND QWT_LIBRARY)

cmake/FindQwtPolar.cmake

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,27 @@
1212
# QWTPOLAR_INCLUDE_DIR = where to find headers
1313
#
1414

15-
16-
FIND_PATH(QWTPOLAR_INCLUDE_DIR NAMES qwt_polar.h PATHS
17-
/usr/include
18-
/usr/local/include
19-
"$ENV{LIB_DIR}/include"
20-
"$ENV{INCLUDE}"
21-
PATH_SUFFIXES qwtpolar qwt
22-
)
23-
2415
FIND_LIBRARY(QWTPOLAR_LIBRARY NAMES qwtpolar PATHS
2516
/usr/lib
2617
/usr/local/lib
2718
"$ENV{LIB_DIR}/lib"
2819
"$ENV{LIB}/lib"
2920
)
3021

22+
SET(_qwtpolar_fw)
23+
IF (QWTPOLAR_LIBRARY MATCHES "/qwtpolar.*\\.framework")
24+
STRING(REGEX REPLACE "^(.*/qwtpolar.*\\.framework).*$" "\\1" _qwtpolar_fw "${QWTPOLAR_LIBRARY}")
25+
ENDIF ()
26+
27+
FIND_PATH(QWTPOLAR_INCLUDE_DIR NAMES qwt_polar.h PATHS
28+
"${_qwtpolar_fw}/Headers"
29+
/usr/include
30+
/usr/local/include
31+
"$ENV{LIB_DIR}/include"
32+
"$ENV{INCLUDE}"
33+
PATH_SUFFIXES qwtpolar qwt
34+
)
35+
3136
IF (QWTPOLAR_INCLUDE_DIR AND QWTPOLAR_LIBRARY)
3237
SET(QWTPOLAR_FOUND TRUE)
3338
ENDIF (QWTPOLAR_INCLUDE_DIR AND QWTPOLAR_LIBRARY)

python/plugins/processing/algs/help/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
__revision__ = '$Format:%H$'
2525

2626
import os
27+
import codecs
2728
import yaml
2829
from qgis.core import Qgis, QgsWkbTypes
2930
from qgis.PyQt.QtCore import QSettings, QLocale
@@ -35,7 +36,7 @@ def loadShortHelp():
3536
for f in os.listdir(path):
3637
if f.endswith("yaml"):
3738
filename = os.path.join(path, f)
38-
with open(filename) as stream:
39+
with codecs.open(filename, encoding='utf-8') as stream:
3940
h.update(yaml.load(stream))
4041
version = ".".join(Qgis.QGIS_VERSION.split(".")[0:2])
4142
overrideLocale = QSettings().value('locale/overrideFlag', False, bool)

src/plugins/grass/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ MACRO(ADD_GRASSPLUGIN GRASS_BUILD_VERSION)
190190
)
191191

192192
SET_TARGET_PROPERTIES(grassplugin${GRASS_BUILD_VERSION} PROPERTIES
193-
COMPILE_FLAGS "-DGRASS_BASE=\\\"${GRASS_PREFIX}\\\""
193+
COMPILE_FLAGS "-DGRASS_BASE=\\\"${GRASS_PREFIX}\\\" ${GRASS_EXTRA_INCLUDE_DIRS${GRASS_BUILD_VERSION}}"
194194
)
195195

196196
IF(MSVC)
@@ -216,7 +216,7 @@ MACRO(ADD_GRASSPLUGIN GRASS_BUILD_VERSION)
216216
ADD_EXECUTABLE(qgis.g.browser${GRASS_BUILD_VERSION} ${GRASS_BROWSER_SRCS})
217217

218218
SET_TARGET_PROPERTIES(qgis.g.browser${GRASS_BUILD_VERSION} PROPERTIES
219-
COMPILE_FLAGS "-DGRASS_BASE=\\\"${GRASS_PREFIX}\\\""
219+
COMPILE_FLAGS "-DGRASS_BASE=\\\"${GRASS_PREFIX}\\\" ${GRASS_EXTRA_INCLUDE_DIRS${GRASS_BUILD_VERSION}}"
220220
)
221221

222222
TARGET_LINK_LIBRARIES (qgis.g.browser${GRASS_BUILD_VERSION}

0 commit comments

Comments
 (0)