Skip to content

Build shared libraries by default#1077

Merged
fsimonis merged 4 commits intoprecice:developfrom
fsimonis:shared-by-default
Sep 13, 2021
Merged

Build shared libraries by default#1077
fsimonis merged 4 commits intoprecice:developfrom
fsimonis:shared-by-default

Conversation

@fsimonis
Copy link
Copy Markdown
Member

@fsimonis fsimonis commented Sep 13, 2021

Main changes of this PR

This PR changes the default build type of the preCICE library to shared.

Closes #801

Requires changes of the documentation.

Motivation and additional information

As discussed in #801, our current build configuration is not supported by default.
Having to explicitly change the build type to shared is tedious and unnecessary.
Do to our push towards minimal symbol visibility, using shared libraries should become the way to go in the future.

Supporting static libraries via CMake is still a long term goal.

Author's checklist

  • I added a changelog file with this PR number in docs/changelog/ if there are noteworthy changes.
  • I ran tools/formatting/check-format and everything is formatted correctly.
  • I sticked to C++14 features.
  • I sticked to CMake version 3.10.
  • I squashed / am about to squash all commits that should be seen as one.

Reviewers' checklist

  • Does the changelog entry make sense? Is it formatted correctly?
  • Do you understand the code changes?
  • (more questions/tasks)

@fsimonis fsimonis added the building Improves or extends the building or packaging of preCICE label Sep 13, 2021
@fsimonis fsimonis added this to the Version 2.3.0 milestone Sep 13, 2021
Copy link
Copy Markdown
Member

@MakisH MakisH left a comment

Choose a reason for hiding this comment

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

This will definitely and finally allow people to just run cmake .. && make, without having to first read the documentation. So, this is a huge improvement!

I do not consider this breaking, as the default is anyway not working at the moment. Moreover, all scripts that currently explicitly enable shared objects, will keep working.

We still need to update the documentation on the website.

@fsimonis fsimonis merged commit bb83edc into precice:develop Sep 13, 2021
@fsimonis fsimonis deleted the shared-by-default branch September 13, 2021 16:10
@uekerman
Copy link
Copy Markdown
Member

We still need to update the documentation on the website.

Is somebody already looking into this? Is there an issue?

@MakisH
Copy link
Copy Markdown
Member

MakisH commented Sep 14, 2021

We still need to update the documentation on the website.

Is somebody already looking into this? Is there an issue?

I can do it. We have an issue now: precice/precice.github.io#83

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

building Improves or extends the building or packaging of preCICE

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Build is unsupported by default

4 participants