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