Project

General

Profile

Actions

Support Request #9863

closed

Loading external DLLs on generating plugindescription not working properly

Added by hidden over 4 years ago. Updated almost 4 years ago.

Status:
Closed
Priority:
Normal
Customer:
AUDI
Department:
EF
Requester's Priority:
Normal
Support Level:
3rd Level
Resolution:
Solved Issue
Affected Products:
Platform:
Windows 10 64bit
Topic:
ADTF::PluginDescription
FAQ Links:

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.

Actions #1

Updated by hidden over 4 years ago

  • Status changed from New to In Progress
Actions #3

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.so
Can 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

Actions #4

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.

Actions #5

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
Actions #8

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
Actions #9

Updated by hidden about 4 years ago

  • Project changed from 11 to Public Support
  • Private changed from Yes to No
Actions

Also available in: Atom PDF