Warning, /frameworks/kcrash/src/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 add_library(KF6Crash)
0002 add_library(KF6::Crash ALIAS KF6Crash)
0003 
0004 set_target_properties(KF6Crash PROPERTIES
0005     VERSION     ${KCRASH_VERSION}
0006     SOVERSION   ${KCRASH_SOVERSION}
0007     EXPORT_NAME Crash
0008 )
0009 
0010 target_sources(KF6Crash PRIVATE
0011     coreconfig.cpp
0012     coreconfig_p.h
0013     kcrash.cpp
0014     kcrash.h
0015     metadata.cpp
0016     metadata_p.h
0017     exception.cpp
0018 )
0019 
0020 kde_source_files_enable_exceptions(exception.cpp)
0021 
0022 configure_file(
0023     ${CMAKE_CURRENT_SOURCE_DIR}/config-kcrash.h.cmake
0024     ${CMAKE_CURRENT_BINARY_DIR}/config-kcrash.h
0025 )
0026 
0027 ecm_qt_declare_logging_category(
0028     KF6Crash
0029     HEADER kcrash_debug.h
0030     IDENTIFIER LOG_KCRASH
0031     CATEGORY_NAME kf.crash
0032     OLD_CATEGORY_NAMES org.kde.kcrash
0033     DESCRIPTION "KCrash"
0034     EXPORT KCRASH
0035 )
0036 
0037 ecm_generate_export_header(KF6Crash
0038     BASE_NAME KCrash
0039     GROUP_BASE_NAME KF
0040     VERSION ${KF_VERSION}
0041     USE_VERSION_HEADER
0042     DEPRECATED_BASE_VERSION 0
0043 )
0044 
0045 target_include_directories(KF6Crash INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KCrash>")
0046 
0047 target_link_libraries(KF6Crash PUBLIC Qt6::Core)
0048 target_link_libraries(KF6Crash PRIVATE Qt6::Gui KF6::CoreAddons)
0049 
0050 # FIXME: It is needed to work around undefined reference error on FreeBSD
0051 # caused by --no-undefined because the `environ' variable does not exist
0052 # in libc.so.7 -- it is in crt1.o, and so not available to shared
0053 # libraries. We just drop the normal no-undefined flag for library building
0054 # here, on the assumption that Linux CI will catch any *actual* undefineds.
0055 if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
0056     string(REPLACE "-Wl,--no-undefined" "" CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
0057 endif ()
0058 
0059 if(WITH_X11)
0060     target_link_libraries(KF6Crash PRIVATE X11::X11)
0061 endif()
0062 
0063 ecm_generate_headers(KCrash_HEADERS
0064   HEADER_NAMES
0065   KCrash
0066 
0067   REQUIRED_HEADERS KCrash_HEADERS
0068 )
0069 
0070 install(TARGETS KF6Crash EXPORT KF6CrashTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
0071 
0072 install(FILES
0073   ${CMAKE_CURRENT_BINARY_DIR}/kcrash_export.h
0074   ${KCrash_HEADERS}
0075   DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KCrash COMPONENT Devel
0076 )
0077 
0078 ecm_qt_install_logging_categories(
0079     EXPORT KCRASH
0080     FILE kcrash.categories
0081     DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
0082 )
0083 
0084 if(BUILD_QCH)
0085     ecm_add_qch(
0086         KF6Crash_QCH
0087         NAME KCrash
0088         BASE_NAME KF6Crash
0089         VERSION ${KF_VERSION}
0090         ORG_DOMAIN org.kde
0091         SOURCES # using only public headers, to cover only public API
0092             ${KCrash_HEADERS}
0093         MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
0094         LINK_QCHS
0095             Qt6Core_QCH
0096         INCLUDE_DIRS
0097             ${CMAKE_CURRENT_BINARY_DIR}
0098         BLANK_MACROS
0099             KCRASH_EXPORT
0100             KCRASH_DEPRECATED
0101             KCRASH_DEPRECATED_EXPORT
0102         TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0103         QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0104         COMPONENT Devel
0105     )
0106 endif()
0107