Bug #1292

Do not set EXTERNAL_INCLUDE_COMMANDS in rsc/rst.pc.in by default

Added by S. Herbrechtsmeier almost 11 years ago. Updated over 10 years ago.

Status:FeedbackStart date:12/11/2012
Priority:NormalDue date:
Assignee:-% Done:


Target version:-


The external include commands are not needed by default and are workarounds for external problems. Additionally it doesn't work with the PKG_CONFIG_SYSROOT_DIR option of pkg-config which is useful when cross compiling packages.

Related issues

Related to Robotics Service Bus - Bug #1441: Better handling of dependencies without pc file, e. g. bo... New 02/27/2013


#1 Updated by Anonymous almost 11 years ago

  • Status changed from New to Feedback

Are the external problems that you mention missing pc files of the dependencies? Or is there more?

#2 Updated by S. Herbrechtsmeier almost 11 years ago

Arne Nordmann wrote:

Are the external problems that you mention missing pc files of the dependencies? Or is there more?

Normally you don't need external include paths. They are only needed if you links again code with is not in the default paths. Therefore they should not be needed by default. Especially should the paths not include the current PKG_CONFIG_SYSROOT_DIR as this is add dynamically to -I and -L flags by pkg-config.

#3 Updated by S. Herbrechtsmeier over 10 years ago

I have investigated the problem more and it comes from the CMake usage of libraries. It always use absolute paths but this is not common in pc files on standard installation (/usr/lib). They should only use -L and -I for the path and -lname for the library name. Additionally pkg-config eliminate the -L and -I option for the default paths. The pkg-config tool prepends the PKG_CONFIG_SYSROOT_DIR to all -L and -I paths and thereby simplify the cross compiling on different places. CMake only supports updating of paths via find_xxx functions. Therefore it would be the best if the ProjectConfig.cmake file use find_module to determine the absolute library and include path of the depends during compile time or use find_file on all paths which allows the cross compiler to manipulate the paths.

#4 Updated by J. Wienke over 10 years ago

Arne, is this solved with your recent pc changes?

Also available in: Atom PDF