diff --git a/ports/qt5-base/cmake/qt_fix_makefile_install.cmake b/ports/qt5-base/cmake/qt_fix_makefile_install.cmake index 4f5171443729ba..98fd70e9eb62ae 100644 --- a/ports/qt5-base/cmake/qt_fix_makefile_install.cmake +++ b/ports/qt5-base/cmake/qt_fix_makefile_install.cmake @@ -1,34 +1,33 @@ #Could probably be a vcpkg_fix_makefile_install for other ports? function(qt_fix_makefile_install BUILD_DIR) #Fix the installation location - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" NATIVE_INSTALLED_DIR) - file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR) - - if(WIN32) - string(SUBSTRING "${NATIVE_INSTALLED_DIR}" 2 -1 INSTALLED_DIR_WITHOUT_DRIVE) - string(SUBSTRING "${NATIVE_PACKAGES_DIR}" 2 -1 PACKAGES_DIR_WITHOUT_DRIVE) + set(MSYS_HACK "") + if(VCPKG_HOST_IS_WINDOWS) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" NATIVE_INSTALLED_DIR) + file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR) + if(VCPKG_TARGET_IS_MINGW) + set(MSYS_HACK ":@msyshack@%=%") + file(STRINGS "${BUILD_DIR}/Makefile" using_sh REGEX "= rm -f") + if(using_sh) + set(NATIVE_INSTALLED_DIR "${CURRENT_INSTALLED_DIR}") + set(NATIVE_PACKAGES_DIR "${CURRENT_PACKAGES_DIR}") + endif() + endif() string(SUBSTRING "${NATIVE_INSTALLED_DIR}" 0 2 INSTALLED_DRIVE) string(SUBSTRING "${NATIVE_PACKAGES_DIR}" 0 2 PACKAGES_DRIVE) + string(SUBSTRING "${NATIVE_INSTALLED_DIR}" 2 -1 INSTALLED_DIR_WITHOUT_DRIVE) + string(SUBSTRING "${NATIVE_PACKAGES_DIR}" 2 -1 PACKAGES_DIR_WITHOUT_DRIVE) else() - set(INSTALLED_DRIVE) - set(PACKAGES_DRIVE) - set(INSTALLED_DIR_WITHOUT_DRIVE ${NATIVE_INSTALLED_DIR}) - set(PACKAGES_DIR_WITHOUT_DRIVE ${NATIVE_PACKAGES_DIR}) + set(INSTALLED_DRIVE "") + set(PACKAGES_DRIVE "") + set(INSTALLED_DIR_WITHOUT_DRIVE "${CURRENT_INSTALLED_DIR}") + set(PACKAGES_DIR_WITHOUT_DRIVE "${CURRENT_PACKAGES_DIR}") endif() + set(installed "${INSTALLED_DRIVE}$(INSTALL_ROOT${MSYS_HACK})${INSTALLED_DIR_WITHOUT_DRIVE}") + set(packages "${PACKAGES_DRIVE}$(INSTALL_ROOT${MSYS_HACK})${PACKAGES_DIR_WITHOUT_DRIVE}") - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" NATIVE_INSTALLED_DIR) - file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR) - file(GLOB_RECURSE MAKEFILES "${BUILD_DIR}/*Makefile*") - foreach(MAKEFILE ${MAKEFILES}) - file(READ "${MAKEFILE}" _contents) - #Set the correct install directory to packages - if(VCPKG_TARGET_IS_MINGW) - string(REPLACE "${INSTALLED_DRIVE}$(INSTALL_ROOT:@msyshack@%=%)${INSTALLED_DIR_WITHOUT_DRIVE}" "${PACKAGES_DRIVE}$(INSTALL_ROOT:@msyshack@%=%)${PACKAGES_DIR_WITHOUT_DRIVE}" _contents "${_contents}") - else() - string(REPLACE "${INSTALLED_DRIVE}$(INSTALL_ROOT)${INSTALLED_DIR_WITHOUT_DRIVE}" "${PACKAGES_DRIVE}$(INSTALL_ROOT)${PACKAGES_DIR_WITHOUT_DRIVE}" _contents "${_contents}") - endif() - file(WRITE "${MAKEFILE}" "${_contents}") + vcpkg_replace_string("${MAKEFILE}" "${installed}" "${packages}") endforeach() -endfunction() \ No newline at end of file +endfunction() diff --git a/ports/qt5-base/portfile.cmake b/ports/qt5-base/portfile.cmake index e719433e224c1d..2408adb07be89d 100644 --- a/ports/qt5-base/portfile.cmake +++ b/ports/qt5-base/portfile.cmake @@ -9,6 +9,8 @@ qt5-base for qt5-x11extras requires several libraries from the system package ma for a complete list of them. ]] ) +elseif(VCPKG_TARGET_IS_MINGW AND CMAKE_HOST_WIN32) + find_program(MINGW32_MAKE mingw32-make PATHS ENV PATH NO_DEFAULT_PATH REQUIRED) endif() list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) diff --git a/versions/q-/qt5-base.json b/versions/q-/qt5-base.json index 54996820c7b72b..56844c39872f58 100644 --- a/versions/q-/qt5-base.json +++ b/versions/q-/qt5-base.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "b06e17fe21f78cf4f8b29f38583a90dc90749815", + "git-tree": "1528baab40fce203129dc361128135b453e1ecb1", "version": "5.15.8", "port-version": 4 },