summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorDavid Faure <faure@kde.org>2024-04-05 23:43:33 (GMT)
committerBrad King <brad.king@kitware.com>2024-04-15 17:27:23 (GMT)
commit9433755e5dda33d078f8ca7070ba1f9113448b99 (patch)
tree8837cbb5332fd54577410c00a18480c57f599a20 /Modules
parentaefd952085b54089e20b51fabf2ebf926e886fa9 (diff)
downloadCMake-9433755e5dda33d078f8ca7070ba1f9113448b99.zip
CMake-9433755e5dda33d078f8ca7070ba1f9113448b99.tar.gz
CMake-9433755e5dda33d078f8ca7070ba1f9113448b99.tar.bz2
FindBacktrace: Add imported library
This is to avoid (a future version of) Qt from having to wrap FindBacktrace like [1]. [1] https://code.qt.io/cgit/qt/qtbase.git/tree/cmake/FindWrapBacktrace.cmake
Diffstat (limited to 'Modules')
-rw-r--r--Modules/FindBacktrace.cmake22
1 files changed, 22 insertions, 0 deletions
diff --git a/Modules/FindBacktrace.cmake b/Modules/FindBacktrace.cmake
index 46b62d2..4d3186c 100644
--- a/Modules/FindBacktrace.cmake
+++ b/Modules/FindBacktrace.cmake
@@ -36,6 +36,17 @@ with the contents like the following::
#endif
And then reference that generated header file in actual source.
+
+Imported Targets
+^^^^^^^^^^^^^^^^
+
+.. versionadded:: 3.30
+
+This module defines the following :prop_tgt:`IMPORTED` targets:
+
+``Backtrace::Backtrace``
+ An interface library providing usage requirements for the found components.
+
#]=======================================================================]
include(CMakePushCheckState)
@@ -89,3 +100,14 @@ set(Backtrace_HEADER "${_Backtrace_HEADER_TRY}" CACHE STRING "Header providing b
find_package_handle_standard_args(Backtrace FOUND_VAR Backtrace_FOUND REQUIRED_VARS ${_Backtrace_STD_ARGS})
mark_as_advanced(Backtrace_HEADER Backtrace_INCLUDE_DIR Backtrace_LIBRARY)
+
+if(Backtrace_FOUND AND NOT TARGET Backtrace::Backtrace)
+ if(Backtrace_LIBRARY)
+ add_library(Backtrace::Backtrace UNKNOWN IMPORTED)
+ set_property(TARGET Backtrace::Backtrace PROPERTY IMPORTED_LOCATION "${Backtrace_LIBRARY}")
+ else()
+ add_library(Backtrace::Backtrace INTERFACE IMPORTED)
+ target_link_libraries(Backtrace::Backtrace INTERFACE ${Backtrace_LIBRARIES})
+ endif()
+ target_include_directories(Backtrace::Backtrace INTERFACE ${Backtrace_INCLUDE_DIRS})
+endif()