From 4f2dea8ac71485cfb2092a0671c08946b3ad31eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Halkenh=C3=A4user?= Date: Thu, 12 Mar 2026 18:16:36 +0100 Subject: [PATCH] [OpenMP][OMPT] Remove Threads dependency from omptest link interface (#186183) Link against Threads using PRIVATE scope, instead of PUBLIC. Reason: it imposes a transitive dependency on library users. If Threads could not be found this could cause a link error. The issue would manifest, if omptest is used via find_package. Addresses issues with previous PR https://github.com/llvm/llvm-project/pull/185930 --- openmp/tools/omptest/CMakeLists.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/openmp/tools/omptest/CMakeLists.txt b/openmp/tools/omptest/CMakeLists.txt index 9ff71f49b0ab..6e255ea3cb49 100644 --- a/openmp/tools/omptest/CMakeLists.txt +++ b/openmp/tools/omptest/CMakeLists.txt @@ -87,9 +87,10 @@ if ((NOT LIBOMPTEST_BUILD_STANDALONE) OR LIBOMPTEST_BUILD_UNITTESTS) # available to dependant targets, e.g. for unit tests. target_link_libraries(omptest PUBLIC default_gtest) - # Link against Threads (recommended for GTest). + # Link against Threads, which may be required for GTest. + # But keep it out of the link interface to avoid transitive dependencies. find_package(Threads REQUIRED) - target_link_libraries(omptest PUBLIC Threads::Threads) + target_link_libraries(omptest PRIVATE Threads::Threads) # Ensure that embedded GTest symbols are exported from libomptest.so even in # builds that default to hidden.