From 67d4a1ca6199dee69fa24f325526a995e5ec9693 Mon Sep 17 00:00:00 2001 From: Tres Finocchiaro Date: Mon, 10 Feb 2025 02:06:21 -0500 Subject: [PATCH] Improve Qt5 detection on macOS (#7699) * Improve Qt5 detection on macOS --- .github/workflows/build.yml | 1 - cmake/modules/DetectMachine.cmake | 29 ++++++++++++++++++++--------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index dba43292d..d15cf93b9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -206,7 +206,6 @@ jobs: mkdir build cmake -S . \ -B build \ - -DCMAKE_PREFIX_PATH="$(brew --prefix qt@5)" \ -DCMAKE_OSX_ARCHITECTURES=${{ matrix.arch }} \ $CMAKE_OPTS \ -DUSE_WERROR=OFF diff --git a/cmake/modules/DetectMachine.cmake b/cmake/modules/DetectMachine.cmake index 8d6b84af4..7c3da342c 100644 --- a/cmake/modules/DetectMachine.cmake +++ b/cmake/modules/DetectMachine.cmake @@ -165,15 +165,26 @@ IF(LMMS_BUILD_APPLE) # Detect Homebrew versus Macports environment EXECUTE_PROCESS(COMMAND brew --prefix RESULT_VARIABLE DETECT_HOMEBREW OUTPUT_VARIABLE HOMEBREW_PREFIX ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) EXECUTE_PROCESS(COMMAND which port RESULT_VARIABLE DETECT_MACPORTS OUTPUT_VARIABLE MACPORTS_PREFIX ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) - IF(${DETECT_HOMEBREW} EQUAL 0) - SET(HOMEBREW 1) - SET(APPLE_PREFIX "${HOMEBREW_PREFIX}") - ELSEIF(${DETECT_MACPORTS} EQUAL 0) - SET(MACPORTS 1) - GET_FILENAME_COMPONENT(MACPORTS_PREFIX ${MACPORTS_PREFIX} DIRECTORY) - GET_FILENAME_COMPONENT(MACPORTS_PREFIX ${MACPORTS_PREFIX} DIRECTORY) - SET(APPLE_PREFIX "${MACPORTS_PREFIX}") - LINK_DIRECTORIES(${LINK_DIRECTORIES} ${APPLE_PREFIX}/lib) + IF(DETECT_HOMEBREW EQUAL 0) + SET(HOMEBREW 1) + SET(APPLE_PREFIX "${HOMEBREW_PREFIX}") + # Configure Qt + SET(Qt5_DIR "${HOMEBREW_PREFIX}/opt/qt@5/lib/cmake/Qt5") + SET(Qt5Test_DIR "${HOMEBREW_PREFIX}/opt/qt@5/lib/cmake/Qt5Test") + SET(Qt6_DIR "${HOMEBREW_PREFIX}/opt/qt@6/lib/cmake/Qt6") + SET(Qt6Test_DIR "${HOMEBREW_PREFIX}/opt/qt@6/lib/cmake/Qt6Test") + ELSEIF(DETECT_MACPORTS EQUAL 0) + SET(MACPORTS 1) + # move up two directories + GET_FILENAME_COMPONENT(MACPORTS_PREFIX "${MACPORTS_PREFIX}" DIRECTORY) + GET_FILENAME_COMPONENT(MACPORTS_PREFIX "${MACPORTS_PREFIX}" DIRECTORY) + SET(APPLE_PREFIX "${MACPORTS_PREFIX}") + # Configure Qt + SET(Qt5_DIR "${MACPORTS_PREFIX}/lib/cmake/Qt5") + SET(Qt5Test_DIR "${MACPORTS_PREFIX}/lib/cmake/Qt5Test") + SET(Qt6_DIR "${MACPORTS_PREFIX}/lib/cmake/Qt6") + SET(Qt6Test_DIR "${MACPORTS_PREFIX}/lib/cmake/Qt6Test") + LINK_DIRECTORIES(${LINK_DIRECTORIES} ${APPLE_PREFIX}/lib) ENDIF() # Detect OS Version