aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2018-06-19 10:07:31 -0700
committerPeter Wu <peter@lekensteyn.nl>2018-06-20 09:19:49 +0000
commitccd2512602913b6b89a98878cbcc16d6c6d3ee1c (patch)
treed19b56ac96a2ed98e61fa78bc9c2d69265150e25
parent1b4b5e59e9afbf9a83e647755ed6b3a2f344464d (diff)
CMake+macOS: Allow the use of ENV{CMAKE_PREFIX_PATH}.
If we find /usr/local/opt/qt5, pass it as a PATHS option to find_package instead of adding it to the CMAKE_PREFIX_PATH CMake variable. This allows setting a Qt path via the CMAKE_PREFIX_PATH environment variable. Change-Id: I5d23fcd092c0ea137482253f3f86c1a6d27f7a5e Reviewed-on: https://code.wireshark.org/review/28341 Reviewed-by: Gerald Combs <gerald@wireshark.org> Petri-Dish: Gerald Combs <gerald@wireshark.org> Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu <peter@lekensteyn.nl>
-rw-r--r--CMakeLists.txt31
1 files changed, 18 insertions, 13 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6aaedaaac0..9ccfeede26 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -251,10 +251,14 @@ if( NOT CMAKE_SYSTEM_NAME STREQUAL "Linux" AND
endif()
if(APPLE AND EXISTS /usr/local/opt/qt5)
- # Homebrew installs Qt5 (up to at least 5.9.1) in
- # /usr/local/qt5, ensure it can be found by CMake since
- # it is not in the default /usr/local prefix.
- list(APPEND CMAKE_PREFIX_PATH "/usr/local/opt/qt5")
+ # Homebrew installs Qt5 (up to at least 5.11.0) in
+ # /usr/local/qt5. Ensure that it can be found by CMake
+ # since it is not in the default /usr/local prefix.
+ # Add it to PATHS so that it doesn't override the
+ # CMAKE_PREFIX_PATH environment variable.
+ # QT_FIND_PACKAGE_OPTIONS should be passed to find_package,
+ # e.g. find_package(Qt5Core ${QT_FIND_PACKAGE_OPTIONS})
+ set (QT_FIND_PACKAGE_OPTIONS PATHS /usr/local/opt/qt5)
endif()
# Always enable position-independent code when compiling, even for
@@ -547,7 +551,7 @@ else() # ! MSVC
set(CXX_WARN_FLAGS
)
- find_package(Qt5Core) # Needed to check for Qt version
+ find_package(Qt5Core ${QT_FIND_PACKAGE_OPTIONS}) # Needed to check for Qt version
if (Qt5Core_VERSION VERSION_GREATER 5.8)
# The Qt headers in version 5.8 and older generate a ton of shortening
# errors on 64-bit systems so only enable this for version 5.9 and greater.
@@ -906,6 +910,7 @@ if(BUILD_wireshark)
set( QT5_BASE_PATH "$ENV{QT5_BASE_DIR}" )
set( CMAKE_PREFIX_PATH "${QT5_BASE_PATH}" )
endif()
+ list (INSERT QT_FIND_PACKAGE_OPTIONS 0 REQUIRED)
set(PACKAGELIST ${PACKAGELIST}
Qt5Core
Qt5LinguistTools
@@ -914,19 +919,19 @@ if(BUILD_wireshark)
Qt5Svg
Qt5Widgets
)
- set(Qt5Core_OPTIONS REQUIRED)
- set(Qt5LinguistTools_OPTIONS REQUIRED)
- set(Qt5Multimedia_OPTIONS REQUIRED)
- set(Qt5PrintSupport_OPTIONS REQUIRED)
- set(Qt5Svg_OPTIONS REQUIRED)
- set(Qt5Widgets_OPTIONS REQUIRED)
+ set(Qt5Core_OPTIONS ${QT_FIND_PACKAGE_OPTIONS})
+ set(Qt5LinguistTools_OPTIONS ${QT_FIND_PACKAGE_OPTIONS})
+ set(Qt5Multimedia_OPTIONS ${QT_FIND_PACKAGE_OPTIONS})
+ set(Qt5PrintSupport_OPTIONS ${QT_FIND_PACKAGE_OPTIONS})
+ set(Qt5Svg_OPTIONS ${QT_FIND_PACKAGE_OPTIONS})
+ set(Qt5Widgets_OPTIONS ${QT_FIND_PACKAGE_OPTIONS})
if (APPLE)
set(PACKAGELIST ${PACKAGELIST} Qt5MacExtras)
- set(Qt5MacExtras_OPTIONS REQUIRED)
+ set(Qt5MacExtras_OPTIONS ${QT_FIND_PACKAGE_OPTIONS})
endif()
if( WIN32 )
set(PACKAGELIST ${PACKAGELIST} Qt5WinExtras)
- set(Qt5WinExtras_OPTIONS REQUIRED)
+ set(Qt5WinExtras_OPTIONS ${QT_FIND_PACKAGE_OPTIONS})
endif()
endif()