Skip to content

[vcpkg script] Ios support for meson and autotools based ports#25670

Closed
m-kuhn wants to merge 7 commits intomicrosoft:masterfrom
m-kuhn:ios_make_meson
Closed

[vcpkg script] Ios support for meson and autotools based ports#25670
m-kuhn wants to merge 7 commits intomicrosoft:masterfrom
m-kuhn:ios_make_meson

Conversation

@m-kuhn
Copy link
Copy Markdown
Contributor

@m-kuhn m-kuhn commented Jul 10, 2022

Describe the pull request

github-actions[bot]
github-actions bot previously approved these changes Jul 10, 2022
Copy link
Copy Markdown

@github-actions github-actions bot left a 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 vcpkg.json where you should check the license field.

Details

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/freexl/vcpkg.json
  • ports/libtasn1/vcpkg.json

Valid values for the license field can be found in the documentation

@m-kuhn m-kuhn changed the title Synchronize scripts/get_cmake_vars and ports/vcpkg-cmakge-get-vars Ios support for meson and autotools based ports Jul 10, 2022
@LilyWangLL LilyWangLL changed the title Ios support for meson and autotools based ports [vcpkg script] Ios support for meson and autotools based ports Jul 11, 2022
@LilyWangLL LilyWangLL added category:vcpkg-feature The issue is a new capability of the tool that doesn’t already exist and we haven’t committed depends:different-pr This PR or Issue depends on a PR which has been filed labels Jul 11, 2022
@m-kuhn
Copy link
Copy Markdown
Contributor Author

m-kuhn commented Jul 12, 2022

TODO: https://github.com/microsoft/vcpkg/pull/25670/files#diff-b92b07d5c0c681687d71463c6a368fae98e9ffedb241e2aadbde3aac688899a9L362-R379 add a condition on OR VCPKG_TARGET_IS_IOS, which indicates cross compiling even if architectures match.

github-actions[bot]
github-actions bot previously approved these changes Aug 20, 2022
Copy link
Copy Markdown

@github-actions github-actions bot left a 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 vcpkg.json where you should check the license field.

Details

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/freexl/vcpkg.json
  • ports/libtasn1/vcpkg.json

Valid values for the license field can be found in the documentation

Comment on lines 104 to 114
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think arch flags and include like options need to be passed to CPP for all targets not just OSX

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This copies the behavior of meson which depends on CMAKE_OSX_SYSROOT and VCPKG_OSX_ARCHITECTURES which are only available on osx.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you compare the build output of a simple cmake build and tell me if cmake automatically adds those flags. It might be required to export them from get_cmake_vars then.

Copy link
Copy Markdown
Contributor Author

@m-kuhn m-kuhn Aug 31, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There could be some magic along the lines of
#25201 alternatively. This approach is a bit less intrusive and builds on existing practices.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This approach is a bit less intrusive and builds on existing practices.

existing practice is wrong. The flags should come from cmake_get_vars and as far as I can tell they do. So the script itself is outdated.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So #25201 is preferable?

Copy link
Copy Markdown

@github-actions github-actions bot left a 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 vcpkg.json where you should check the license field.

Details

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/freexl/vcpkg.json
  • ports/libtasn1/vcpkg.json

Valid values for the license field can be found in the documentation

@m-kuhn
Copy link
Copy Markdown
Contributor Author

m-kuhn commented Aug 21, 2022

This no longer depends on a different pr
@LilyWangLL @JackBoosY

@JackBoosY JackBoosY removed the depends:different-pr This PR or Issue depends on a PR which has been filed label Aug 22, 2022
@m-kuhn m-kuhn closed this Aug 26, 2022
@m-kuhn m-kuhn reopened this Aug 26, 2022
github-actions[bot]
github-actions bot previously approved these changes Aug 26, 2022
Copy link
Copy Markdown

@github-actions github-actions bot left a 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 vcpkg.json where you should check the license field.

Details

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/freexl/vcpkg.json
  • ports/libtasn1/vcpkg.json

Valid values for the license field can be found in the documentation

Copy link
Copy Markdown

@github-actions github-actions bot left a 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 vcpkg.json where you should check the license field.

Details

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/freexl/vcpkg.json
  • ports/libtasn1/vcpkg.json

Valid values for the license field can be found in the documentation

@m-kuhn
Copy link
Copy Markdown
Contributor Author

m-kuhn commented Aug 28, 2022

Windows builds fail for kglobalaccel which seems to be an unrelated issue. Depending on the presence of x11 related packages it tries to find qt5-x11extras introducing issues based on the order of dependency installation.

If it finds https://github.com/KDE/kglobalaccel/blob/v5.89.0/CMakeLists.txt#L51-L66

Proposal: adjust rule to include qt5-x11extras in kf5globalaccel/vcpkg.json with upstream rule, i.e. include on every platform but apple.

@JackBoosY JackBoosY added the depends:different-pr This PR or Issue depends on a PR which has been filed label Aug 29, 2022
@m-kuhn
Copy link
Copy Markdown
Contributor Author

m-kuhn commented Aug 29, 2022

@JackBoosY this is not dependent on a different PR, #26564 fixes an unrelated issue that surfaced here for reasons beyond my understanding.
On the other hand, #26520 conflicts with this PR and the two approaches should be compared in order to proceed to approval and merge.

@JackBoosY
Copy link
Copy Markdown
Contributor

#26564 fixes an unrelated issue that surfaced here for reasons beyond my understanding.

It means we need to wait for #26564 merge first.

@m-kuhn
Copy link
Copy Markdown
Contributor Author

m-kuhn commented Aug 29, 2022

#26520 (and possibly any world-rebuild) is in the exactly same situation and received an "approval" instead of "depends:different-pr" today.

@m-kuhn
Copy link
Copy Markdown
Contributor Author

m-kuhn commented Aug 29, 2022

Furthermore, there are other osx build issues on both pull requests, which would ideally only be solved by one, not two persons in parallel, hence some coordination between the two approaches would be good and feedback from maintainers would help to identify which has the better potential to be continued.

@JackBoosY
Copy link
Copy Markdown
Contributor

@BillyONeal Do you have any ideas that which PR should we pick between this PR and #26520?

@BillyONeal
Copy link
Copy Markdown
Member

@BillyONeal Do you have any ideas that which PR should we pick between this PR and #26520?

Unfortunately I know very little about autotools or meson or iOS so I don't really feel qualified to add much here.

@m-kuhn
Copy link
Copy Markdown
Contributor Author

m-kuhn commented Aug 31, 2022

I'll try to explain the changes, I think most of them are straightforward

  • Most changes switch conditions on "Darwin" (macOS) to also include "iOS" (either directly or by using the generic APPLE condition), so it enables existing code additionally for iOS
  • There is a portion which is a plain copy of meson, so I think we can trust this code to be in good shape. That's a difference between this and [gettext] fix ios compile, add ios support to vcpkg_configure_make #26520 which instead takes a novel, different approach
  • The ios triplets have been extended with architecture conditions, this is analogue to what the macos triplets already have, so also a harmonization of things. That's another difference between this and [gettext] fix ios compile, add ios support to vcpkg_configure_make #26520 where for ios a different approach is used than for macos (that might be indeed a way to consider but in this case I'd propose to also switch macos handling and drop the architecture bits there)

@JackBoosY JackBoosY removed the depends:different-pr This PR or Issue depends on a PR which has been filed label Sep 1, 2022
Copy link
Copy Markdown

@github-actions github-actions bot left a 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 vcpkg.json where you should check the license field.

Details

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/freexl/vcpkg.json
  • ports/libtasn1/vcpkg.json

Valid values for the license field can be found in the documentation

@JackBoosY
Copy link
Copy Markdown
Contributor

Waiting for merge #26646 and #26687

@JackBoosY JackBoosY added the depends:different-pr This PR or Issue depends on a PR which has been filed label Sep 6, 2022
@m-kuhn
Copy link
Copy Markdown
Contributor Author

m-kuhn commented Sep 6, 2022

Potentially core parts of this are superseded by #26617

@JackBoosY JackBoosY removed the depends:different-pr This PR or Issue depends on a PR which has been filed label Sep 15, 2022
Copy link
Copy Markdown

@github-actions github-actions bot left a 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 vcpkg.json where you should check the license field.

Details

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/freexl/vcpkg.json
  • ports/libtasn1/vcpkg.json

Valid values for the license field can be found in the documentation

@m-kuhn m-kuhn marked this pull request as draft September 15, 2022 04:15
@LilyWangLL
Copy link
Copy Markdown
Contributor

Ping @m-kuhn for response. Is work still being done for this PR? Could you please resolve the conflicts?

@m-kuhn
Copy link
Copy Markdown
Contributor Author

m-kuhn commented Oct 8, 2022

This has been superseded by #26617 and others

@m-kuhn m-kuhn closed this Oct 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category:vcpkg-feature The issue is a new capability of the tool that doesn’t already exist and we haven’t committed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants