From 5b9d7bcf8f21cd04e5f0c212cb2a824cb8c582cf Mon Sep 17 00:00:00 2001 From: David Galiffi Date: Wed, 11 Sep 2024 14:31:55 -0400 Subject: [PATCH] Test and Enable OMNITRACE_BUILD_DYNINST, if needed Test `find_package(Dyninst)` and if it is not found, then enable OMNITRACE_BUILD_DYNINST and DYNINST_BUILD_{TBB,BOOST,ELFUTILS,LIBIBERTY}. Signed-off-by: David Galiffi --- cmake/Packages.cmake | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/cmake/Packages.cmake b/cmake/Packages.cmake index 13b831314..8054d93c1 100644 --- a/cmake/Packages.cmake +++ b/cmake/Packages.cmake @@ -282,6 +282,23 @@ target_link_libraries(omnitrace-elfutils INTERFACE ${ElfUtils_LIBRARIES}) # # ----------------------------------------------------------------------------------------# +if(NOT OMNITRACE_BUILD_DYNINST) + find_package(Dyninst QUIET + COMPONENTS dyninstAPI parseAPI instructionAPI symtabAPI) + if (NOT Dyninst_FOUND) + # Build DYNINST,TBB,BOOST,ELFUTILS,LIBIBERTY + message(WARNING + "Dyninst not found. Building Dyninst and dependencies from source.") + + set(OMNITRACE_BUILD_DYNINST ON) + set(DYNINST_BUILD_TBB ON) + set(DYNINST_BUILD_BOOST ON) + set(DYNINST_BUILD_ELFUTILS ON) + set(DYNINST_BUILD_LIBIBERTY ON) + + endif() +endif() + if(OMNITRACE_BUILD_DYNINST) omnitrace_checkout_git_submodule( RELATIVE_PATH external/dyninst