From b5eb77a5520b130b172567fd0d96754d11d737ce Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Tue, 19 Jan 2021 17:17:40 +0100 Subject: Fix framework path for *_header_check targets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When building a Qt module against an installer-provided Qt on macOS, the module pulls in the headersclean feature that creates the *_header_check targets. Those targets try to compile the public headers of the module, and the compilation command contains the -iframework argument. That -iframework argument is supposed to point to the directory where the Qt libs are installed. However, it pointed to the original CMAKE_INSTALL_PREFIX of the machine where Qt was packaged. Use the QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX variable instead that contains the real installation location, even for an installer-provided Qt. Fixes: QTBUG-90402 Change-Id: I27de8b3cc816488c2716042383b334d5c421452d Reviewed-by: Tor Arne Vestbø (cherry picked from commit bd8d74e0e265297d61fe3b42f71a282bf381c379) Reviewed-by: Qt Cherry-pick Bot --- cmake/QtHeadersClean.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/QtHeadersClean.cmake b/cmake/QtHeadersClean.cmake index e9cd956d2e..9cb11dddd1 100644 --- a/cmake/QtHeadersClean.cmake +++ b/cmake/QtHeadersClean.cmake @@ -157,7 +157,7 @@ function(qt_internal_add_headers_clean_target # For some reason CMake doesn't generate -iframework flags from the INCLUDE_DIRECTORIES # generator expression we provide, so pass it explicitly and hope for the best. list(APPEND framework_includes - "-iframework" "${CMAKE_INSTALL_PREFIX}/${INSTALL_LIBDIR}") + "-iframework" "${QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX}/${INSTALL_LIBDIR}") endif() foreach(header ${hclean_headers}) -- cgit v1.2.3