Warning, /sdk/heaptrack/src/analyze/gui/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 set(CMAKE_AUTOMOC 1)
0002 
0003 ki18n_wrap_ui(UIFILES
0004     mainwindow.ui
0005 )
0006 
0007 unset(BIN_INSTALL_DIR)
0008 unset(LIB_INSTALL_DIR)
0009 unset(LIBEXEC_INSTALL_DIR)
0010 
0011 include(KDEInstallDirs)
0012 include(KDECMakeSettings)
0013 include(KDECompilerSettings NO_POLICY_SCOPE)
0014 include(ECMAddTests)
0015 include(ECMInstallIcons)
0016 include(ECMAddAppIcon)
0017 
0018 configure_file(gui_config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/gui_config.h)
0019 
0020 add_compile_options(-Wall)
0021 
0022 add_definitions(-DQT_NO_URL_CAST_FROM_STRING
0023     -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII
0024     -DQT_NO_CAST_FROM_BYTEARRAY
0025     -DQT_USE_QSTRINGBUILDER
0026 )
0027 
0028 add_library(heaptrack_gui_private STATIC
0029     util.cpp
0030     parser.cpp
0031 )
0032 target_link_libraries(heaptrack_gui_private PUBLIC
0033     KF${QT_VERSION_MAJOR}::I18n
0034     KF${QT_VERSION_MAJOR}::CoreAddons # KFormat
0035     KF${QT_VERSION_MAJOR}::ThreadWeaver
0036     Qt${QT_VERSION_MAJOR}::Core
0037     sharedprint
0038     pthread
0039     ${CMAKE_THREAD_LIBS_INIT}
0040 )
0041 if (BUILD_COVERAGE)
0042     # FIXME: this should be handled within ECM instead of workarounded here
0043     target_link_libraries(heaptrack_gui_private PRIVATE -lgcov)
0044 endif()
0045 
0046 target_compile_definitions(heaptrack_gui_private PRIVATE TRANSLATION_DOMAIN="heaptrack")
0047 
0048 target_include_directories(heaptrack_gui_private PUBLIC
0049     ${CMAKE_CURRENT_BINARY_DIR}
0050     ${CMAKE_CURRENT_SOURCE_DIR}/../../
0051     ${Boost_INCLUDE_DIRS}
0052 )
0053 
0054 set(SRCFILES
0055     gui.cpp
0056     mainwindow.cpp
0057     treemodel.cpp
0058     treeproxy.cpp
0059     costdelegate.cpp
0060     costheaderview.cpp
0061     flamegraph.cpp
0062     stacksmodel.cpp
0063     topproxy.cpp
0064     callercalleemodel.cpp
0065     proxystyle.cpp
0066     suppressionsmodel.cpp
0067     resources.qrc
0068 )
0069 
0070 ecm_add_app_icon(SRCFILES ICONS
0071     ${CMAKE_CURRENT_SOURCE_DIR}/128-heaptrack_app_icon.png
0072     ${CMAKE_CURRENT_SOURCE_DIR}/512-heaptrack_app_icon.png
0073 )
0074 
0075 set(LIBRARIES
0076     Qt${QT_VERSION_MAJOR}::Widgets
0077     KF${QT_VERSION_MAJOR}::ItemModels
0078     KF${QT_VERSION_MAJOR}::ConfigWidgets
0079     KF${QT_VERSION_MAJOR}::I18n
0080     KF${QT_VERSION_MAJOR}::KIOWidgets
0081     KF${QT_VERSION_MAJOR}::IconThemes
0082     sharedprint
0083     heaptrack_gui_private
0084 )
0085 
0086 if (KChart_FOUND)
0087     list(APPEND SRCFILES
0088         chartwidget.cpp
0089         chartmodel.cpp
0090         chartproxy.cpp
0091         histogramwidget.cpp
0092         histogrammodel.cpp
0093     )
0094     list(APPEND LIBRARIES
0095         ${KChartName}
0096         Qt${QT_VERSION_MAJOR}::Svg
0097     )
0098 endif()
0099 
0100 add_executable(heaptrack_gui
0101     ${SRCFILES}
0102     ${UIFILES}
0103 )
0104 
0105 target_link_libraries(heaptrack_gui
0106     ${LIBRARIES}
0107 )
0108 
0109 install(TARGETS heaptrack_gui
0110     ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}
0111 )
0112 
0113 set_target_properties(heaptrack_gui PROPERTIES
0114     RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/${KDE_INSTALL_BINDIR}"
0115 )
0116 
0117 install(PROGRAMS org.kde.heaptrack.desktop
0118     DESTINATION ${KDE_INSTALL_APPDIR}
0119 )
0120 
0121 install(FILES org.kde.heaptrack.appdata.xml
0122     DESTINATION ${KDE_INSTALL_METAINFODIR}
0123 )
0124 
0125 ecm_install_icons(ICONS
0126   16-apps-heaptrack.png
0127   22-apps-heaptrack.png
0128   32-apps-heaptrack.png
0129   48-apps-heaptrack.png
0130   64-apps-heaptrack.png
0131   128-apps-heaptrack.png
0132   DESTINATION ${KDE_INSTALL_ICONDIR}
0133   THEME hicolor
0134 )