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

Enable Define Module in Build Settings #1451

Merged
merged 2 commits into from
May 24, 2020
Merged

Enable Define Module in Build Settings #1451

merged 2 commits into from
May 24, 2020

Conversation

daniele-pizziconi
Copy link
Contributor

Rationale:
Enabling "Define Module" will trigger an automatic generation of the module.modulemap (https://clang.llvm.org/docs/Modules.html#id16), essential file to be able to use Kingfisher in libraries (that expose Kingfisher interfaces), which in turn will be used by Obj-c libraries/apps.
This is affecting both SPM and Carthage usage, not CocoaPods since the latter will enable 'Define Module' in case of hybrid (objc-swift) consumer apps.

…ingfisher in libraries imported in objc project.
@onevcat
Copy link
Owner

onevcat commented May 21, 2020

It seems that this PR fails the build now. I am not sure about the impact on current projects if we apply this. But I'd like to keep an eye to see the possibility.

@daniele-pizziconi
Copy link
Contributor Author

daniele-pizziconi commented May 21, 2020

@onevcat, I've fixed the broken build. I had to enable CLANG_ENABLE_MODULES, a setting complementary with the DEFINE_MODULES. A good impact of these changes, is that we'll be able to use Kingfisher in hybrid contexts without the need to manually inject a modulemap :).

@onevcat onevcat merged commit b440623 into onevcat:master May 24, 2020
skoduricg pushed a commit to rentpath/Kingfisher that referenced this pull request Sep 24, 2021
Enable Define Module in Build Settings
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.

2 participants