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

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