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

Fix FAST_SFunc build using wrong libraries. #1566

Merged
merged 6 commits into from
May 11, 2023

Conversation

deslaughter
Copy link
Collaborator

This pull request is ready to be merged once all tests pass.

Feature or improvement description
Building the Matlab MEX file picked up the wrong system library so output wasn't going to the terminal in MATLAB. This commit fixes the problem by linking directly to the correct libraries. Some duplication exists
in specifying libraries in the glue-codes/simulink/CMakeLists.txt file. Matlab specific versions of nwtclibs and servodyn are built and linked. This also resolves a warning about dllexport when building the MEX file.

A CMake error message was added to the main CMakeLists.txt indicating the the Simulink API cannot be built with BUILD_SHARED_LIBS=ON. The MEX file needs to be statically linked to the OpenFAST libraries to deal with the Matlab specific versions of nwtclib and servodyn.

Impacted areas of the software
CMakeLists.txt for simulink, nwtc-library, openfast-library, servodyn, icefloe.

andrew-platt and others added 6 commits May 10, 2023 09:36
I'm feeling lazy and don't want to got through updating VS and reinstalling a newer OneAPI.  We don't actually use anything that requires above toolset v120 and we do have some users running older systems.
This isn't needed and may cause issues for people on older versions
Simulink requires the use of the mexPrintf function to write to screen, but the matlab system files in the library were not getting picked up correctly.
Building the Matlab MEX file picked up the wrong system library so
output wasn't going to the terminal. This commit fixes the problem
by linking directly to the correct libraries. Some duplication
exists
in specifying libraries in the glue-codes/simulink/CMakeLists.txt file.
Matlab specific versions of nwtclibs and servodyn are built and linked.
@deslaughter deslaughter changed the base branch from rc-3.5.0 to dev May 11, 2023 19:17
@deslaughter deslaughter merged commit 54770bb into OpenFAST:dev May 11, 2023
@deslaughter deslaughter deleted the b/cmake-matlab branch May 11, 2023 19:43
@andrew-platt andrew-platt mentioned this pull request May 12, 2023
19 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants