Skip to content

[Core][Apps] Making visibility hidden by default - #13060

Open
roigcarlo wants to merge 114 commits into
masterfrom
core/the-purge
Open

roigcarlo wants to merge 114 commits into
masterfrom
core/the-purge

Conversation

@roigcarlo

@roigcarlo roigcarlo commented Jan 29, 2025 •

Copy link
Copy Markdown
Member

📝 Description
This PR aims to unify the windows and Linux behavior making all symbols in Linux (gcc and llvm based compilers) hidden by default. This will probably help with linking times and linking restrictions (see llvm in win refusing to link targets with more than 65K symbols)

Since exporting template classes with definitions in sources works a bit different (finally i figured out how to make them visible!), some additional decorators will need to be added to several explicit instantiations.

Comments:

  • Changes in find_global_nodal_neighbours_for_entities_process.cpp are not strictly necessary, but is better this way (imo).
  • @KratosMultiphysics/dem DEM application was failing due to a forward declaration of the SphereElement. Please take a look (0e8e547)
  • @KratosMultiphysics/mpi There was an error in the AMGCSolve function as the header was never being used. I made it so it uses the header declaration and the source definition instead of using the definition as a header in the source. Please confirm this was the intended behavior.
  • @AlejandroCornejo CL is mostly yours check everything needed is exposed, I really don't know what is used from outside so I treid to make everything visible but maybe I am missing something used in other apps I don't have access to.

@loumalouomega

Copy link
Copy Markdown
Member

You don't need to kodify KRATOS_API for non MSVC ?

@matekelemen

Copy link
Copy Markdown
Contributor

Oh yes thank you! I got back into compile-heavy development again and was about to tear my nonexistent hair out during linking.

Comment thread CMakeLists.txt Outdated
@loumalouomega

Copy link
Copy Markdown
Member

Almost compiled, just Metis is failing apparently

@roigcarlo

Copy link
Copy Markdown
Member Author

KRATOS_API

Should work as it is rn, I foresaw this when I did the Kratos api, but if some application gets grumpy I will touch it.

@roigcarlo
roigcarlo marked this pull request as ready for review January 30, 2025 11:54
@roigcarlo
roigcarlo requested review from a team as code owners January 30, 2025 11:54
@roigcarlo
roigcarlo requested a review from a team as a code owner January 30, 2025 14:30
@loumalouomega
loumalouomega requested a review from a team as a code owner July 13, 2026 13:09
@loumalouomega

Copy link
Copy Markdown
Member

@roigcarlo now it compiles with Intel LLVM, I need to fix linux, but we did it!

loumalouomega and others added 12 commits July 18, 2026 09:25
…#14565)

* added ReplaceIgnoreUndrainedByDrainageType

* removed a value check for VAN_GENUCHTEN_GL

* included a lock

* removed mutex

* added CalculateInverseBiotModuli with BulkModulusFluid input

* added unit tests

* corrected unit tests

* removed unused function

* removed duplication

* removed GEO_DRAINAGE_TYPE in integration tests

* response to the review

* corrected Transient_Case tests

* changed names

* response to 2nd review comments
Removed PENALTY_ROTATION_FACTOR from material properties.
…ationPointValuesToNodesProcess (#14581)

* added Check

* added unit tests for the introduced checks

* moved checks to Check()

This branch was successfully deployed

1 active deployment
github-pages — 6ddbff8a Deployed Oct 1, 2026 by loumalouomega via deploy #653
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.

Hide all symbols by default [Discussion] Uniform Export Policy?

6 participants