Use absolute path to check if FMU exists. #1038
Merged
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.
Solves errors like
error: [addSubModel] file does not exist: "..\..\..\..\..\..\..\..\..\fmus\2.0\cs\win64\Dymola\2019FD01\ControlledTemperature\ControlledTemperature.fmu"
on Windows 10 or
on Ubuntu with wine. Example is from https://libraries.openmodelica.org/fmi-crosschecking/OMSimulator/history/build-v2.1.1-58%202021-03-25/wine64/files/20.cs.Dymola.2019FD01.ControlledTemperature/20.cs.Dymola.2019FD01.ControlledTemperature.log.html
Related Issues
Partial fix for #789, but if the absolute path is still to long there is not much I can do about it. The function in question is
std::filesystem::exists
.Purpose
Fixes
Approach
Convert all paths passed to
addSubModel
to an absolute path before doing anything with it.