Dyninst now provides <component-install> top-level targets that should
properly install a given component and its dependencies. This should be
reflected in the DyninstConfig.cmake file that's installed, and the test
suite should be properly aware of which components are present/absent
when it builds. This enables you to build and test, for instance, symtabAPI:
cd /path/to/top/level/dyninst
cmake . && make symtabAPI-install
cd /path/to/top/level/testsuite
cmake . && make
<symtab tests build, other tests don't>
Also, there's a new CMake option: ENABLE_STATIC_LIBS, defaulting to
"off", so that you only build static versions of the Dyninst libraries
when you want them. I know this is high on quite a few people's lists.
Finally, there's a new CMake function, dyninst_library, in shared.cmake
that wraps up all of the default per-component stuff that needs to
happen. It's used as follows:
dyninst_library(component_name list_of_dependencies)
It's smart enough to figure out which dependencies are other components
and which aren't. If there are per-platform dependencies (e.g.
libdwarf/libelf) those need to be added separately, either with a
subsequent target_link_libraries or by per-platform changes to the list
of dependencies.
--bw
Bill Williams
Paradyn Project
bill@xxxxxxxxxxx
|