Support Request #9863
closedLoading external DLLs on generating plugindescription not working properly
Description
trying to generate the pd for a filter with cmake macro "adtf_create_plugindescription" fails, if the filter needs external dlls to load.
DEPENDENT_DYNAMIC_LIBS argument seems broken in line adtfmacros.cmake:462
set(DYN_LIB_ARGS ${DYN_LIB_ARGS} --dynamic-link ${DYN_LIB_RESOLVED_PATH})
set command misses quotation marks. this also seems broken more set commands within the file.
it is also very unconvient, that every single dll must be added, which might be dozens. it would be much better, if it is possible the expand the path variable with custom search dirs for external dlls, e.g. with env command within the cmake_custom_target directive at line adtfmacros.cmake:486
Resolution
The presumed defect resolved itself and a product issue for a related feature request has been opened.
Updated by hidden over 4 years ago
Hi Falk,
Thanks for your feedback.
I had a look at the macro itself as well as the command line it generates for different DEPENDENT_DYNAMIC_LIBS - both appear sane.
Quotes around library paths containing spaces are added by CMake as expected.
For reference, this is the macro invocation I used:
adtf_create_plugindescription( TARGET ${EXAMPLE_TARGETNAME} PLUGIN_SUBDIR "src/examples/bin" DEPENDENT_DYNAMIC_LIBS "/home/ww/somefile.so" "/home/ww/some file with spaces.so" "relative.so" )
This is the command line generated by cmake:
C:\dev\adtf\master\package\bin\debug\adtf_plugin_description_generator.exe --plugin C:/dev/adtf/master/package/src/examples/bin/debug/demo_custom_stream_type_filters.adtfplugin --output C:/dev/adtf/master/debug/build/src/examples/src/adtf/filters/standard_filters/custom_stream_type/$(Configuration)/demo_custom_stream_type_filters.plugindescription --dynamic-link C:/home/ww/somefile.so --dynamic-link "C:/home/ww/some file with spaces.so" --dynamic-link C:/dev/adtf/master/source/src/examples/src/adtf/filters/standard_filters/custom_stream_type/relative.soCan you provide more information on your issue, specifically the following snippets:
- the invocation of the macro
- the generated command line (Located in the properties of <YourSoltuion>/<YourProject>_pdgen/CMake Rules/<YourProject>.plugindescription.rule)
- any error message you encounter
Your proposal to support search paths would indeed increase convenience and we will look into it.
Extending the PATH variable on Windows seems reasonable.
Linux may be trickier due to our current reliance on RPATH for resolving Qt dependencies which prevents us from using LD_LIBRARY_PATH to implement this feature.
Regards
Wolfgang
Updated by hidden over 4 years ago
Hi,
retried it and command line looks ok now. would be nice to get the path feature soon. thanks, problem no longer appears.
Updated by hidden over 4 years ago
- Description updated (diff)
- Status changed from In Progress to To Be Closed
- Topic set to ADTF::PluginDescription
- Resolution set to Solved Issue
- Product Issue Numbers set to https://www.cip.audi.de/jira/browse/ACORE-10339
- Platform Windows 10 64bit added
Updated by hidden about 4 years ago
- Subject changed from cMake PDGEN - loading external DLLs on generating plugindescription not working properly to Loading external DLLs on generating plugindescription not working properly
- Status changed from To Be Closed to Closed
- Support Level changed from 2nd Level to 3rd Level
Updated by hidden about 4 years ago
- Project changed from 11 to Public Support
- Private changed from Yes to No