Skip to content

Support building as a static library#973

Closed
fsimonis wants to merge 6 commits intoprecice:developfrom
fsimonis:fix-cmake-static
Closed

Support building as a static library#973
fsimonis wants to merge 6 commits intoprecice:developfrom
fsimonis:fix-cmake-static

Conversation

@fsimonis
Copy link
Copy Markdown
Member

Main changes of this PR

This PR adds support for CMake to build preCICE as a static library.
The main change is a custom preciceConfig.cmake, which is based on the auto-generated one.

Motivation and additional information

Building CMake as a static library and then using it via the preciceConfig.cmake was not properly supported.
The auto-generated config lists all header-only/interface libraries as link dependencies. This is required as they themself may depend on a static/shared library.
Thus, this required to find dependencies such as jsoncpp, prettyprint, Eigen, NumPy etc.

Related to #801, #677

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 building Improves or extends the building or packaging of preCICE maintainability Working on this will make our lives easier in the long run as preCICE gets easier to maintain. labels Mar 10, 2021
@fsimonis fsimonis added this to the Version 2.3.0 milestone Mar 10, 2021
@fsimonis fsimonis self-assigned this Mar 10, 2021
@fsimonis
Copy link
Copy Markdown
Member Author

I am closing this as this is non-trivial and not requested.

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 maintainability Working on this will make our lives easier in the long run as preCICE gets easier to maintain.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants