qt - Setting PATH/LD_LIBRARY_PATH for 'make check' with QMake -
i have project setup couple of apps shared library, built nicely using subdirs project, apps depend on shared library.
template = subdirs subdirs = app1 app2 sharedlib app1.depends = sharedlib app2.depends = sharedlib
each app contains number of tests, config += testcase
set.
this creates check
target can run unit test top level .pro using make check
.
the problem of app tests require presence of code within sharedlib, therefore needs discoverable according each platforms library lookup rules.
on windows 1 option have sharedlib location on path
, on linux can add sharedlib location ld_library_path
, on mac dyld_library_path
.
one solution set location of built shared lib before running make check
:
export ld_library_path=$ld_library_path:build/shareddll/ make check
and works, seems little redundant build scripts building shared library know path sharedlib binary location, can referenced within .pro/pri files at:
$$top_builddir/sharedlib/release
so, there anyway set path/ld_library_path/dyld_library_path
within project files purposes of make check
command?
if using gcc, can use rpath parameter of gcc.
-rpath=dir
add directory runtime library search path. used
when linking elf executable shared objects. -rpath
arguments concatenated , passed runtime linker, which
uses them locate shared objects @ runtime.
qmake_cxxflags += -rpath=/the/absolute/path
if use technique, not necessary edit ld_library_path
Comments
Post a Comment