diff options
author | David Faure <faure@kde.org> | 2024-04-05 23:43:33 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2024-04-15 17:27:23 (GMT) |
commit | 9433755e5dda33d078f8ca7070ba1f9113448b99 (patch) | |
tree | 8837cbb5332fd54577410c00a18480c57f599a20 /Modules | |
parent | aefd952085b54089e20b51fabf2ebf926e886fa9 (diff) | |
download | CMake-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.cmake | 22 |
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() |