-
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
Add efsw #25448
Add efsw #25448
Conversation
This comment has been minimized.
This comment has been minimized.
Uuuuh, why does it not work? I've added the if self.settings.os in ["Linux", "FreeBSD"]:
self.cpp_info.system_libs.append("pthread") but it still does not find pthread? |
This comment has been minimized.
This comment has been minimized.
Co-authored-by: Alex Trotta <[email protected]>
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This seems to be a problem due to missing cocoa? How do we add that, via system libs? |
You want self.cpp_info.frameworks = ["Cocoa"] Also, the test package uses C++17 (filesystem), hence the build failure. That's odd, since EFSW only requires C++11. This is probably one of those cases where we shouldn't make test package a proper example, but just a simple test to make sure it compiles and links. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Hooks produced the following warnings for commit c86e4f4efsw/1.4.0@#b2112d6899069f72505a55802b5e7f9f
|
Co-authored-by: Alex Trotta <[email protected]>
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.
Thanks! This looks good now on my end :) Sorry for the delay on getting it reviewed.
Also thanks @Ahajha for the extra help, appreciated 🫶
This comment has been minimized.
This comment has been minimized.
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.
A few minor nitpicks, but nothing worth blocking for:
- Add a blank line between
configure()
andvalidate()
- Don't use
main(void)
in C++, justmain()
is fine - A few stray comments from the template could probably be removed
- Test package shouldn't require C++17
Co-authored-by: Alex Trotta <[email protected]>
Co-authored-by: Alex Trotta <[email protected]>
This comment has been minimized.
This comment has been minimized.
Conan v1 pipeline ✔️Warning Conan Center will stop receiving updates for Conan 1.x packages soon - please see announcement. All green in build 12 (
Conan v2 pipeline ✔️
All green in build 12 (
|
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.
LGTM
@AbrilRBS what is the status on this? |
It just needs one more approval, we can probably ping someone next week |
@Ahajha oooh so your approval doesn't count? Sad ._. xD |
Yea, in theory I could be a community reviewer eventually but it's not a big deal for me. Then my approval would count. For now it's basically just a small thumbs up :) |
maybe @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.
Thanks! (Reapproving with the new CI pipelien)
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.
Thank you for your PR!
Due the Conan 1.x end-of-support in CCI, I would request updating the recipe to be Conan 2.x only: #25461
if self.settings.get_safe("compiler.cppstd"): | ||
check_min_cppstd(self, 11) |
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.
if self.settings.get_safe("compiler.cppstd"): | |
check_min_cppstd(self, 11) | |
check_min_cppstd(self, 11) |
For Conan 2.x, it's expected cppstd always.
|
||
def config_options(self): | ||
if self.settings.os == "Windows": | ||
del self.options.fPIC | ||
|
||
def configure(self): | ||
if self.options.shared: | ||
self.options.rm_safe("fPIC") |
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.
def config_options(self): | |
if self.settings.os == "Windows": | |
del self.options.fPIC | |
def configure(self): | |
if self.options.shared: | |
self.options.rm_safe("fPIC") | |
implements = ["auto_shared_fpic"] |
Simplify using implements: https://docs.conan.io/2/reference/conanfile/attributes.html#implements
tc = CMakeToolchain(self) | ||
if is_msvc(self): | ||
tc.variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) | ||
tc.variables["BUILD_TEST_APP"] = False |
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.
tc.variables["BUILD_TEST_APP"] = False | |
tc.variables["BUILD_TEST_APP"] = False | |
tc.variables["BUILD_STATIC_LIBS"] = False |
Avoid building repeated static library "efsw-static.a"
import os | ||
|
||
|
||
required_conan_version = ">=1.53.0" |
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.
required_conan_version = ">=1.53.0" | |
required_conan_version = ">=2.1" |
Implements is available since 2.0.9
The upstream enforces fpic always: https://github.com/SpartanJ/efsw/blob/1.4.0/CMakeLists.txt#L139 |
Summary
Changes to recipe: efsw/1.4.0
Motivation
This recipe was missing and requested.