- 
          
 - 
                Notifications
    
You must be signed in to change notification settings  - Fork 3.2k
 
Add shared library support when building with meson #2918
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
base: devel
Are you sure you want to change the base?
Conversation
Build type will be set by default_library, which default to static. However, shared libraries can be built, by passing -Ddefault_library=shared
          Codecov ReportAll modified and coverable lines are covered by tests ✅ 
 Additional details and impacted files@@           Coverage Diff           @@
##            devel    #2918   +/-   ##
=======================================
  Coverage   90.99%   90.99%           
=======================================
  Files         198      198           
  Lines        8597     8597           
=======================================
  Hits         7822     7822           
  Misses        775      775            | 
    
| 
           Does this handle exporting symbols?  | 
    
| 
           Yes, when running   | 
    
| 
           Or which symbols do you mean?  | 
    
| 
           The important platform for this is Windows. Linux has all symbols visible by default, but Windows uses the better option, which is that all symbols are hidden by default. CMake has WINDOWS_EXPORT_ALL_SYMBOLS for this.  | 
    
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!
          
 There is the  However, this only works when each symbol has the appropriate symbol visibility annotation, which is not the case as far as I can see. There is also no equivalent for   | 
    
Description
Building shared libraries is currently not supported, when building with meson.
This PR enables building shared libraries, by passing
-Ddefault_library=shared.When this option is not passed, a static library is built.