-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
[magnum] Builds for emsdk #7412
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
I am not sure I understand what's the problem.
in cases 2 and 3 we always can raise |
@@ -391,6 +434,12 @@ def _patch_sources(self): | |||
"EGL::EGL", | |||
"egl::egl") | |||
|
|||
# Copy FindOpenGLES2/3.cmake to build folder | |||
shutil.copy(os.path.join(self._source_subfolder, "modules", "FindOpenGLES2.cmake"), "FindOpenGLES2.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.
shouldn't we remove them? we don't package CMake modules.
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.
This is not being packaged. I´m just reusing the file that the library provides. I really don't know if/how to create a Conan package for it, I don't have enough experience with it... is this a different package? Is the same opengl
package we have?
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 think GLES are considered different entities from OpenGL.
why doesn't it find them if they aren't copied?
isn't it enough to adjust CMAKE_MODULE_PATH
/CMAKE_PREFIX_PATH
?
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.
why doesn't it find them if they aren't copied?
isn't it enough to adjust CMAKE_MODULE_PATH/CMAKE_PREFIX_PATH?
In the sources repo, these files are in a directory together with other FindXXXX
files (https://github.com/mosra/magnum/tree/master/modules), that directory is removed from CMAKE_MODULE_PATH/CMAKE_PREFIX_PATH
in the recipe. We don't need the rest of them as we are providing those files with Conan.
set(MAGNUM_TARGET_VK 1) | ||
endif() | ||
|
||
-if(CORRADE_TARGET_EMSCRIPTEN) |
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.
why not needed? what does UseEmscripten
do?
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.
The source of the patch is documented, and the reasons are explained by the library author himself: mosra/magnum#490. Basically he was providing his own Emscripten toolchain in the past because the official ones were quite unstable. New versions already remove this custom toolchain.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Failure in build 7 (
Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability. |
@@ -433,7 +482,7 @@ def package(self): | |||
endif() | |||
""".format(target=target, library=library))) | |||
|
|||
tools.rmdir(os.path.join(self.package_folder, "share")) | |||
tools.rmdir(os.path.join(self.package_folder, "share", "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.
tools.rmdir(os.path.join(self.package_folder, "share", "cmake")) | |
tools.rmdir(os.path.join(self.package_folder, "share", "cmake")) | |
tools.rmdir(os.path.join(self.package_folder, "share")) |
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.
[HOOK - conan-center.py] post_package(): ERROR: [DEFAULT PACKAGE LAYOUT (KB-H013)] Unknown folder 'share' in the package (https://github.com/conan-io/conan-center-index/blob/master/docs/error_knowledge_base.md#KB-H013)
ERROR: [HOOK - conan-center.py] post_package(): Some checks failed running the hook, check the output
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.
Inside share
there is a folder magnum
with some files that are distributed together with the library. I can move them to a different place, or modify the hook to accept them. Wdyt @uilianries ?
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 would suggest res
folder, as it's managed by Conan. Of course, need to check if does not break the project with some hardcoded expected path.
BTW great job with Magnum, it's not an usual recipe and require a lot of effort. |
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
This pull request has been automatically closed because it has not had recent activity. Thank you for your contributions. |
Specify library name and version: lib/1.0
After: #7410
With these options disabled, it builds (running Macos)... I'm not sure how to organize it. There are options that don't make sense in Emscripten, others that just fail, others that might fail because some requirement is not prepared. Asking for help about how to organize it (ping @SSE4 ).
profile:host