Fix FAST_SFunc build using wrong libraries.#1566
Merged
deslaughter merged 6 commits intoOpenFAST:devfrom May 11, 2023
Merged
Conversation
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.
andrew-platt
approved these changes
May 11, 2023
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
dllexportwhen 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 ofnwtclibandservodyn.Impacted areas of the software
CMakeLists.txt for simulink, nwtc-library, openfast-library, servodyn, icefloe.