Skip to content
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

- [libpng] set CMAKE_SYSTEM_PROCESSOR for M1 #6187

Merged
merged 2 commits into from
Jul 8, 2021

Conversation

SSE4
Copy link
Contributor

@SSE4 SSE4 commented Jul 6, 2021

see https://www.gitmemory.com/issue/glennrp/libpng/372/808830443

Specify library name and version: libpng/all

This is also a good place to share with all of us why you are submitting this PR (specially if it is a new addition to ConanCenter): is it a dependency of other libraries you want to package? Are you the author of the library? Thanks!


  • I've read the guidelines for contributing.
  • I've followed the PEP8 style guides for Python code in the recipes.
  • I've used the latest Conan client version.
  • I've tried at least one configuration locally with the
    conan-center hook activated.

Signed-off-by: SSE4 <tomskside@gmail.com>
@SSE4 SSE4 requested a review from uilianries July 6, 2021 04:17
@conan-center-bot

This comment has been minimized.

@conan-center-bot
Copy link
Collaborator

All green in build 2 (1ba6329d42719e1c0ee5c027d2ebf077456fe1c9):

  • libpng/1.6.37@:
    All packages built successfully! (All logs)

Comment on lines +75 to +76
if self.settings.os == "Macos" and self.settings.arch == "armv8":
cmake.definitions["CMAKE_SYSTEM_PROCESSOR"] = "aarch64"
Copy link
Contributor

@SpaceIm SpaceIm Jul 6, 2021

Choose a reason for hiding this comment

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

It fails also for iOS, but I don't know which CMAKE_SYSTEM_PROCESSOR to set.
ok: #2366, maybe this recipe should use autotools for non-Windows platform

Copy link
Contributor

Choose a reason for hiding this comment

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

Well, in fact, this is only required when cross-building (because we are not using toolchain file)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

iOS has different architectures (armv7, armv8 and their variants), so CMAKE_SYSTEM_PROCESSOR will have different values

Copy link
Contributor

Choose a reason for hiding this comment

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

Sure, my suggestion is to force this value only for the cross-building scenario, otherwise, in a native build I would expect it to work out of the box. wdyt?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

as I understand, in native builds CMAKE_SYSTEM_PROCESSOR defaults to CMAKE_HOST_SYSTEM_PROCESSOR which should be auto-detected to aarch64 by cmake itself? still, I don't have ARM M1 laptop to check it, so no idea if it works without explicit definition...

Copy link
Contributor

@SpaceIm SpaceIm Jul 6, 2021

Choose a reason for hiding this comment

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

It works for iOS:

        if tools.is_apple_os(self.settings.os):
            if "arm" in self.settings.arch:
                cmake.definitions["PNG_ARM_NEON"] = "on" if self.settings.os == "Macos" else "off"
            if self.settings.arch == "armv8":
                cmake.definitions["CMAKE_SYSTEM_PROCESSOR"] = "aarch64"

I would expect conan to handle this automatically (except PNG_ARM_NEON of course, here we should switch to autotools, it seems to properly handle neon for iOS).

@conan-center-bot conan-center-bot merged commit 2b522e2 into conan-io:master Jul 8, 2021
AndreyMlashkin pushed a commit to AndreyMlashkin/conan-center-index that referenced this pull request Jul 19, 2021
* - [libpng] set CMAKE_SYSTEM_PROCESSOR for M1

Signed-off-by: SSE4 <tomskside@gmail.com>

* - argh, annoying hook!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants