-
Notifications
You must be signed in to change notification settings - Fork 6.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[qt5] MinGW build fixes #29505
[qt5] MinGW build fixes #29505
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You have modified or added at least one portfile where deprecated functions are used.
If you feel able to do so, please consider migrating them to the new functions:
vcpkg_install_cmake
-> vcpkg_cmake_install
(from port vcpkg-cmake
)
vcpkg_build_cmake
-> vcpkg_cmake_build
(from port vcpkg-cmake
)
vcpkg_configure_cmake
-> vcpkg_cmake_configure
(Please remove the option PREFER_NINJA
) (from port vcpkg-cmake
)
vcpkg_fixup_cmake_targets
-> vcpkg_cmake_config_fixup
(from port vcpkg-cmake-config
)
vcpkg_extract_source_archive_ex
-> vcpkg_extract_source_archive
vcpkg_build_msbuild
-> vcpkg_install_msbuild
vcpkg_copy_tool_dependencies
-> vcpkg_copy_tools
vcpkg_apply_patches
should be replaced by the PATCHES
arguments to the "extract" helpers (e.g. vcpkg_from_github()
)
In the ports that use the new function, you have to add the corresponding dependencies:
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
The following files are affected:
ports/qt5-base/portfile.cmake
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will test it soon.
ports/qt5-base/patches/mingw9.patch
Outdated
From 4ddbfb68f858aee45cf7c33718f16b6c7b5beed7 Mon Sep 17 00:00:00 2001 | ||
From: Jonas Kvinge <jonas@jkvinge.net> | ||
Date: Mon, 16 Aug 2021 22:01:39 +0200 | ||
Subject: [PATCH] Fix compile with MinGW-W64 9.0.0: Redefinition of 'struct | ||
_FILE_ID_INFO' | ||
|
||
With MinGW-W64 9.0.0, _WIN32_WINNT is set to Windows 10 by default, so | ||
_FILE_ID_INFO is already defined. | ||
|
||
Fixes: QTBUG-94031 | ||
Pick-to: 6.2 | ||
Change-Id: I0b29a4a1932425e1c4079aba6768fe94460c60af | ||
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> | ||
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> | ||
--- | ||
src/corelib/io/qfilesystemengine_win.cpp | 4 ++-- | ||
1 file changed, 2 insertions(+), 2 deletions(-) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In vcpkg, these headers are not desired.
202a484
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You have modified or added at least one portfile where deprecated functions are used.
If you feel able to do so, please consider migrating them to the new functions:
vcpkg_install_cmake
-> vcpkg_cmake_install
(from port vcpkg-cmake
)
vcpkg_build_cmake
-> vcpkg_cmake_build
(from port vcpkg-cmake
)
vcpkg_configure_cmake
-> vcpkg_cmake_configure
(Please remove the option PREFER_NINJA
) (from port vcpkg-cmake
)
vcpkg_fixup_cmake_targets
-> vcpkg_cmake_config_fixup
(from port vcpkg-cmake-config
)
vcpkg_extract_source_archive_ex
-> vcpkg_extract_source_archive
vcpkg_build_msbuild
-> vcpkg_install_msbuild
vcpkg_copy_tool_dependencies
-> vcpkg_copy_tools
vcpkg_apply_patches
should be replaced by the PATCHES
arguments to the "extract" helpers (e.g. vcpkg_from_github()
)
In the ports that use the new function, you have to add the corresponding dependencies:
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
The following files are affected:
ports/qt5-base/portfile.cmake
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You have modified or added at least one portfile where deprecated functions are used.
If you feel able to do so, please consider migrating them to the new functions:
vcpkg_install_cmake
-> vcpkg_cmake_install
(from port vcpkg-cmake
)
vcpkg_build_cmake
-> vcpkg_cmake_build
(from port vcpkg-cmake
)
vcpkg_configure_cmake
-> vcpkg_cmake_configure
(Please remove the option PREFER_NINJA
) (from port vcpkg-cmake
)
vcpkg_fixup_cmake_targets
-> vcpkg_cmake_config_fixup
(from port vcpkg-cmake-config
)
vcpkg_extract_source_archive_ex
-> vcpkg_extract_source_archive
vcpkg_build_msbuild
-> vcpkg_install_msbuild
vcpkg_copy_tool_dependencies
-> vcpkg_copy_tools
vcpkg_apply_patches
should be replaced by the PATCHES
arguments to the "extract" helpers (e.g. vcpkg_from_github()
)
In the ports that use the new function, you have to add the corresponding dependencies:
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
The following files are affected:
ports/qt5-base/portfile.cmake
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You have modified or added at least one portfile where deprecated functions are used.
If you feel able to do so, please consider migrating them to the new functions:
vcpkg_install_cmake
-> vcpkg_cmake_install
(from port vcpkg-cmake
)
vcpkg_build_cmake
-> vcpkg_cmake_build
(from port vcpkg-cmake
)
vcpkg_configure_cmake
-> vcpkg_cmake_configure
(Please remove the option PREFER_NINJA
) (from port vcpkg-cmake
)
vcpkg_fixup_cmake_targets
-> vcpkg_cmake_config_fixup
(from port vcpkg-cmake-config
)
vcpkg_extract_source_archive_ex
-> vcpkg_extract_source_archive
vcpkg_build_msbuild
-> vcpkg_install_msbuild
vcpkg_copy_tool_dependencies
-> vcpkg_copy_tools
vcpkg_apply_patches
should be replaced by the PATCHES
arguments to the "extract" helpers (e.g. vcpkg_from_github()
)
In the ports that use the new function, you have to add the corresponding dependencies:
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
The following files are affected:
ports/qt5-base/portfile.cmake
How well did it build for you? I had two overcome two problems, and will send you a PR soon:
|
@dg0yt, I am building x64-mingw-dynamic triplet. With my changes qt5-base[core] builds without errors and works fine. I have actually never tried the static builds. |
No. The point is that I see the Makefiles generated with |
Mine are with |
You are using a mingw toolchain with less extra tools. |
Ok, I don't mind as long as msys2's make works with niXman compiler. Please, let me know if I can help with something so that Qt 5 MinGW support gets merged sooner. |
Windows-shared needs different options. Patch obsolete.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You have modified or added at least one portfile where deprecated functions are used.
If you feel able to do so, please consider migrating them to the new functions:
vcpkg_install_cmake
-> vcpkg_cmake_install
(from port vcpkg-cmake
)
vcpkg_build_cmake
-> vcpkg_cmake_build
(from port vcpkg-cmake
)
vcpkg_configure_cmake
-> vcpkg_cmake_configure
(Please remove the option PREFER_NINJA
) (from port vcpkg-cmake
)
vcpkg_fixup_cmake_targets
-> vcpkg_cmake_config_fixup
(from port vcpkg-cmake-config
)
vcpkg_extract_source_archive_ex
-> vcpkg_extract_source_archive
vcpkg_build_msbuild
-> vcpkg_install_msbuild
vcpkg_copy_tool_dependencies
-> vcpkg_copy_tools
vcpkg_apply_patches
should be replaced by the PATCHES
arguments to the "extract" helpers (e.g. vcpkg_from_github()
)
In the ports that use the new function, you have to add the corresponding dependencies:
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
The following files are affected:
ports/qt5-base/portfile.cmake
The remaing issue is a little bit tricky, but a serious source of trouble which we must resolve:
I can control all this towards
So the alternatives are:
|
I haven't used msys gcc to build Qt, can you please clarify the following for me to understand better:
Vcpkg itself does not put
How can you do this? How will you remove
Again - Vcpkg itself does not put msys perl in path, i.e. msys perl could be in path only if the user has it beforehand, right?
Maybe this won't be that difficult. It won't hurt if we try to replace both variants. Only one will get actually replaced.
I am not sure if this variant is possible at all, see above questions. How can you (selectively) remove msys
Maybe this will be ok too - if Vcpkg itself, intentionally, puts msys |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You have modified or added at least one portfile where deprecated functions are used.
If you feel able to do so, please consider migrating them to the new functions:
vcpkg_install_cmake
-> vcpkg_cmake_install
(from port vcpkg-cmake
)
vcpkg_build_cmake
-> vcpkg_cmake_build
(from port vcpkg-cmake
)
vcpkg_configure_cmake
-> vcpkg_cmake_configure
(Please remove the option PREFER_NINJA
) (from port vcpkg-cmake
)
vcpkg_fixup_cmake_targets
-> vcpkg_cmake_config_fixup
(from port vcpkg-cmake-config
)
vcpkg_extract_source_archive_ex
-> vcpkg_extract_source_archive
vcpkg_build_msbuild
-> vcpkg_install_msbuild
vcpkg_copy_tool_dependencies
-> vcpkg_copy_tools
vcpkg_apply_patches
should be replaced by the PATCHES
arguments to the "extract" helpers (e.g. vcpkg_from_github()
)
In the ports that use the new function, you have to add the corresponding dependencies:
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
The following files are affected:
ports/qt5-base/portfile.cmake
@FrankXie05 Ready for review. |
./vcpkg x-add-version --all
and committing the result.