How to prepend CMAKE_LIBRARY_OUTPUT_DIRECTORY to QCoreApplication::libraryPaths() ?

Elvis Angelaccio elvis.angelaccio at kde.org
Sun Mar 11 11:08:27 UTC 2018


Hi,
I have a weird crash in ark if I enable the target generation in the bin 
subfolder [1].
The problem is that QCoreApplication::libraryPaths() returns the following 
list:

    ark.kerfuffle: ("/usr/lib/qt/plugins", 
"/home/elvis/dev/kde/ark/build/bin")

which means that ark loads first its system-wide plugins, while it should 
load first the plugins form its build dir.

ECM has code that fixes this problem for test targets [2]. 
I tried to do the same to all the ark targets (main executable, kerfuffle 
library, plugins), but it doesn't work. 
Commit message in [2] by David says:

    "This of course requires running the unittests via ctest rather than 
launching the executable directly."

Does that mean that ctest has some magic that adjusts the library paths?
Is it possible to do the same with normal executables?

Cheers,
Elvis

[1]: 
https://community.kde.org/Guidelines_and_HOWTOs/Making_apps_run_uninstalled
[2]: 
https://cgit.kde.org/extra-cmake-modules.git/commit/?id=f7707bb546bc2a115b821dd7bcaa1e234e70acbc


More information about the Kde-buildsystem mailing list